增强现实/虚拟现实 | AR/VR
此类拼图可用于实现基于网页的增强现实(AR)和虚拟现实(VR)体验。这是一种正在开发中的浏览器技术,称为WebXR(eXtended Reality on the Web)。
关于支持的AR和VR设备,以及开展最佳实践的详细介绍,请参见手册中的 对应章节 。
内容
拼图参考
check VR mode(检查AR模式)
检查虚拟现实系统。如果成功的话,if available do 中的拼图会被触发。如果浏览器不支持VR或者没有找到VR硬件,那么 if unavailable do 插槽中的拼图将被触发。
请查看以下 章节 了解使用Verge3D创建VR应用的详细信息。
enter VR mode(进入AR模式)
进入虚拟现实模式。在进入或退出VR模式时,放置在 on enter do 和 on exit do 槽中的拼图会被触发。在无法建立VR会话时将触发放在 if unavailable do 插槽的拼图。
VR定位模式:
- sitting or standing(坐着或站着)
- 放置在离地面一定高度的不可移动的摄影机。
- room(房间模式)
- 位于某些范围内(如房间)的移动摄影机(例如HTC Vive、Oculus Quest)。
- looking around(环顾四周)
- 位于零坐标处的不移动的摄影机。
- walking(步行模式)
- 无边界的移动摄影机。
- viewer locked(视角锁定)
- 位于零坐标处的不移动的摄影机。所有内容都以视图为父节点。
为在VR模式下正确地控制摄影机,请确保在进入VR模式时,将其与一些空对象、虚拟对象或真实对象相对齐,请在您选择的3D编辑器中进行定位。这一点很必要,因为VR会话对您的摄影机有完全的控制权,而您只能移动摄影机所依附的空对象或虚拟对象。
end VR session(结束VR会话)
结束一个虚拟现实会话。
check AR mode(检查AR模式)
检查增强现实系统。如果成功的话,if available do 中的拼图会被触发。如果浏览器不支持AR或者没有找到AR硬件,那么 if unavailable do 插槽中的拼图将被触发。
请查看如下 章节 了解基于Verge3D创建增强现实应用的详细信息。
enter AR mode(进入AR模式)
进入增强现实模式。在进入或退出AR模式时,放置在 on enter do 和 on exit do 槽中的拼图会被触发。在无法建立AR会话时将触发放在 if unavailable do 插槽的拼图。
属性 allow HTML 用于在AR模式中显示HTML内容。如果选定, canvas container 元素的内容将被渲染在3D内容之上。此选项是实验性的。
AR定位模式:
- sitting or standing(坐着或站着)
- 放置在离地面一定高度的不可移动的摄影机。
- room(房间模式)
- 移动摄影机位于某个范围内,如房间。
- looking around(环顾四周)
- 位于零坐标处的不移动的摄影机。
- walking(步行模式)
- 无边界的移动摄影机。
- viewer locked(视角锁定)
- 位于零坐标处的不移动的摄影机。所有内容都以视图为父节点。
detect surface AR(检测AR平面)
在AR模式下,通过向前投射一条射线来检测平面。当相交时,该光线会在 on intersection do 槽中触发拼图。如果没有发生相交或者设备处于预热状态,拼图就会触发 if missed do 槽。
参数 smooth 是用来平滑化AR标记的运动。指定值为0表示禁用平滑,接近1的值表示最大的平滑。
AR hit point(AR碰撞点)
由 detect surface AR(检测AR平面) 拼图检测到的表面点坐标。可以是X,Y,Z值,或XYZ矢量。
AR hit normal(AR碰撞法线)
由 detect surface AR(检测AR水平面) 拼图检测到的表面法线向量。可以是 X, Y, Z 值,或 XYZ 向量。
on session event(在会话事件...)
捕获一个由VR设备(例如:头戴式显示器或控制器按钮)产生的VR会话事件,并触发在 do 槽中指定的拼图。
事件:
- select - 当用户按下并释放主控制器按钮时触发。
- selectstart - 当用户按下主控制器按钮时触发。
- selectend - 当用户释放主控制器按钮时触发。
- squeeze - 当用户挤压并释放控制器时触发。
- squeezestart - 当用户挤压一个控制器时触发。
- squeezeend - 当用户取消挤压控制器时触发。
- connected - 当VR控制器连接时被触发,即进入VR会话时。使用这个事件来初始化任何控制器逻辑。
- disconnected - 当VR控制器断开连接时被触发。
traverse controllers(遍历控制器)
循环遍历所有连接的VR控制器,执行 do 槽中指定的拼图。
get controller property
获取控制器的属性。
属性:
- object - 一个代表控制器的空对象。
- ray/reticle - 控制器的射线或十字线对象。
- handedness - 控制器的惯用手:"left"(左控制器),"right"(右控制器),"none"(未指定,可能是头戴式控制器)。
- Target ray mode - 目标射线模式:"gaze" (用于注视类设备,即Cardboard类设备),"tracked-pointer" (用于普通的手持控制器), "screen" (该事件与画布输入有关,目前尚未实现)。
- profiles - 控制器配置文件名称的列表。
- gamepad index - 控制器的游戏手柄索引,可以传递给 get gamepad property(获取游戏手柄属性) 拼图,以便从您的控制器获取更多信息,比如按钮/轴的状态。
在使用拼图时遇到困难?
欢迎您随时在 论坛上提问!您还可以加入中文用户社区QQ群(171678760),在线寻求帮助。