如何旋转GameObjects保持相对位置到另一个GameObject是固定的

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

我有一个GameObject(高尔夫球手)和高尔夫球GameObjects。

我可以在刷屏幕时旋转高尔夫球手。

if (Input.GetMouseButtonDown(0))
{
    f_difX = 0.0f;
}
else if (Input.GetMouseButton(0))
{
    f_difX = Mathf.Abs(f_lastX - Input.GetAxis ("Mouse X"));

    if (f_lastX < Input.GetAxis ("Mouse X"))
    {
        i_direction = -1;
        m_CurrentObj.transform.Rotate(Vector3.up, -f_difX);

    }

    if (f_lastX > Input.GetAxis ("Mouse X"))
    {
        i_direction = 1;
        m_CurrentObj.transform.Rotate(Vector3.up, f_difX);

    }

    f_lastX = -Input.GetAxis ("Mouse X");
}

使用此代码,高尔夫球手旋转如下图所示。

enter image description here

enter image description here

我需要通过保持他们与高尔夫球手的相对位置来固定来旋转高尔夫球。

我想我需要使用RotateAround。

如何围绕高尔夫球手旋转高尔夫球?

unity3d unityscript unity3d-2dtools
1个回答
1
投票

将高尔夫球放入与玩家具有相同枢轴的空游戏对象中,然后旋转该游戏对象。高尔夫球将保持其本地位置并最终围绕玩家旋转。

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