如何根据另一个旋转移动对象

How to move object based on rotation another

我的 VR 项目出现问题。我正在尝试根据另一个对象的旋转来移动一个对象,而第一个对象应该只在某种边界内移动。我正在使用光线投射来检测和控制这些对象。两者都应沿 x 方向。

1 - 我旋转的对象
2 - 应该移动的对象
有小费吗?提前致谢!

嗯,这看起来像一台车床,所以我假设您想在旋转轮子时将工具 post 移动到一个轴上。 您想要 "link" 它们,所以我要做的是使用一种同时移动工具 post 的方法来旋转轮子。 试试这个:

public float ratio = 1.0f;
public GameObject wheel;
public GameObject tool;

public void RotateWheel(float amount)
{
     wheel.transform.Rotate(Vector3.forward * amount);
     tool.transform.Translate(Vector3.left * amount * ratio); 
}

注意以下几点:

  • 数量以度数传递。
  • Ratio 是车轮之间的比率 旋转和平移工具。在 1 时,工具每度移动一次 1个单位。随意调整。我假设了你的方向 基于模型的移动部件。如果它们没有按预期工作,请尝试更改矢量方向。