如何旋转游戏对象以保持与另一个游戏对象的相对位置是固定的

How to Rotate GameObjects keeping relative positions to another GameObject are fixed

我有一个 GameObject(Golfer) 和 Golfball 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");
}

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

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

我想我需要使用 RotateAround。

如何相对于高尔夫球手旋转高尔夫球?

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