你怎么知道旋转速度动态刚体然后用这个速度独立旋转运动刚体?

时间:2015-07-30 10:57:07

标签: unity3d game-physics

我能够向正确的方向移动,但它旋转不正确(错误的方式)! 我在Unity 5中这样做:

Vector3 _veloMove;
Vector3 _rotation;

void Start()
{
 body = gameObject.GetComponent<Rigidbody>();
}

void OnCollisionExit() 
{
  _veloMove = body.velocity;
  _rotation = body.angularVelocity;
  isKinematic = true;
}

FixedUpdate()
{
    if (body.isKinematic)
    {
     body.MovePosition(transform.position + _veloMove * time;
     body.MoveRotation(transform.rotation * Quaternion.Euler(_rotation * Time.fixedDeltaTime));
    }
}

1 个答案:

答案 0 :(得分:0)

看来这可能是您的问题:

transform.rotation * Quaternion.Euler

尝试将其转化为

transform.rotation + Quaternion.Euler

看看是否有效。