Unity 2D - 围绕点到面光标旋转对象

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

我遇到了障碍。 我正在尝试制作一只可以旋转的手(只是一个矩形),以便手掌位于光标上。我可以处理手的伸展,但我似乎无法弄清楚如何做到这一点。 mspaint 我需要的图表。

基本上,我需要围绕手的最左边缘点(我有)旋转手,使其面向光标。

我尝试过使用:

hand.transform.RotateAround(handEdge, Vector3.forward, Quaternion.LookRotation(Vector3.forward, Vector3.Cross(hand.transform.position - mouseKinematics.GetCursorScenePos(), Vector3.forward)).z);

其中

handEdge
是我要设置相对旋转的点。 但
transform.RotateAround()
是一个渐进的改变。

我也尝试过:

hand.transform.rotation = Quaternion.LookRotation(Vector3.forward, Vector3.Cross(hand.transform.position - mouseKinematics.GetCursorScenePos(), Vector3.forward));

但这导致了不稳定的旋转,虽然很接近,但没有达到我需要的点。

我什至不确定我是否走在正确的轨道上,但我找不到此类事情的任何参考资料。 任何建议都会非常有帮助!

c# unity-game-engine 2d
1个回答
0
投票

创建一个空游戏对象并将其放置在您希望枢轴所在的位置,然后使手成为空对象的子对象,然后不旋转手,而是旋转空对象。

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