如何根据另一个旋转移动对象
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个单位。随意调整。我假设了你的方向
基于模型的移动部件。如果它们没有按预期工作,请尝试更改矢量方向。
我的 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个单位。随意调整。我假设了你的方向 基于模型的移动部件。如果它们没有按预期工作,请尝试更改矢量方向。