unity3d Character Controller
@by 广州小龙
做3D跑酷游戏,也慢慢的学习了一些东西,从开发过程中积累了一些小的知识点跟大家分享一下!
1.
这个Revert按钮的意思是,可以把这个gameobject恢复到初始状态!
2.Input.GetAxis(string name);
返回值类型:float
参数:Horizontal,Vertial,Mouse X,Mouse Y
其中Horizontal,Vertical默认对应键盘上的左右、上下键,返回值为-1或1
Mouse X,Mouse Y对应鼠标位置,返回值不定
以上都是在Unity3d中预定义好的映射,可以通过Edit->Project Settings->Input来重新定义映射
3.transform.TransformDirection
转载自 http://hi.baidu.com/blues_master/item/e3a90dcb1d9658d59744527c
看转载讲解的非常细致,容易深刻理解!
这个方法是指的把 本地坐标转化为某个物体的世界坐标
比如有个车,它目前是朝向正前方的,那么它可以通过Vector3.forward来向前移动,那么前面车有个转角,车旋转了90度,那么如果还通过Vector3.forward来向前的话,就不对了,所以我们需要用
transoform.TransformDirection来变换他的方向!
具体代码是 transform.TransformDirection(Vector3.forward)
4.做3D跑酷
对人物加Character Controller组件!
如果使用了Character Controller组件,那么这个人物不具备Rigidbody的属性,需要自己模拟物体特性,用重力gravity即可!
使用Character Controller的Move方法可以实现跳跃以及行走!