研究一下Unity3d自带的AngryBots项目,了解基本的游戏运行机制: 1
人物的动作控制逻辑 ***Player对象*** [外形] Player对象里有一个对象具有Skinned Mesh Renderer组件,该组件使用的Mesh名为main_player_lorez
类似的还有表达武器的,名为main_weapon001的GameObject
[操作]: (InputManager) **移动** 定义: 移动在InputManager里添加了2种操作方式: 水平移动,名为 Horizontal 垂直移动,名为 Vertical 并设置了一些属性,比如对应的按键,加速度,类型等等
在脚本(PlayerMoveController
js)里,通过Input
GetAxis(“Horizontal”) 和 Input
GetAxis(“Vertical”)获得玩家的按键状态转化成的运动方向
并储存在MovementMotor
js脚本定义的movementDirection变量里
实现: Player添加了RigidBody组件,该组件提供了按物理规律改变 GameObject的Transform的能力
在FreeMovementMotor
js脚本里,定义了一些参数,用于和 movementDirection一起,计算出作用于 RigidBody对象上的力(Force)
角色就开始向指定方向移动了
**面向(facingDirection)** 直接使用Input
mousePosition作为屏幕坐标,用角色所在位置定义一个平面,求得射线焦点,将该角色所在位置到该点的方向作为面向
并储存在MovementMotor
js脚本定义的facingDirection变量里
[动作播放]:Player Animation(Script)(Playe