增强现实/虚拟现实 | AR/VR

此类拼图可用于实现基于浏览器的WebXR(eXtended Reality on the Web)技术运行的增强现实(AR)和虚拟现实(VR)体验。

AR/VR可视化编程块

关于支持的AR和VR设备,以及开展最佳实践的详细介绍,请参见手册中的 对应章节

内容

拼图参考

check VR mode(检查VR模式)

检查虚拟现实系统。如果成功,if available do 中的拼图会被触发。如果浏览器不支持VR或者没有找到VR硬件,if unavailable do 插槽中的拼图将被触发。

检查系统是否支持VR硬件的可视化编程块

请查看以下 章节 了解使用Verge3D创建VR应用的详细信息。

enter VR mode(进入VR模式)

进入虚拟现实模式。在进入或退出VR模式时,放置在 on enter doon exit do 插槽中的拼图会被触发。在无法建立VR会话时将触发放在 if unavailable do 插槽的拼图。

进入VR模式可视化编程块

VR定位模式:

sitting or standing
放置在离地面一定高度的不可移动的摄影机。世界坐标空间的中心位于用户脚下。此模式是推荐使用的,因为它与市场上最受欢迎的VR头戴设备兼容,如Meta Quest 1-3、HTC Vive等。
looking around
位于零坐标处的不移动的摄影机。
room
位于某些范围内(如房间)的移动摄影机。
walking
无边界的移动摄影机。
viewer locked
位于零坐标处的不移动的摄影机。所有内容都以视图为父节点。

为在VR模式下正确地控制摄影机,请确保在进入VR模式时,将其与一些空对象、虚拟对象或真实对象相对齐并设为父对象,在您选择的3D编辑器中进行定位。这一点很必要,因为VR会话对您的摄影机有完全的控制权,而您只能移动摄影机所依附的空对象或虚拟对象。

进入VR模式使用的示例脚本

从Verge3D 4.3开始,您可以使用 camera control object(摄影机控制对象) 拼图代替手动创建控制对象。

check AR mode(检查AR模式)

检查增强现实系统(WebXR)。如果成功,if available do 插槽中的拼图会被触发。如果浏览器不支持AR或者没有找到AR硬件,else if unavailable do 插槽中的拼图将被触发。else if Apple USDZ do 插槽中的拼图在没有找到WebXR兼容硬件但系统支持基于USDZ的Apple AR Quick Look技术时被触发。

检查系统是否支持AR模式的可视化编程块

请查看以下 章节 了解使用Verge3D创建AR应用的详细信息。

enter AR mode(进入AR模式)

进入增强现实模式。在进入或退出AR模式时,放置在 on enter doon exit do 插槽中的拼图会被触发。在无法建立AR会话时将触发放在 if unavailable do 插槽的拼图。

属性 allow HTML 用于在AR模式中显示HTML内容。如果指定,canvas container 元素的内容将被渲染在3D内容之上。此选项是实验性的。

AR定位模式:

looking around
位于零坐标处的不移动的摄影机。此模式推荐用于典型的AR用例,例如在某个水平或垂直表面上定位模型。
sitting or standing
放置在离地面一定高度的不可移动的摄影机。世界坐标空间的中心位于用户脚下。
room
位于某些范围内(如房间)的移动摄影机。
walking
无边界的移动摄影机。
viewer locked
位于零坐标处的不移动的摄影机。所有内容都以视图为父节点。
进入AR模式可视化编程块

detect surface AR(检测AR平面)

在AR模式下,通过向前投射一条射线来检测平面。当相交时,该射线会在 on intersection do 插槽中触发拼图。如果没有发生相交或者设备处于预热状态,拼图就会触发 if missed do 插槽。

参数 smooth 是用来平滑化AR标记的运动。指定值为0表示禁用平滑,接近1的值表示最大的平滑。

AR模式下检测平面的可视化逻辑块

AR hit point(AR碰撞点)

detect surface AR(检测AR平面) 拼图检测到的表面点坐标。可以是 XYZ 值,或 XYZ 矢量。

AR模式下获取碰撞点坐标的块

AR hit normal(AR碰撞法线)

detect surface AR(检测AR平面) 拼图检测到的表面法线向量。可以是 XYZ 值,或 XYZ 向量。

AR模式下获取碰撞点法线的块

camera control object(摄影机控制对象)

获取摄影机控制对象。通过偏移此对象(例如使用 set transform(设置变换) 拼图),您可以高效地在AR或VR模式下移动摄影机。这使您无需专门维护某个空对象来作为摄影机的父对象和捕捉目标,因为此对象在进入或退出WebXR时会自动创建或丢弃。

AR/VR模式下获取摄影机控制对象的可视化块

on session event(在会话事件...)

捕获一个由VR设备(例如头戴式显示器或控制器按钮)产生的VR会话事件,并触发在 do 插槽中指定的拼图。

捕获WebXR事件的可视化逻辑脚本

事件:

traverse controllers(遍历控制器)

循环遍历所有连接的VR控制器,执行 do 插槽中指定的拼图。

遍历VR控制器的可视化编程块

get controller property(获取控制器属性)

获取控制器的属性。

查询VR控制器的可视化编程块

属性:

end AR/VR session(结束AR/VR会话)

结束一个虚拟现实或增强现实会话。

结束AR/VR会话的可视化块

在使用拼图时遇到困难?

欢迎您随时在 论坛上提问!您还可以加入中文用户社区QQ群(171678760),在线寻求帮助。