读一读

Rigidbody的velocity会提供给刚体一个速度,带方向

angularVelocity 角速度


在私有变量前加特性[SerializeField],可以在编辑器中拖拽赋值

[SerializeField]
private int Hp;

因为Time.deltaTime受到时间缩放因子的影响,所以使用Time.unscaleDeltaTime

FPS = (int)(1f/Time.unscaleDeltaTime);


在简单的场景中,帧率很高超过100是没有必要的,设置Application.targetFrameRate属性来调整最大帧率,设置-1为不限制


FixedUpdate不受帧率的影响

打开Edit/Project Settings/Time

调整Fixed Timestep来决定几秒执行一次FixedUpdate

这个要权衡Update,提高FixedUpdate,则降低Update的帧率


Color.Lerp(Color.white,Color.yellow,t);

计算结果:(b-a)*t+a,t[0,1]

Math.Lerp可以是向量,颜色,float等


Random.Range(0.1f,0.5f);

Random是工具类,提供很多随机数的方法,Range是一个重载方法。根据参数类型返回相应类型的随机数。

随机数包前不包后,除非min和max相等


Unity的Coroutines实际创建一个iterator,当通过StartCoroutine方法开启协程时,它会储存下来,一直请求下一项每一帧直到完成。yield用来区分item,在你实际要做的事情和迭代器要做之间


GameObject默认的Pivot一般为中心点,So要把两个子父体对象的正方体GameObject粘在一起,则子正方体相对父正方体要移动(父边长+子边长)/2


transform.parent = parent.transform;