lhy关注{{ followText }}
累计获得2赞
现在有两种下载控制器的途径:要么得到包含工程的.zip文件,要么是.unitypackage文件。例子工程中包含了一个例子场景,应用到了我们的角色控制器。下载角色控制器 不管是打开工程文件还是导入unitypackage,都会有一个目录下存放着核心代码,叫做SuperCharacterController®。目录下有一个RPGController文件夹包含了fholm编写的用于创建网格树的类,一个README文件,一个Math3d类(byBitBarrelMedia),DebugDraw类(by Ro
在经历了一个月的沉默之后,这次等待终于结束!再也不用忍受每天一早醒来怀着期待立刻打开我闪瞎狗眼的博客,而后得到的却是灵魂坠落深渊的失落…在接着上次之后,我开发了角色控制器的第一个版本,而且我会这这里讲讲它的实现。这篇文章会专门讲控制器,在下一篇里,我看看如何应用控制器到我建好的Demo角色上。控制器本身是一个C#脚本,可以在这里下载。像之前的往后推的例子所讲的(系列文章Part 2),我用到了一些来自fholm的RPG项目中的类,同时改了他用来寻找最近点的类,叫做SuperCollision.cs。另外
到目前为止,我讲了几个物理API,但是我们还没有谈到细节。相信机智的读者看到标题之后都已经猜到了,这就是接下来要讨论的。我们会讨论函数的可用性,分析会遇到的问题,以及相应的解决方案。像之前一样,我尽可能避免造轮子,这里会大量参考fholm的帖子。物理API 由于很多函数都有很多变种,所以这里就不花太多时间在物理文档上。我不打算枯燥地把所有API都讲一遍,它们之间的差别无非就是光线是否打中物体就结束之类的。 Raycast: 打出一条指定方向与长度(也许无限远)的射线。如果有一个对象被打中了,就可以从
现在我们了解了角色控制器的基本碰撞处理,接下来马上就演示如何在Unity中实现上一章所展示的效果。 在开始以前,先确保你的Unity是否已经完成下载安装。这篇文章中所使用的版本是Unity 4.3.4f1。(检查Unity版本的方法是Help->About Unity)打开一个现有的工程或者创建一个新的来开始这篇教程。创建一个新的场景(Scene),然后创建一个立方体(Cube)和一个球体(Sphere)。虽然我们最终会用胶囊体作为我们的控制器形状,但是刚开始还是让事情保持简单一些。将球体命名为Pla
在使用Unity开发了多个项目之后,我得出了两个结论:第一个就是,对于所有对游戏开发感兴趣的人来讲,Unity都是一个非常好的引擎。第二个就是其内建的Character Controller非常糟糕。在关于自定义角色控制器的工作上,已经持续了数周,查找相关资料是非常困难的。自从我找不到可读资料起,我就打算自己写一些资料。计划分享一下自己所学到的以及所处理的问题。在实现方面,我会使用上面提到的Unity游戏引擎来开发。你可以在这里访问他们的网站,以及这里下载他们最新的版本。我实在很喜欢用Unity。它在处
Lockstep Implementation in Unity3D – Part 2概览 在上次实现的帧同步模型当中,游戏帧率和通信频率(也就是帧同步长度)长度是固定间隔的。但实际上,每个玩家的延迟和性能都不同的。在update中会跟踪两个变量。第一个是玩家通信的时长。第二个则是游戏的性能时长。移动平均数 为了处理延迟上的波动,我们想快速增加帧同步回合的时长,同时也想在低延迟的时候减少。如果游戏更新的节奏能够根据延迟的测量结果自动调节,而不是固定值的话,会使得游戏玩起来更加顺畅。我们可以累加所有的过去
在帧同步模型中,每个客户端都会对整个游戏世界进行模拟。这种方法的好处在于减少了需要发送的信息。帧同步只需要发送用户的输入信息,而对于反过来的中心服务器模型来说,单位的信息则发送越频繁越好。 比如说你在游戏世界中移动角色。在中心服务器模型中,物理模拟只会在服务器执行。客户端告诉服务器,角色要往哪个方向移动。服务器会执行寻路而且开始移动角色。服务器紧接着就会尽可能频繁地告知每个客户端该角色的位置。对于游戏世界中的每个角色都要运行这样的过程。对于实时策略游戏来说,同步成千上万的单位在中心服务器模型中几乎是不
玩了多年的魔兽、Dota,带来了很多快乐,想八卦一下实现。本来打算自己分析的,由于网上已经有很多资料了,这里把相关的资料做个汇总。 欢迎同学补充,可以在联系中给我留言,或者在评论中回复,我会陆续加上。策划设计 讲的是第一代,也很有参考价值。 The Making of Warcraft Part 1 The Making of Warcraft Part 2 The Making of Warcraft Part 3 中文版: Patrick Wyatt:魔兽争霸的制作过程 1 Patr
以下总结一部分来自经验之谈,一部分来自其他人的分享。总的来讲,Unity开发原型和效果、验证想法,确实是无比便利。可能一个月就把核心玩法做得差不多。强大的编辑器功能让我们也有很大的可扩展空间来协助我们开发工具。可是编辑器是把双刃剑。如果提前看清楚有什么坑在前面,或者其他人踩过什么坑。我想这会对项目风险的把控会有很大帮助。 ##避开unity的坑 1. 尽可能制作抽象的prefab来做关卡编辑,该prefab应该足够抽象简单(只有一个GameObject,然后通过Gizmo来绘制是个不错的手段),否则以
http://jjyy.guru/unity3d-lock-step-part-2/Lockstep Implementation in Unity3D – Part 2概览在上次实现的帧同步模型当中,游戏帧率和通信频率(也就是帧同步长度)长度是固定间隔的。但实际上,每个玩家的延迟和性能都不同的。在update中会跟踪两个变量。第一个是玩家通信的时长。第二个则是游戏的性能时长。移动平均数为了处理延迟上的波动,我们想快速增加帧同步回合的时长,同时也想在低延迟的时候减少。如果游戏更新的节奏能够根据延迟的测量结果
这个家伙已过上与世隔绝的生活~