📜  unity 刚体变量 - C# (1)

📅  最后修改于: 2023-12-03 14:48:12.421000             🧑  作者: Mango

Unity 刚体变量 - C#

Unity中的刚体(Rigidbody)是我们用来提供给游戏对象物理调节能力的组件之一, 可以在刚体组件中修改多种变量来控制对象的物理行为。

下面列出了一些常用的刚体变量和用法。

mass(弹性系数)

mass变量用于控制对象的质量和弹性系数,数值越大物体质量越大和碰撞反弹的力量越大。

//设置刚体对象的mass值
GetComponent<Rigidbody>().mass = 50;
drag(阻力)

默认情况下,drag值为0,表示没有空气阻力,可以在运动中保持恒定的速度。当drag值>0时,在空气中移动的物体,速度随时间减少,并且在停止之前(或者交换方向之前)必须继续施加力。

//设置刚体对象的drag值
GetComponent<Rigidbody>().drag = 0.5f;
angularDrag(角速度阻力)

angularDrag值用于阻止对象在旋转时绕其他轴旋转。默认情况下,这个值与drag值相同。

//设置刚体对象的angularDrag值
GetComponent<Rigidbody>().angularDrag = 0.05f;
useGravity(使用重力)

useGravity属性确定一个对象是否使用重力。如果useGravity为false,则对象不受重力影响,按照自己设定的速度运动。

//设置刚体对象是否受重力影响
GetComponent<Rigidbody>().useGravity = true;
isKinematic(是否为运动学刚体)

isKinematic属性确定一个对象是否是运动学刚体。如果为true,则对象的物理行为不由物理引擎控制,而由对象本身的变换控制。

//设置刚体对象是否为运动学刚体
GetComponent<Rigidbody>().isKinematic = true;
velocity(速度)

velocity属性设置或获取对象的速度。同时,可以修改speed减速或加速移动的对象。

//获取刚体对象的速度
Vector3 velocity = GetComponent<Rigidbody>().velocity;
//修改刚体对象的速度
GetComponent<Rigidbody>().velocity = new Vector3(5f, 0.5f, 3f);

对刚体组件的设置可以在实时中进行,同时也可以通过代码来进行修改和控制,更具体的变量和调节用法可参考官方文档。