這是unity內建範例,用於球體的滾動,但如果套用在方塊上......
方塊也是滾動。
滾動的方向,是依照globle 的 前後左右。
如果不加上speed = 30,會慢到看不出來。
這個程式碼適用在Rigidbody,但不具有Kinematic。
public Rigidbody rb;
public float Speed = 30;
private void Start()
{
rb = GetComponent<Rigidbody>();
}
private void FixedUpdate()
{
float moveHorizontal = Input.GetAxis("Horizontal");
float moveVertaical = Input.GetAxis("Vertical");
Vector3 movement = new Vector3(moveHorizontal * Speed, 0.0f, moveVertaical * Speed);
rb.AddForce(movement);
}
如果要避免方塊的滾動,就加上:
public float m_MaxAngularVelocity = 0;
void start
{
GetComponent<Rigidbody>().maxAngularVelocity = m_MaxAngularVelocity;
}
但方塊依然會晃動。