问题描述
我经常收到用户在Viveport上玩我的游戏的报告,说他们的控制器无法正常工作。我相信这是由于缺少控制器绑定。当我在Viveport上测试游戏时,对我来说效果很好。
已为每个控制器导出默认绑定。控制器可以在Steam上正常工作(直接使用SteamVR),但不能在Viveport上正常工作。由于某些原因,Viveport使用的SteamVR无法看到默认绑定。
绑定是由Unity自动生成的:Windows / SteamVR输入/保存并生成。 绑定文件位于:\ StreamingAssets \ SteamVR
Unity 2020.1.2f1
SteamVR beta 1.15.2
如何使绑定在Viveport SteamVR上工作?
应如何正确导出和保存默认绑定?
动作文件:actions.json
{
"actions": [
{
"name": "/actions/default/in/InteractUI","type": "boolean","requirement": "suggested"
},{
"name": "/actions/default/in/Teleport","type": "boolean"
},{
"name": "/actions/default/in/GrabPinch",{
"name": "/actions/default/in/GrabGrip",{
"name": "/actions/default/in/Pose","type": "pose"
},{
"name": "/actions/default/in/SkeletonLeftHand","type": "skeleton","skeleton": "/skeleton/hand/left"
},{
"name": "/actions/default/in/SkeletonRightHand","skeleton": "/skeleton/hand/right"
},{
"name": "/actions/default/in/Squeeze","type": "vector1","requirement": "optional"
},{
"name": "/actions/default/in/HeadsetOnHead",{
"name": "/actions/default/in/SnapTurnLeft",{
"name": "/actions/default/in/SnapTurnRight",{
"name": "/actions/default/in/SaberOnOff",{
"name": "/actions/default/in/ForceUse",{
"name": "/actions/default/in/Movement",{
"name": "/actions/default/in/VIVE Tutorial",{
"name": "/actions/default/in/Index Tutorial",{
"name": "/actions/default/in/Oculus_Tutorial",{
"name": "/actions/default/in/DirectionalMovement","type": "vector2"
},{
"name": "/actions/default/in/MENU",{
"name": "/actions/default/in/WMR_Tutorial",{
"name": "/actions/default/in/VIVE_Cosmos",{
"name": "/actions/default/out/Haptic","type": "vibration"
},{
"name": "/actions/platformer/in/Move",{
"name": "/actions/platformer/in/Jump",{
"name": "/actions/buggy/in/Steering",{
"name": "/actions/buggy/in/Throttle","type": "vector1"
},{
"name": "/actions/buggy/in/Brake",{
"name": "/actions/buggy/in/Reset",{
"name": "/actions/mixedreality/in/ExternalCamera","type": "pose","requirement": "optional"
}
],"action_sets": [
{
"name": "/actions/default","usage": "single"
},{
"name": "/actions/platformer",{
"name": "/actions/buggy",{
"name": "/actions/mixedreality","usage": "single"
}
],"default_bindings": [
{
"controller_type": "vive_controller","binding_url": "bindings_vive_controller.json"
},{
"controller_type": "oculus_touch","binding_url": "bindings_oculus_touch.json"
},{
"controller_type": "knuckles","binding_url": "bindings_knuckles.json"
},{
"controller_type": "holographic_controller","binding_url": "bindings_holographic_controller.json"
},{
"controller_type": "vive_cosmos_controller","binding_url": "bindings_vive_cosmos_controller.json"
},{
"controller_type": "vive_cosmos","binding_url": "binding_vive_cosmos.json"
},{
"controller_type": "vive","binding_url": "binding_vive.json"
},{
"controller_type": "indexhmd","binding_url": "binding_index_hmd.json"
},{
"controller_type": "vive_pro","binding_url": "binding_vive_pro.json"
},{
"controller_type": "rift","binding_url": "binding_rift.json"
},{
"controller_type": "holographic_hmd","binding_url": "binding_holographic_hmd.json"
},{
"controller_type": "vive_tracker_camera","binding_url": "binding_vive_tracker_camera.json"
}
],"localization": [
{
"language_tag": "en_US","/actions/default/in/GrabGrip": "Grab Grip","/actions/default/in/GrabPinch": "Grab Pinch","/actions/default/in/HeadsetOnHead": "Headset on head (proximity sensor)","/actions/default/in/InteractUI": "Interact With UI","/actions/default/in/Pose": "Pose","/actions/default/in/SkeletonLeftHand": "Skeleton (Left)","/actions/default/in/SkeletonRightHand": "Skeleton (Right)","/actions/default/in/Teleport": "Teleport","/actions/default/out/Haptic": "Haptic","/actions/platformer/in/Jump": "Jump","/actions/default/in/SnapTurnLeft": "Snap Turn (Left)","/actions/default/in/SnapTurnRight": "Snap Turn (Right)","/actions/default/in/SaberOnOff": "Saber On/Off","/actions/default/in/ForceUse": "Force Use","/actions/default/in/Movement": "Movement (Grab)","/actions/default/in/VIVE Tutorial": "VIVE Tutorial","/actions/default/in/Index Tutorial": "Index Tutorial","/actions/default/in/Oculus_Tutorial": "Oculus Tutorial","/actions/default/in/DirectionalMovement": "Movement (Directional)","/actions/default/in/MENU": "MENU","/actions/default/in/WMR_Tutorial": "Windows Mixed Reality Tutorial","/actions/default/in/VIVE_Cosmos": "Vive Cosmos Identification"
}
]
}
绑定文件示例:bindings_knuckles.json
{
"action_manifest_version" : 0,"alias_info" : {},"app_key" : "application.generated.unity.saberfightvr.exe","bindings" : {
"/actions/buggy" : {
"sources" : [
{
"inputs" : {
"position" : {
"output" : "/actions/buggy/in/steering"
}
},"mode" : "joystick","path" : "/user/hand/left/input/thumbstick"
},{
"inputs" : {
"position" : {
"output" : "/actions/buggy/in/steering"
}
},"path" : "/user/hand/right/input/thumbstick"
},{
"inputs" : {
"pull" : {
"output" : "/actions/buggy/in/throttle"
}
},"mode" : "trigger","path" : "/user/hand/left/input/trigger"
},"path" : "/user/hand/right/input/trigger"
},{
"inputs" : {
"click" : {
"output" : "/actions/buggy/in/brake"
}
},"mode" : "button","path" : "/user/hand/left/input/a"
},"path" : "/user/hand/right/input/a"
},{
"inputs" : {
"click" : {
"output" : "/actions/buggy/in/reset"
}
},"path" : "/user/hand/left/input/b"
},"path" : "/user/hand/right/input/b"
}
]
},"/actions/default" : {
"chords" : [],"haptics" : [
{
"output" : "/actions/default/out/haptic","path" : "/user/hand/left/output/haptic"
},{
"output" : "/actions/default/out/haptic","path" : "/user/hand/right/output/haptic"
}
],"poses" : [
{
"output" : "/actions/default/in/pose","path" : "/user/hand/left/pose/raw"
},{
"output" : "/actions/default/in/pose","path" : "/user/hand/right/pose/raw"
}
],"skeleton" : [
{
"output" : "/actions/default/in/skeletonlefthand","path" : "/user/hand/left/input/skeleton/left"
},{
"output" : "/actions/default/in/skeletonrighthand","path" : "/user/hand/right/input/skeleton/right"
}
],"sources" : [
{
"inputs" : {
"click" : {
"output" : "/actions/default/in/interactui"
}
},{
"inputs" : {
"click" : {
"output" : "/actions/default/in/movement"
},"position" : {
"output" : "/actions/default/in/directionalmovement"
}
},{
"inputs" : {
"click" : {
"output" : "/actions/default/in/grabpinch"
}
},"path" : "/user/hand/left/input/grip"
},{
"inputs" : {
"click" : {
"output" : "/actions/default/in/saberonoff"
}
},{
"inputs" : {
"click" : {
"output" : "/actions/default/in/index tutorial"
}
},{
"inputs" : {
"click" : {
"output" : "/actions/default/in/menu"
}
},{
"inputs" : {
"click" : {
"output" : "/actions/default/in/forceuse"
}
},"path" : "/user/hand/left/input/trackpad"
},"path" : "/user/hand/right/input/b"
},"path" : "/user/hand/right/input/grip"
},"path" : "/user/hand/right/input/trackpad"
},{
"inputs" : {
"click" : {
"output" : "/actions/default/in/interactui"
}
},{
"inputs" : {
"east" : {
"output" : "/actions/default/in/snapturnright"
},"west" : {
"output" : "/actions/default/in/snapturnleft"
}
},"mode" : "dpad","parameters" : {
"sub_mode" : "touch"
},"path" : "/user/hand/right/input/thumbstick"
}
]
},"/actions/platformer" : {
"sources" : [
{
"inputs" : {
"position" : {
"output" : "/actions/platformer/in/move"
}
},{
"inputs" : {
"position" : {
"output" : "/actions/platformer/in/move"
}
},{
"inputs" : {
"click" : {
"output" : "/actions/platformer/in/jump"
}
},"path" : "/user/hand/right/input/trigger"
}
]
}
},"category" : "steamvr_input","controller_type" : "knuckles","description" : "","name" : "Saber Fight VR for Index Controller","options" : {},"simulated_actions" : []
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)