Unity3D (新)SteamVR 2.0手柄输入与震动
最近这两周比较忙,暂时没时间弄自己的项目了。OK,说说我最近的发现吧。
公司要做一款VR射击游戏,本以为是个简单的任务,结果才知道SteamVR更新2.0后大变样了,所以费了些时间研究,在这里把研究成果分享一下。
首先你要配置SteamVR手柄的输入,在 Window -> SteamVR Input 下配置即可,具体操作方法网上有教程,我就不细说了。
不过要注意的是,在设置手柄输入的时候一定要保证你的浏览器是正常的,不然会和C4我一样遇到尴尬的状况。。。
此为别人的浏览器打开的效果:
此为C4的浏览器打开的效果。。。:
不过没关系,如果遇到这种情况可以在SteamVR应用中选 设备 -> 控制器输入设置 来设置手柄,但是最好在游戏测试时打开设置,这样才能看到自己要设置的程序。
然后就是Steam最好为在线状态,因为好像只有Steam为在线状态时你的手柄设置才会保存。
最后说一下如何用代码调用手柄输入和震动:
void Update()
{
//手柄输入:SteamVR_Actions.输入所在集_输入名称.检测方法(SteamVR_Input_Sources.位置)
if (SteamVR_Actions.default_Fire.GetStateDown(SteamVR_Input_Sources.RightHand))
{
//手柄震动:SteamVR_Actions.default_Haptic.Execute(开始时间,持续时间,频率,振幅)
SteamVR_Actions.default_Haptic.Execute(0, 0.2f, 5, 5, SteamVR_Input_Sources.RightHand);
}
}