如何旋转游戏对象以保持与另一个游戏对象的相对位置是固定的
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 并最终围绕玩家旋转。
我有一个 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 并最终围绕玩家旋转。