赞
踩
前情提要:此文章是自己对XR交互的两种方式的理解,很可能有些不太对的地方,同时这里面的内容,也需要对XR交互使用有了较熟练的使用才能看懂
Action组件导入,就多需要些配置,默认没有任何输入行为,当然我们可以导入XR交互包中的示例Action配置
将示例的Action配置设置到XRController(Action)上
我理解的Action交互核心就是将,XR设备的输入特征值定义为一个行为,然后将这个行为指定给交互组件,这样的好处就是当你想替换一个交互按键,你只需要修改对应的Action配置文件,同时Unity给大多数的设备都配置有输入特征值接口,你可以再不同设备中切换他们的输入
甚至可以使用XR Simulated Controller实现在PC上对XR设备的模拟调试(虽然PC操作起来还是很繁琐)
获取比较直接,可以看下XRController类,通过传入按钮类型参数,获取对应的输入值
这里会发现,XRController获取的输入值只能是bool和float,要获取输入Vector2需要简单扩展下(可以查看InputDevice源码理解)
public Vector2 GetAxisVector2()
{
inputDevice.TryGetFeatureValue(new InputFeatureUsage<Vector2>("Primary2DAxis"), out var value);
return value;
}
public Vector2 GetAxisVector2(InputAction inputAction)
{
if (inputAction.activeControl is Vector2Control)
return inputAction.ReadValue<Vector2>();
return Vector2.zero;
}
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。