ARVRServer¶
继承: Object
类别: 核心
简要说明¶
AR/VR服务器。
方法¶
无效 |
center_on_hmd ( RotationMode rotation_mode, bool keep_height ) |
find_interface ( String name ) const |
|
get_interface ( int idx ) const |
|
get_interface_count ( ) const |
|
get_interfaces ( ) const |
|
get_reference_frame ( ) const |
|
get_tracker ( int idx ) const |
|
get_tracker_count ( ) const |
信号¶
interface_added ( String interface_name )
在添加新接口时发出。
interface_removed ( String interface_name )
删除接口时发出。
添加新跟踪器时发出。如果不使用固定数量的控制器或正在使用 ARVRAnchor S对于AR解决方案,必须对该信号作出反应,以添加适当的 ARVRController 或 ARVRAnchor 与此新跟踪器相关的节点。
删除跟踪器时发出。你应该删除任何 ARVRController 或 ARVRAnchor 分数(如适用)。这不是强制性的,节点只是变为不活动的,当一个新的跟踪器可用时(即一个新的控制器被打开,取代了前一个控制器),节点将再次变为活动的。
枚举¶
枚举 TrackerType :
TRACKER_CONTROLLER = 1 ---跟踪器跟踪控制器的位置。
TRACKER_BASESTATION = 2 ---跟踪器跟踪基站的位置。
TRACKER_ANCHOR = 4 ---跟踪器跟踪AR锚的位置和尺寸。
TRACKER_ANY_KNOWN = 127 ---内部用于过滤任何已知类型的跟踪器。
TRACKER_UNKNOWN = 128 ---如果尚未设置跟踪器类型,则在内部使用。
TRACKER_ANY = 255 ---内部用于选择所有跟踪器。
枚举 RotationMode :
RESET_FULL_ROTATION = 0 ---完全重置HMD的方向。不管用户在现实世界中朝哪个方向看。用户将在虚拟世界中遥遥领先。
RESET_BUT_KEEP_TILT = 1 ---重置方向,但保持设备倾斜。所以如果我们往下看,我们会一直往下看,但航向会被重置。
DONT_RESET_ROTATION = 2 ---不重置HMD的方向,只有玩家的位置居中。
描述¶
AR/VR服务器是我们的AR/VR解决方案的核心,处理所有的处理。
属性描述¶
ARVRInterface primary_interface
设定器 |
设置主接口(值) |
吸气剂 |
获取主接口() |
float world_scale
违约 |
1.0 |
设定器 |
设置世界尺度(值) |
吸气剂 |
获得世界范围 |
允许您根据游戏单位调整缩放比例。大多数AR/VR平台假设1个游戏世界单位=1个真实世界米。
方法说明¶
void center_on_hmd ( RotationMode rotation_mode, bool keep_height )
这是正确理解的一个重要功能。AR和VR平台的手柄位置都略有不同。
对于不提供空间跟踪的平台,我们的原点(0,0,0)是我们的HMD的位置,但是您对播放器在现实世界中所面对的方向几乎没有控制。
对于提供空间跟踪的平台,我们的起点在很大程度上依赖于系统。对于openvr,我们的原点通常是跟踪空间的中心,在地面上。对于其他平台,它通常是跟踪摄像头的位置。
此方法允许您将跟踪器放在HMD的位置上。它将获取HMD的当前位置,并使用该位置调整所有跟踪数据;本质上,将真实世界重新调整为玩家在游戏世界中的当前位置。
要使此方法产生可用的结果,必须提供跟踪信息。这通常需要在开始游戏后几帧。
您应该在经过几秒钟后调用此方法。例如,当用户请求重新调整显示器时,在控制器上保持一个指定按钮很短的时间,或者在实现传送机制时。
ARVRInterface find_interface ( String name ) const
按名称查找接口。例如,如果您的项目使用AR/VR平台的功能,您可以通过名称找到该平台的接口并对其进行初始化。
Transform get_hmd_transform ( )
返回主接口的转换。
ARVRInterface get_interface ( int idx ) const
获取在接口列表中给定索引处注册的接口。
int get_interface_count ( ) const
获取当前在AR/VR服务器上注册的接口数。如果您的项目支持多个AR/VR平台,您可以查看可用的界面,并向用户提供一个选择,或者简单地尝试初始化每个界面并使用返回的第一个界面。 true
.
Array get_interfaces ( ) const
返回可用接口的列表每个接口的ID和名称。
int get_last_commit_usec ( )
int get_last_frame_usec ( )
int get_last_process_usec ( )
Transform get_reference_frame ( ) const
获取引用帧转换。主要用于内部,并公开用于gdantive构建接口。
ARVRPositionalTracker get_tracker ( int idx ) const
获取给定ID处的位置跟踪程序。
int get_tracker_count ( ) const
获取当前注册的跟踪程序数。