使用JIMO ActionOne HongHu 及其他MR VR眼镜,将真实场景和游戏内场景混合渲染
2024-09-08 14:17:33
1. 在VR相机Head内创建一个 Camera 和两个RawImage(Camera 的参数和VRCamera的参数一致, 两个RawImage尺寸一致, 要把VRCamera的相机遮挡住 )
2.Camera负责渲染游戏内的画面,将画面通过RenderTexture 渲染到第二个RawImage上
3.设置需要渲染物体的Layer为ShowObj ,没有就自己ADD
4.设置Camera 的CullingMask 为只渲染ShowObj层
5.将VRCamera相机的CullingMask设置为UI(就是只能看见两个RawImage,其它不渲染就行,自行修改RawImage的Layer,和 3 4 步骤一个意思)
6.新建OperCamera,代码如下:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI; public class OpenCamera : MonoBehaviour
{
// UI 相关参数 public RawImage rawImage; // 摄像机图片参数 private WebCamTexture webCamTexture;
// Start is called before the first frame update
void Start()
{
StartCoroutine("OpenCameraTest");
} IEnumerator OpenCameraTest()
{
// 申请相机权限 yield return Application.RequestUserAuthorization(UserAuthorization.WebCam); // 判断是否有相机权限 if (Application.HasUserAuthorization(UserAuthorization.WebCam))
{ // 获取相机设备 WebCamDevice[] webCamDevices = WebCamTexture.devices; // 判断是否有相机设别 if (webCamDevices != null && webCamDevices.Length > 0)
{ // 把 0 号设备(移动端后置摄像头)名称赋值 string webCamName = webCamDevices[0].name; // 设置相机渲染宽高,并运行相机 webCamTexture = new WebCamTexture(webCamName, Screen.width, Screen.height);
// webCamTexture.requestedFPS = 30;
webCamTexture.Play(); // 把获取的图像渲染到画布上 rawImage.texture = webCamTexture; } } }
}
将第一个RawImage放入 ,直接运行就行了。
最新文章
- Python中的多进程与多线程(一)
- Asp.net实现直接在浏览器预览Word、Excel、PDF、Txt文件(附源码)
- PAT (Advanced Level) Practise:1002. A+B for Polynomials
- SOCKET 服务器停止服务时清理连接操作
- Firefox使用svg blur滤镜渲染图片
- Angularjs调用公共方法与共享数据
- nginx 配置其他路径
- hdu 5802 Windows 10 贪贪贪
- Asp.Net MVC安全更新MS14-059导致项目编译失败
- Quartz中文文档使用
- flash 右键菜单隐藏与修改
- MongoDB学习之路(五)
- 腾讯云数据库团队:MySQL语句复制(SBR)的缺陷列举
- shell sed过滤器详解
- Pytorch: cuda runtime error (59) : device-side assert triggered at /pytorch/aten/src/THC/generic/THCTensorMa
- Jenkins ubantu15 安装使用教程
- Yii1.1框架关于日志的配置的简单使用
- 猜数字游戏 在控制台运行--java详解!了;来玩
- JNI 开发基础篇:Android开发中os文件的探索
- Liferay7 BPM门户开发之12:acitiviti和liferay用户权限体系集成