ARVRInterface¶
继承人: ARVRInterfaceGDNative , MobileVRInterface
类别: 核心
简要说明¶
AR/VR接口实现的基类。
属性¶
假 |
||
假 |
||
假 |
方法¶
get_capabilities ( ) const |
|
get_name ( ) const |
|
get_tracking_status ( ) const |
|
initialize ( ) |
|
is_stereo ( ) |
|
无效 |
uninitialize ( ) |
枚举¶
枚举 能力 :
ARVR_NONE = 0 ——无ARVR能力。
ARVR_MONO = 1 ---该界面可以正常渲染输出(非基于HMD的AR)。
ARVR_STEREO = 2 ---该界面支持立体渲染。
ARVR_AR = 4 ---此接口支持AR(视频背景和现实跟踪)。
ARVR_EXTERNAL = 8 ---此接口输出到外部设备,如果使用主视区,屏幕输出是左眼或右眼的未修改缓冲区(如果视区大小未更改为 get_render_targetsize )使用单独的视区节点可以释放主视区以用于其他目的。
枚举 Eyes :
EYE_MONO = 0 ---单声道输出,主要用于检索相机节点的定位信息或不支持立体渲染时的内部。
EYE_LEFT = 1 ---左眼输出,主要用于左眼图像的绘制,获取定位和投影信息。
EYE_RIGHT = 2 ---右眼输出,主要用于右眼图像的绘制,获取定位和投影信息。
枚举 Tracking_status :
ARVR_NORMAL_TRACKING = 0 ---跟踪工作按预期进行。
ARVR_EXCESSIVE_MOTION = 1 ---跟踪被过度运动所阻碍,玩家的移动速度超过了跟踪所能跟上的速度。
ARVR_INSUFFICIENT_FEATURES = 2 ---跟踪功能不足,太暗(摄像头跟踪),播放器被屏蔽等。
ARVR_UNKNOWN_TRACKING = 3 ---我们不知道跟踪的状态,或者这个界面不提供反馈。
ARVR_NOT_TRACKING = 4 ---跟踪功能不起作用(摄像头未插入或遮挡,灯塔关闭等)
描述¶
该类需要实现以使AR或VR平台可供Godot使用,并且这些类应被实现为C++模块或GDATA模块(注意,对于GDATION,应该使用子类ARVRScript接口)。接口的一部分暴露在gdscript中,因此您可以检测、启用和配置AR或VR平台。
接口的编写方式应该是这样的,只要启用它们就可以为我们提供一个工作设置。您可以通过以下方式查询可用的接口: ARVRServer .
属性描述¶
bool ar_is_anchor_detection_enabled
违约 |
假 |
设定器 |
设置锚点检测已启用(值) |
吸气剂 |
get_anchor_detection_is_enabled()。 |
在AR接口上,是否启用了锚检测?
bool interface_is_initialized
违约 |
假 |
设定器 |
set_已初始化(值) |
吸气剂 |
已初始化() |
此接口是否已初始化?
bool interface_is_primary
违约 |
假 |
设定器 |
设置为主要(值) |
吸气剂 |
是主要的 |
这是我们的主要接口吗?
方法说明¶
int get_camera_feed_id ( )
如果这是一个AR接口,需要将摄像头源显示为背景,则此方法返回 CameraServer 对于这个接口。
int get_capabilities ( ) const
返回提供有关此接口功能的信息的标志组合。
String get_name ( ) const
返回此接口的名称(openvr、openhmd、arkit等)。
Vector2 get_render_targetsize ( )
返回在VR平台应用镜头失真等操作之前,我们应该呈现中间结果的分辨率。
Tracking_status get_tracking_status ( ) const
如果支持,返回跟踪的状态。这将允许您向用户提供关于位置跟踪是否存在问题的反馈。
bool initialize ( )
调用此函数初始化此接口。初始化的第一个接口被标识为主接口,它将用于呈现输出。
初始化要使用的接口后,需要启用视区的AR/VR模式,并开始渲染。
注: 对于任何使用godot主输出的设备(如移动虚拟现实),必须在主视区上启用ar/vr模式。
如果你为一个处理自己输出的平台(比如openvr)这样做,godot只会在屏幕上显示一只眼睛而不会变形。或者,您可以向场景中添加一个单独的视区节点,并在该视区上启用ar/vr,它将用于输出到hmd,使您可以在主窗口中自由地执行任何您喜欢的操作,例如使用单独的摄影机作为观众摄影机或渲染完全不同的内容。
虽然目前没有使用,但您可以激活其他接口,如果您想从其他平台跟踪控制器,您可能希望这样做。但是,此时只有一个接口可以呈现给HMD。
bool is_stereo ( )
返回 true
如果这个接口的电流输出是立体声的。
void uninitialize ( )
关闭接口。