目标是仅用一个控制器进行传送。
是通过动作集完成还是通过事件触发器完成? 我也没有在 Hand 脚本中找到与控制器相关的任何特定内容。
我应该使用动作集来使用每手选项并自定义哪些设置?然后,如何在检查器中创建“我”字段?
非常感谢!
答案 0 :(得分:0)
尝试获取对控制器SteamVR_Behaviour_Pose
组件的引用,只需检查它是否是您要与之进行传送的控制器即可。 SteamVR_Input_Sources
是用于识别vive硬件的枚举。
public SteamVR_Behaviour_Pose pose;
if(pose.inputSource == SteamVR_Input_Sources.LeftHand)
{
//do stuff
}
请小心。我不太记得,但是如果您要访问的硬件未连接,这可能会导致NullReferenceException
。
您也已经可以考虑使用 ActionSets 并用不同的双手进行操作。 应该也可以,但我从未尝试过。
作为奖励:
public SteamVR_Action_Boolean action = SteamVR_Input.GetBooleanAction("YourActionName");
if (action.GetStateUp(pose.inputSource))
{
//do even more stuff
}
这就是你如何检查你的脚本操作。我花了很长时间阅读文档以了解自己。
希望这会有所帮助!