参考方案:以官方的Standard Assets的ThirdPersonCharacter.cs为例。
最基础的C#请看这里→C#入门基础(一)
ThirdPersonCharacter.cs | ||||
代码块 | 简介 | 用法(补充) | 放置位置 | |
01 | [RequireComponent(typeof(Rigidbody))] [RequireComponent(typeof(CapsuleCollider))] [RequireComponent(typeof(Animator))] |
请求组件,当挂上脚本的时候,会帮你添加这3个组件 | [RequireComponent(typeof(XXX))],改写XXX部分 | 继承MonoBehaviour的类外面 |
02 | [SerializeField] | 在面板序列化显示,但不想其它脚本访问它 | 直接加在变量前面,具体请看→这里 | 继承MonoBehaviour的类的类里面,方法的外面 |
03 | [Range(1f, 4f)] | 规定变量的范围,在面板会出现可以拖动的调节器 | 直接加在变量前面,具体请看→这里 | 继承MonoBehaviour的类的类里面,方法的外面 |
04 |
Rigidbody CapsuleCollider Animator |
物理相关,定义物体的重量等信息 | 这3个是Unity为你准备好的类,你可以正常使用类的方式,来使用它。 | 一般作为类声明,当然不止这3个,相对于胶囊碰撞体,还有一个立方体的碰撞体 |
胶囊碰撞体,用于碰撞检测 | ||||
动画状态机 | ||||
05 | m_Animator = GetComponent<Animator>(); | 用于获得组件变量 | 基础C#用法 | void Start()方法里面 |
06 | m_Rigidbody.constraints = RigidbodyConstraints.FreezeRotationX | RigidbodyConstraints.FreezeRotationY | RigidbodyConstraints.FreezeRotationZ; | 用于冻结XYZ轴,和你自己在面板上勾选一样 | 如代码所示 | void Start()方法里面 |
07 | Vector3 | 向量 | 预设类,具体介绍请看→这里 | 在类或方法里面 |
08 | magnitude | 向量的长度 | 固有属性,直接可以点出来 | 在Vector3变量后面 |
09 | Normalize() | 转化为单位向量 | 当不需要比较向量大小的时候使用 | 在Vector3变量后面 |
10 | InverseTransformDirection() | 世界坐标→本地坐标 | 具体请看→这里 | 接transform后面 |
11 | transform | 固有变量 | 详细介绍→这里 | 在方法里面 |
12 | RaycastHit | 存储Ray返回信息 | 需先声明RaycastHit,详情请看→这里 | 在类或方法里面 |
13 | Debug.DrawLine | 画线 | 只有2个参数,具体请看→这里 | 必须在方法里面 |
14 | Physics.Raycast | 射线 | 详细介绍→这里 | 在方法里面 |
15 | applyRootMotion | 应用根部运动 | 具体介绍→applyRootMotion深度解析 | 在方法里面 |
16 | Vector3.ProjectOnPlane | 获得投影向量 | 详情点击→这里 | 在类或方法里面 |
17 | Mathf.Atan2 | 获得弧度 | 根据正切值,计算弧度,具体请看→这里 | |
18 | Mathf.Lerp | 获得进度值 | 根据百分比,获得一个区间值,具体介绍→这里 | |
19 | m_Animator.GetCurrentAnimatorStateInfo(0) | 获得当前动画信息 | 具体请看→这里 | |
20 | Rigidbody.velocity | 物理速度 | 瞬间给物体一个恒定的速度,具体请看→这里 | |
21 | m_Capsule.radius | 胶囊体半径 | 一张图解释→这里 | |
22 | m_Rigidbody.position | 刚体位置 | 具体介绍→这里 | |
23 | Physics.SphereCast | 球状射线 | 具体请看→这里 | |
24 | Physics.AllLayers | 所有层级 | ||
25 | QueryTriggerInteraction.Ignore | 忽略已Trigger的 | ||
26 | m_Animator.SetFloat | 设置浮点数 | 动画状态机的专用设定值方法,通过Script来控制动画状态。 | |
27 | m_Animator.SetBool | 设置布尔数 | ||
28 | Mathf.Repeat | 重复函数 | 具体请看→这里 |
Today's comments have reached the limit. If you want to comment, please wait until tomorrow (UTC-Time).
There is 18h57m32s left until you can comment.