如何使用按钮在一个轴上停止旋转并在新轴上开始旋转?

Posted

技术标签:

【中文标题】如何使用按钮在一个轴上停止旋转并在新轴上开始旋转?【英文标题】:How to stop rotation on one axis and start rotation in new axis by using button? 【发布时间】:2021-12-23 09:02:51 【问题描述】:

给定三个按钮 X , Y 和 Z 按下 X 时,3d 对象需要在 X 轴上旋转,通过按下 Y,X 轴上的旋转应该停止并在 z 按钮上类似地开始在 y 轴上的新旋转还。但我不知道如何在一个轴上停止旋转并在新轴上开始。您可能会觉得这很简单,对不起,我是新手 ????。 提前致谢。

【问题讨论】:

*** 不是为了问“请某人(告诉我如何)为我实现 XY”,而是关于“请有人帮我解决我在实现我添加到我的特定代码时遇到的这个特定问题”问题是我试图在哪里实现 XY 但发生了 ZZ”。请务必使用Tour,同时参考What topics can I ask about here?和How do I ask a good question?。 请提供足够的代码,以便其他人更好地理解或重现问题。 【参考方案1】:

你不能只检查不同的输入,如果它们被按下,沿着那个轴旋转它吗?所以它会是这样的:

if (Input.GetKey(KeyCode.X)

    transform.Rotate(new Vector3(transform.rotation.eulerAngles.x + rotSpeed, transform.rotation.eulerAngler.y, transform.rotation.eulerAngles.z));

在另一个轴上做同样的事情。我不能 100% 确定这会起作用,并且代码中可能存在一些拼写错误,但这应该很容易解决。希望这对您有所帮助:)

【讨论】:

以上是关于如何使用按钮在一个轴上停止旋转并在新轴上开始旋转?的主要内容,如果未能解决你的问题,请参考以下文章

如何在全局轴上旋转图形,而不是局部轴?

如何限制相机在 Y 轴上的旋转?帮我 §

在 1 轴上旋转四元数?

使用opencv在鼻子和眼睛轴上旋转图像

如何在不使用 transform.Rotate 的情况下在其本地或世界轴上旋转带有第二个四元数的四元数?

Swift SpriteKit 在 x 轴上旋转节点