物理: Physics
Box2d
Unity 内置NVDIA PhysX物理引擎
刚体:要使一个物体在物理控制下,简单添加一个刚体给它。这时,物体将受重力影响,并可以与其他物体碰撞。
Tips :不应该父子同时具有刚体,
不应该缩放刚体的父级
Kinematic Rigidbodies 运动学刚体:
运动学刚体不受力,重力或碰撞影响,它们通过设置变换或动画的位置和旋转参数显式驱动。
当运动学刚体与其他刚体碰撞时,正确将之唤醒,这样受物理引擎的控制。(只需要简单的取消 isKinematic属性)
Rigidbody.AddForce 添加力 ,AddTorque()
添加一个力到刚体。作用结果刚体将开始移动。
在处理物理逻辑的时候把代码放在了FixedUpdate里,而不用Update?
Update()和 FixedUpdate()在游戏中都会在更新的时候自动循环调用。
但是
Update是在每次渲染新的一帧的时候才会调用,也就是说,这个函数的更新频率和设备的性能有关以及被渲染的物体,在性能好的机器上可能fps 30,差的可能小些。这会导致同一个游戏在不同的机器上效果不一致,有的快有的慢。因为Update的执行间隔不一样了。
而FixedUpdate,是在固定的时间间隔执行,不受游戏帧率的影响。
FixedUpdate 的时间间隔可以在项目设置中更改。Edit->Project Setting->time 找到 Fixed timeStep 进行修改。