赞
踩
在Rigidbody中存在一个Constraints这个属性,这个属性有一个freeze Position和Freeze Rotation,这个分别是刚体组件的移动和旋转的控制
以Freeze Position为例,它提供了三个选项 X Y Z 这个三个属性分别表示可以在哪个平面里面移动,
上图就是表示物体可以在XY这个面移动,物体旋转只能围绕着Y轴旋转
//每一帧改变的时候会执行这个方法
void FixedUpdate() {
float v = Input.GetAxis("Vertical");
float h = Input.GetAxis("Horizontal");
Debug.Log(""+v);
//使刚体组件朝着左右方向以偶定 v的值有正有负,也就是红轴的方向 v的值为0-1
m_Rigidbody.velocity = transform.forward * v * speed;
// 这里是改变刚体组件的角速度向量 表示以Y轴,也就是上方向为旋转轴进行旋转,后面的h为0-1之间的值,angleSpeed表示旋转的速度
m_Rigidbody.angularVelocity = transform.up * h * angleSpeed;
}
void Start()
{
rb = GetComponent<Rigidbody>()
}
void FixedUpdate()
{
// rb表示物体的刚体组件,下面的参数
rb.AddForce(transform.forward*trust);
}
//以上是通过forward直接指明方向再加上施加的力,然而如果三个方向同时作用力,那就需要四参数的的方法
void FixedUpdate()
{
rb.AddForce(0,0,1,ForceMode.Impulse)
}
/*
Add a continuous force to the rigidbody, using its mass.
添加一个可持续力到刚体,使用它的质量。
Acceleration
Add a continuous acceleration to the rigidbody, ignoring its mass.
添加一个可持续加速度到刚体,忽略它的质量。
Impulse
Add an instant force impulse to the rigidbody, using its mass.
添加一个瞬间冲击力到刚体,使用它的质量。
VelocityChange
Add an instant velocity change to the rigidbody, ignoring its mass.
添加一个瞬间速度变化给刚体,忽略它的质量。
*/
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。