XRController¶
继承: XRNode < Item3D < Item < Object
表示空间跟踪控制器的3D节点。
描述¶
这是一个连接到控制器跟踪的辅助3D节点。它还为控制器上的按钮等状态提供了几个方便的通道。
控制器由其ID链接。您可以在控制器可用之前创建控制器节点。如果您的应用总是使用两个控制器(每手一个),您可以预先定义ID为1和2的控制器;一旦控制器被识别,它们就会变得活跃。如果您期望使用额外的控制器,您应该对信号做出反应,并将XRControlller3D节点添加到您的场景中。
控制器节点的位置由XRServer自动更新。这使得该节点非常适合添加子节点以可视化控制器。
由于许多XR运行时现在使用可配置的操作映射,因此所有输入都被命名。
方法¶
get_float(name: StringName) const |
|
get_input(name: StringName) const |
|
get_tracker_hand() const |
|
get_vector2(name: StringName) const |
|
is_button_pressed(name: StringName) const |
信号¶
button_pressed(name: String) 🔗
按下此控制器上的按钮时发出。
button_released(name: String) 🔗
释放此控制器上的按钮时发出。
input_float_changed(name: String, value: float) 🔗
当此控制器上的触发器或类似输入改变值时发出。
input_vector2_changed(name: String, value: Vector2) 🔗
移动此控制器上的操纵杆或拇指板时发出。
profile_changed(role: String) 🔗
此控制器上的交互配置文件更改时发出。
方法说明¶
float get_float(name: StringName) const 🔗
返回具有给定name的输入的数值。这用于触发器和抓握传感器。
Variant get_input(name: StringName) const 🔗
返回具有给定name的输入的Variant。这适用于任何输入类型,变体将根据操作配置进行键入。
TrackerHand get_tracker_hand() const 🔗
返回握住此控制器的手(如果已知)。请参阅TrackerHand。
Vector2 get_vector2(name: StringName) const 🔗
返回具有给定name的输入的Vector2。这用于在许多控制器上找到的拇指棒和拇指垫。
bool is_button_pressed(name: StringName) const 🔗
如果按下具有给定name的按钮,则返回true。