unity刚体介绍

刚体允许你的游戏对象在物理引擎下运动。在现实途径下刚体可以接受力和力矩使物体移动。任何游戏对象必须包含刚体受重力作用下的附加力,通过脚本,或与其他物体通过NVIDIA PhysX物理引擎。
选项:
质量(Mass):对象德质量
摩擦(Drag):多少空气阻力的物体受力移动时。0意味着没有空气阻力,而无限大使物体立即停止运动。
摩擦角(Angular Drag):当扭矩旋转时,空气阻力对物体有多大影响?。0意味着没有空气阻力。注意,你不能把物体的角阻力设置为无穷大,使物体停止旋转。
使用重力(Use Gravity):如果启用,物体受到重力的影响。
是否单纯运动(Is Kinematic):如果启用,对象将不会被物理引擎驱动,只能通过它的转换操作。这对移动平台或如果你想要做一个刚体,有铰链连接附件是有用的。
插值(Interpolate):尝试一个选项只有当你看到你的刚体运动的跳跃。
 --没有插值(None):没有插值
 --插值(Interpolate):基于前一帧的变换平滑变换
 --推算(Extrapolate):基于下一帧的估计变换平滑变换。
碰撞检测(Collision Detection):用于防止快速移动的物体不经过碰撞而通过其他物体。
 --离散(Discrete):使用离散碰撞检测对场景中的所有其他对撞机。其他对撞机将使          用离散的碰撞检测碰撞测试时对它。用于正常冲突(这是默认值)。
 -- 连续(Continuous):使用离散的碰撞检测和动态碰撞(与刚体)和连续碰撞检测防静           态meshcolliders(没有一个刚体)。被设置为连续动态将使用连续碰撞检测测试时对           该刚体的碰撞。其他单位将用谨慎的碰撞检测。用于连续动态检测需要碰撞的物体。             (这对物理性能有很大的影响,让它设置为离散的,如果你对快速对象的碰撞没有问题)
 --动态连续(Continuous Dynamic):对连续和连续动态碰撞的对象使用连续碰撞检测。          它也将使用连续碰撞检测防静态meshcolliders(没有一个刚体)。对于所有其他对撞机          采用谨慎的碰撞检测。用于快速移动物体。
约束(Constraints):刚体运动的限制
 --冻结位置(Freeze Position ):停止刚体动的世界X,Y和Z轴的选择
 --禁止转向(Freeze Rotation ):停止刚体在的X、Y、Z轴旋转,选择性。
细节:
刚体允许你的游戏对象在物理引擎控制下运动。这就为真实碰撞,大量的关节和其他非常酷的行为敞开了大门。通过添加外力操纵你的游戏对象来产生一个非常不一样的感觉和观感,绝对比使用Transform组件更直接。通常来说,一个对象只能存在rigibody和Transform的其中一个。
Transform和刚体最大的不同就是刚体通过力来驱动。刚体能够接收力和扭矩的作用,但是Transforn不能。Transform只能单纯地移动和旋转,没有任何物理作用。你自己尝试一下就会注意到直观的不一样。添加外力或者扭矩的刚体会准确地改变对象Transform的位置和面向。这就是为什么你只能在刚体和Transform中选一个。在使用物理作用会导致碰撞和其他计算的问题因此改变Transform。
刚体必须在被物理引擎影响前明确添加在你的游戏对象中。你能通过菜单的Component->Physics->Rigibody添加一个刚体组件在你的对象上。现在你的对象已经准备好了。它会在重力的作用下自然下落同时还能通过脚本接收外力,但你需要加一个Collider组件或者关节来获得你希望它的行为。
父级:
当一个对象在物理控制下,它会跟随着父级移动。
编辑脚本:
用来控制你的刚体,你主要使用脚本去添加外力或扭矩。通过使用AddForce()和AddTorque()。记得你不能直接改变物件的Transform当你在使用物理效果时。
碰撞体:
碰撞体是另外一些必须添加在刚体上的组件为了允许当两个刚体碰撞时不会穿进对方身体,这个物理引擎不能计算碰撞体除非两个对象都有碰撞体,缺少碰撞体会穿过其他对象。


unity刚体介绍_第1张图片


你可能感兴趣的:(unity)