EKsumic's Blog

let today = new Beginning();

Click the left button to use the catalog.

OR

[Unity]从零开始认识C#脚本

参考方案:以官方的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 重复函数 具体请看→这里  

This article was last edited at 2020-07-26 01:46:55

* *