如何将一个对象的旋转设置为另一个对象的偏移?

问题描述 投票:-1回答:1

我在游戏中遇到了问题,我想让一把手枪围绕着我的harecter旋转,位置已经由一个关节完成了。然而这个关节并没有旋转对象,所以我尝试通过代码来实现,但问题是我需要设置一个偏移,因为枪是围绕y轴旋转90度,但比一个奇怪的事情发生。

我做了一个视频来演示这个问题。https:/youtu.beHxNj6keyQ5U

我不知道如何解决这个问题,我什么都试过了。

谢谢你的建议! (如果我得到任何xD)

这是我的代码。

    {
        EulerRotation = new Vector3(Player.transform.rotation.eulerAngles.x, Player.transform.rotation.eulerAngles.y - 90, Player.transform.rotation.eulerAngles.z);
        transform.rotation = Quaternion.Euler(EulerRotation);
    }

unity3d rotation quaternions orbit
1个回答
0
投票

如果你使用的是标准的第一人称控制器,它包含两部分:主物体,主摄像机。通过脚本,Y轴上的旋转被连接到主预制件上,Z轴上的旋转被连接到主摄像机上。Player.transform.rotation.eulerAngles.z 事实上,你在主对象上使用的是Z轴,所以它不会改变。

© www.soinside.com 2019 - 2024. All rights reserved.