如何基于另一个旋转运动对象

问题描述 投票:0回答:1

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

enter image description here

1-我旋转的对象2-应该移动的物体有小费吗?预先感谢!

c# .net unity3d virtual-reality
1个回答
0
投票

这看起来像一台车床,所以我假设您要在旋转砂轮时沿一个轴移动刀架。您想“链接”它们,所以我要做的是使用一种也可以移动刀架的方法来旋转轮子。试试这个:

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

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

注意以下几点:金额以度为单位传递。比率是车轮旋转和工具平移之间的比率。值为1时,工具每移动1个单位。随意调整。我假设您的运动部件的方向。如果它们无法按预期工作,请尝试更改向量。

© www.soinside.com 2019 - 2024. All rights reserved.