Попробуйте получить ссылку на ваш контроллер SteamVR_Behaviour_Pose
компонент и просто проверьте, является ли это контроллер, с которым вы хотите телепортироваться.SteamVR_Input_Sources
- это перечисление, которое используется для идентификации вашего виртуального оборудования.
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
}
Вот как вы проверяете действия в вашем скрипте.У меня ушло много времени на чтение документации, чтобы узнать себя.
Надеюсь, это поможет!