《unity》实现对游戏人物的控制
2018-03-17 21:57
1521 查看
unity角色控制
在开始对角色实施控制前,我们来梳理下完成角色控制的思路:
首先,对于一个角色,我们需要 绑定模型动作 添加行为 绑定摄像机与角色的关系。
这三部分组成了player主体 :
为模型添加 行为(behaviour) 后,模型会对玩家的行为做出反馈。为模型添加 动画(Animator)后,模型会播放"行为"所对应的动画.
摄像机(camera)是玩家的视角,是游戏的表现形式。
一,绑定模型动画:
各位可以在网上找到大量已绑定骨骼带动画的模型。导入后,在资源窗口中调用,如我们将模型拖入场景中,
此时再将模型的贴图直接拖拽至模型上,unity会自动生成材质。我们可以对材质进行编辑
现在我们完成了模型导入工作,现在我们开始对模型进行动画绑定。
我们选中模型,在组件窗口添加animator组件。
animator组件要求 一个 动画控制器(animator controller) 角色骨骼(avatar,带动画的模型自带)
二,添加行为 我们设定了模型动画,速度为零时(默认状态),播放idle动作(等待),
速度大于零时(由默认状态到状态一),播放跑动动作。
血量为零时(某状态跳转至死亡状态),播放死亡动画。
但这里有个问题,那就是动画是播放了,可是人物的实际位置并没有发生变化。
血量变量是有了,可是要怎么控制血量。
那就得通过写脚本(unity以c#为脚本语言)来解决了。
通过 transform.Translate(方向*速度*帧率)实现角色位移,乘上帧率是为了避免帧率对速度的影响。
通过在脚本上定义变量,用public将其暴露出来给unity,结合“ 动画控制器” 用于状态判断。
(如人物速度speed暴露给控制器后,控制器用其作为判断条件,通过不断的判断,在不同的状态间快速跳转,实现动画播放与人物位移同步)
三,镜头(camera)控制
镜头的设置就大有学问了,镜头所看到的便是玩家所看到的。第一人称还是第三人称又或者是上帝视角,这就完全取决于制作者对镜头的设置。
镜头也是需要通过脚本来控制的。
我们也可以在镜头上添加滤镜,对色彩饱和度等进行调节。
角色控制实现:
第三视角
相关文章推荐
- #游戏unity-音之国度#实现语音控制
- Unity2D - 2. 实现基本的人物移动控制和碰撞检测
- Unity2D - 4. 实现android虚拟摇杆控制人物移动
- Unity 3D 游戏中实现人物头上血条(血条是在 overlay 的 canvas 下)
- Unity实现点击地面控制人物移动
- C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(四)实现2D人物动画①
- Unity 通过点击屏幕控制人物移动
- unity实现3d摇杆 结合leapmotion控制实现VR场景移动
- Unity人物三连击Animator实现
- unity 手游 3D人物的移动控制
- 坦克游戏教程二:实现坦克移动以及方向控制
- Unity 3D 中实现对物体 位置(position) 旋转(rotation) 大小(scale) 的全面控制
- Unity3D下 仙剑奇侠传三 人物移动及视角控制的尝试实现及补充
- Unity控制人物跳跃的小问题。(人物不跳的原因总结)
- Unity游戏状态脚本控制思考
- Cocos2D实现RPG游戏人物地图行走的跟随效果
- C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(四)实现2D人物动画①
- Unity中UGUI人物血条跟随的几种实现方式(一)
- unity简单人物控制
- Unity中游戏暂停和开始怎么实现?