【问题标题】:How to Rotate GameObjects keeping relative positions to another GameObject are fixed如何旋转游戏对象保持与另一个游戏对象的相对位置是固定的
【发布时间】:2017-12-25 01:02:36
【问题描述】:

我有一个 GameObject(Golfer) 和 Golfball GameObjects。

我可以在滑动屏幕时旋转 Golfer。

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");
}

使用此代码,Golfer 旋转如下图所示。

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

我想我需要使用 RotateAround。

如何相对于 Golfer 旋转 Golfball?

【问题讨论】:

    标签: unity3d unity3d-2dtools


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-14
      相关资源
      最近更新 更多