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

时间:2017-12-25 01:02:36

标签: unity3d unityscript unity3d-2dtools

我有一个GameObject(高尔夫球手)和高尔夫球游戏对象。

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

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。

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

1 个答案:

答案 0 :(得分:1)

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