Pico4 MR Unity零基础开发之开启MR透视

一、新建场景: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 窗口,将 RGBA 值都设置为 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,否则视频透视无法生效

结束,打包测试既可,详情请看下篇!

最近更新

  1. TCP协议是安全的吗?

    2024-06-09 21:26:04       19 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-09 21:26:04       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-09 21:26:04       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-09 21:26:04       20 阅读

热门阅读

  1. Jupyter | 如何在Jupyter应用中添加、删除虚拟环境

    2024-06-09 21:26:04       9 阅读
  2. Apache Doris 2.0.11 版本正式发布

    2024-06-09 21:26:04       10 阅读
  3. IntelliJ IDEA安装

    2024-06-09 21:26:04       8 阅读
  4. OnlyOwner在Solidity中是一个修饰符,TypeError:

    2024-06-09 21:26:04       10 阅读
  5. 【C/C++】C语言实现std::move

    2024-06-09 21:26:04       10 阅读
  6. Search用法Python:深入探索搜索功能的应用与技巧

    2024-06-09 21:26:04       11 阅读
  7. spring框架限制接口是否要登录过才能访问

    2024-06-09 21:26:04       8 阅读
  8. 如何用结构化写好GPT的Prompt提示词

    2024-06-09 21:26:04       13 阅读
  9. DefaultTokenServices源码

    2024-06-09 21:26:04       10 阅读