ARVRController
Inherits: Spatial < Node < Object
表示空间跟踪控制器的空间节点。
描述
这是链接到控制器跟踪的辅助空间节点。它还为控制器上的按钮等状态提供了几个便捷的通道。
控制器通过它们的 ID 链接。你可以在控制器可用之前创建控制器节点。如果你的游戏总是使用两个控制器,即每只手一个,你可以预先定义 ID 为 1 和 2 的控制器;一旦确定了控制器,它们就会被激活。如果你希望使用额外的控制器,应该对信号加以处理,并将 ARVRController 节点添加到您场景中。
控制器节点的位置由 ARVRServer 自动更新。这使得该节点非常适合添加子节点以实现可视化控制器。
教程
属性
| ||
|
方法
get_controller_name ( ) const | |
get_hand ( ) const | |
get_is_active ( ) const | |
get_joystick_axis ( int axis ) const | |
get_joystick_id ( ) const | |
get_mesh ( ) const | |
is_button_pressed ( int button ) const |
信号
- button_pressed ( int button )
当该控制器上的一个按钮被按下时触发。
- button_release ( int button )
当该控制器上的一个按钮被释放时触发。
- mesh_updated ( Mesh mesh )
当与控制器相关的Mesh发生变化或变得可用时触发。一般来说,这将是一个变得可用后的静态网格。
属性说明
- int controller_id
Default |
|
Setter | set_controller_id(value) |
Getter | get_controller_id() |
控制器的 ID。
控制器 ID 为 0 是未绑定的,并且始终会导致节点处于非活动状态。控制器 ID 1 保留给第一个将自己标识为左侧控制器的控制器,ID 2 保留给第一个将其标识为右侧控制器的控制器。
对于 ARVRServer 检测到的任何其他控制器,继而使用控制器 ID 3。
当控制器关闭时,它的插槽被释放。这可确保即使在关闭 ID 较低的控制器时,其他控制器也将保持相同的 ID。
- float rumble
Default |
|
Setter | set_rumble(value) |
Getter | get_rumble() |
控制器振动的程度。范围从0.0
到1.0
,精度.01
。如果更改,会相应地更新ARVRPositionalTracker.rumble。
如果你想让控制器在限定时间内振动,这是一个有用的属性,可以将其动画化。
方法说明
- String get_controller_name ( ) const
如果激活,如果由使用的AR/VR SDK提供,则返回相关控制器的名称。
- TrackerHand get_hand ( ) const
返回持有此控制器的手,如果知道的话。参阅TrackerHand。
- bool get_is_active ( ) const
如果绑定的控制器处于活动状态,返回true
。ARVR系统尝试跟踪活动的控制器。
为嵌入到控制器中的触发器、触摸板等返回给定轴的值。
- int get_joystick_id ( ) const
返回与此绑定的摇杆对象的ID。由ARVRServer跟踪的每个控制器,如果有按钮和轴,也将被注册为Godot中的摇杆。这意味着所有正常的摇杆跟踪和输入映射将对AR/VR控制器上的按钮和轴起作用。这个ID纯粹是作为信息提供的,这样你就可以把控制器和它的摇杆条目关联起来。
- Mesh get_mesh ( ) const
如果由 ARVRInterface提供,则返回与控制器相关的网格。这可用于可视化控制器。
如果索引button
处的按钮被按下,返回true
。参阅JoystickList,特别是JOY_VR_*
常数。