将 OSC 作为输入控制器
将 OSC 作为输入控制器
我们在 VRChat 中支持许多种不同的控制器 - 键鼠、游戏手柄、一堆 VR 全身追踪器等。我们将进一步扩大控制器的支持范围,让您也能通过 OSC 控制大部分的输入!这样,您就可以创建一个程序,用头、脚、脑电波、音乐音序器或其他任何东西来控制 VRChat!
地址
每个输入端都会在 /input/Name 处监视数据,如 /input/Jump。
输入有两种类型:
- 方向轴,它需要一个范围从 -1 到 1 的浮点来操作 (例如移动)。在不使用时,它们应当被重置为 0,否则例如当 “MoveForward” (向前移动) 这条信息保持为 “1” 时,您将永远被向前移动!
- 按钮,它需要一个值为 1 的 Int 来表示 “按下”,一个值为 0 的 Int 来表示 “松开”。如果不先在发送输入前重置为 0,它们将无法正常工作,例如--发送
/input/Jump 1,然后再发送/input/Jump 1,结果只能是单次跳跃。
开始实验的一个好方法是使用 TouchOSC 来测试它们,看看它们在客户端是如何工作的。有些控件只能在桌面或 VR 模式下使用,而有些控件可能根本不起作用。您可以在我们的讨论区 (即将推出) 报告不按您的预期工作的控件,或要求提供更多控件。
这个 TouchOSC 演示有一个垂直和水平移动控件,以及一个跳跃按钮:vrc-input.tosc
支持的输入
方向轴
/input/Vertical:向前移动 (1) 或向后移动 (-1)
/input/Horizontal:向右移动 (1) 或向左移动 (-1)
/input/LookHorizontal:向左看和向右看。在桌面模式下,如果开启了 “舒适转向” 功能,当值为 1 时,VR 将进行快速转向。
/input/UseAxisRight:使用手上的物品 - 不一定有效
/input/GrabAxisRight:抓取物品 - 不一定有效
/input/MoveHoldFB:向前移动 (1) 或向后移动 (-1) 所持对象
/input/SpinHoldCwCcw:顺时针旋转或逆时针旋转所持对象
/input/SpinHoldUD:向上或向下旋转所持对象
/input/SpinHoldLR:向左或向右旋转所持对象
按钮
/input/MoveForward:当此值为 1 时,向前移动。
/input/MoveBackward:当此值为 1 时,向后移动。
/input/MoveLeft:当此值为 1 时,向左移动。
/input/MoveRight:当此值为 1 时,向右移动。
/input/LookLeft:当此值为 1 时,向左转动。在桌面中视角会平滑转动,如果开启了 “舒适转向” 功能,VR 将进行快速转向。
/input/LookRight:当此值为 1 时,向右转动。在桌面中视角会平滑转动,如果开启了 “舒适转向” 功能,VR 将进行快速转向。
/input/Jump:如果您所在的世界支持跳跃,则该输入使您跳跃。
/input/Run:如果您所在的世界支持奔跑,则该输入使您跑起来。
/input/ComfortLeft:向左快转 - 仅限 VR。
/input/ComfortRight:向右快转 - 仅限 VR。
/input/DropRight:丢掉右手所持物品 - 仅限 VR。
/input/UseRight:使用被右手高亮显示的物品 - 仅限 VR。
/input/GrabRight:抓取被右手高亮显示的物品 - 仅限 VR。
/input/DropLeft:丢掉左手所持物品 - 仅限 VR。
/input/UseLeft:使用被左手高亮显示的物品 - 仅限 VR。
/input/GrabLeft:抓取被左手高亮显示的物品 - 仅限 VR。
/input/PanicButton 打开安全模式。
/input/QuickMenuToggleLeft:开关快捷菜单。如果当前该输入为 “0”,则在收到 “1” 时切换。
/input/QuickMenuToggleRight 打开/关闭快捷菜单。如果当前该输入为 “0”,则在收到 “1” 时切换。
/input/Voice:开关语音 - 操作取决于设置中是否打开了 “开关语音”。如果开启,那么从 0 到 1 的变化将切换静音状态。如果关闭了 “切换语音”,则其功能与按下静音类似 - 1 表示静音,0 表示取消静音。
聊天框
/chatbox/input s b n 在聊天框中输入文字。如果布尔参数 b 为 True,则绕过键盘立即输入并发送 s 中的文本。如果布尔数 b 为 False,则打开键盘输入框并输入所提供的文本。n 是一个额外的布尔参数,设置为 False 时不会触发通知 SFX (如果未指定,默认为 True)。
/chatbox/typing b 打开或关闭打字指示器。