【发布时间】:2019-08-09 17:01:37
【问题描述】:
我正在使用 SteamVR 在 Unity 中创建一个 VR 应用程序。我已经实现了一个 Snap Rotation Script,因此,用户可以在游戏中转身,而无需实际操作。
我的层次结构是:[CameraRig] ->(左控制器,右控制器,相机)
现在的问题是:当我拿着一个物体并想扔它时,如果我之前旋转了 CameraRig,那么扔的物体会表现得很奇怪。它的方向是异相的,基于 CameraRig 的累积旋转。 如果我从不旋转 CameraRig,则抛出的对象行为正常
我正在使用 FixedJoint 组件将对象附加到手上。
我该如何解决这个问题?
public void Drop() {
// Null Check
if (!m_CurrentInteractable){
return;
}
// Apply velocity
Rigidbody targetBody = m_CurrentInteractable.GetComponent<Rigidbody>();
targetBody.velocity = m_pose.GetVelocity();
targetBody.angularVelocity = m_pose.GetAngularVelocity();
// Detach
m_Joint.connectedBody = null;
// Clear
m_CurrentInteractable.m_ActiveHand = null;
m_CurrentInteractable = null;
}
【问题讨论】:
标签: c# unity3d virtual-reality steamvr