一、新建场景:SeethroughScene
1、新建场景。
二、添加 XR 摄像机进行设置
1、在 Hierarchy 窗口中,右击默认添加的 Main Camera,然后点击 Delete 将其删除。
2、点击 + > XR > XR Origin (VR),将 XR Origin 添加至场景
3、XR Origin 物体包含以下元素:
元素 | 说明 |
XR Origin | 主物体,负责挂载管理控制脚本。 |
Camera Offset | 同步头戴 6Dof 数据,使摄像头和手柄能够在场景中移动。 |
Main Camera | 主摄像机,负责捕捉和生成展示在显示器上的画面。 |
LeftHand Controller | 左手柄节点。 |
RightHand Controller | 右手柄节点。 |
4、添加组件。
① 选中 XR Origin。
② Inspector 窗口中将显示 XR Origin 挂载的组件和脚本,点击 Inspector 窗口底部的 Add Component 按钮。
③ 搜索 PXR_Manager 脚本,然后双击将其添加。
5、PXR_Manager 脚本勾选 Video Seethrough 选框。
6、设置相机。选中Hierarchy面板中的 XR Origin (XR Rig)下Camera Offset中的Main Camera。
① Anti-Aliasing 抗锯齿 视情况选择。
② 将 Background Type设置为 Solid Color。
③ 在 Background 处,点击颜色条,打开 Color 窗口,将 R、 G、 B、 A 值都设置为 0,或直接将 Hexadecimal 设置为 000000。 场景的背景颜色已被设置为黑色,Alpha 通道已被设置为完全透明。
④ HDR 设置为off
三、编写代码
1、在代码编辑器中打开你的脚本文件,使用 Unity.XR.PXR 命名空间,然后在 Awake 或者 Start 部分调用 EnableVideoSeeThrough,为应用开启透视。
暂停应用后,透视将自动失效。因此,需在 OnApplicationPause 里再次调用 EnableVideoSeeThrough,以便应用恢复后重启透视。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Unity.XR.PXR;
public class SeethroughManager : MonoBehaviour
{
// 开启透视
void Awake()
{
PXR_MixedReality.EnableVideoSeeThrough(true);
}
// 应用恢复后,再次开启透视
void OnApplicationPause(bool pause)
{
if (!pause)
{
PXR_MixedReality.EnableVideoSeeThrough(true);
}
}
}
四、注意事项
- 需禁用场景内的所有后处理能力,否则透视无法生效。
- 若你在项目中使用了 Vulkan 和通用渲染管线(URP),则需要禁用 HDR,否则视频透视无法生效
结束,打包测试既可,详情请看下篇!