Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unity3D中的弹丸旋转_3d_Unity3d_Game Physics_Projectile - Fatal编程技术网

Unity3D中的弹丸旋转

Unity3D中的弹丸旋转,3d,unity3d,game-physics,projectile,3d,Unity3d,Game Physics,Projectile,我想模拟一个抛射体的运动。我使用以下代码 if (Input.GetButtonDown("Fire1")) { Rigidbody clone; clone = Instantiate(projectile, transform.position+ new Vector3(0f,0f,2f), transform.rotation) as Rigidbody; clone.velocity = transform.TransformDirect

我想模拟一个抛射体的运动。我使用以下代码

 if (Input.GetButtonDown("Fire1")) {
        Rigidbody clone;
        clone = Instantiate(projectile, transform.position+ new Vector3(0f,0f,2f), transform.rotation) as Rigidbody;
        clone.velocity = transform.TransformDirection(Vector3.forward * Speed);
    }

我的射弹是一个刚体,我希望它像真实的射弹一样设置方向,也就是说,当我的射弹即将与地面碰撞时,它应该面向地面,而不是它的发射器的旋转方向。它应该根据其速度改变其旋转。我不知道怎么做

正如您在评论中所说,只需包含
transform.LookAt(transform.position+rigidbody.velocity)编码到射弹控制器更新中。还要确保在刚体设置中标记“锁定旋转”,否则物理系统将尝试自己旋转刚体,这可能会导致抖动和不现实的行为。

现在它正在工作:)这行代码转换。查看(transform.position+rigidbody.velocity);解决了我的问题

现在它正在工作:)这行代码转换。看(transform.position+rigidbody.velocity);解决了我的问题你应该用以上信息回答你自己的问题,而不是评论。这样做可以帮助他人。