最近,我开始更新我的VR应用程序以与SteamVR 2.0一起运行。我有一些依赖于碰撞的脚本,但是如果将碰撞器放在Vive控制器(手)上,则会干扰Valve的“ Throwable”脚本(即使它们是触发器),使得几乎90%的时间都无法捕获对象或当它们附着在“手”上时它们的重力是活动的。
我的问题是:如何重写下面的示例,使其与新的SteamVR 2.0的脚本兼容?现在,我只能制作类似的脚本来与手上的碰撞器或SteamVR的Throwable一起使用,而无需手上的碰撞器。我想在我的VR应用程序中同时进行两种交互。
private void OnTriggerStay(Collider other)
{
if (other.gameObject.GetComponent<Hand>() == null)
{
return;
}
else
{
if (SteamVR_Input.__actions_default_in_GrabPinch.GetStateDown(SteamVR_Input_Sources.Any))
{
MethodOnTriggerDown();
}
else if (SteamVR_Input.__actions_default_in_GrabPinch.GetState(SteamVR_Input_Sources.Any))
{
MethodWhileHolding();
}
else if (SteamVR_Input.__actions_default_in_GrabPinch.GetStateUp(SteamVR_Input_Sources.Any))
{
MethodOnRelease();
}
}
}
先谢谢您。任何帮助将不胜感激。