Nreal眼镜的开发与部署(二)

2024-02-21 01:20
文章标签 部署 开发 眼镜 nreal

本文主要是介绍Nreal眼镜的开发与部署(二),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Nreal简单的开发:

1.添加Nreal的摄像机

在新建的场景里删掉原来的摄像机,把SDK里的Prefab摄像机NRCameraRig预制体拉到场景中
在这里插入图片描述
NRCameraRig上的属性
在这里插入图片描述
①操作系统的状态设置,一般是配置好使用默认的,配置里包括地面监测、图像跟踪等等
②该组件用于设置相机参数,更新设备模式,当TrackingType选择Tracking6Dof,设备可以前后左右移动并旋转;当TrackingType选择Tracking3Dof,只能原地旋转
③应用app的管理,里面是对手柄控制器操控监听
④Nreal虚拟显示器,保持默认就好


2.添加手柄操控交互

把NRInput预制体拉到场景中
在这里插入图片描述
NRInput上的属性
在这里插入图片描述
需要将Override Camera Center那一项值更改为CenterCamera,只需要将NRCameraRig下的CenterCamera拖放进来就行了
在这里插入图片描述
其他的值默认不需要改变,已经配置好了。


 

如何与UI交互

在Canvas上,需要添加CanvasRaycastTarget脚本,添加之后,该Canvas下的所有UI组件都可以手柄进行交互
在这里插入图片描述
在这里插入图片描述


如何使用AR图片识别功能在这里插入图片描述

在这里插入图片描述
①将NRTrackableImageTarget预制体拖到场景中
②场景中放置识别图片后出来的模型(例如:Cube)
在这里插入图片描述
③新建个空物体,挂载脚本TrackableFoundTest
在这里插入图片描述
④Observer的值为NRTrackableImageTarget,Obj的值为物体Cube,这就好了

打开TrackableFoundTest脚本,只有几行代码,通俗易懂。这几行代码就是识别后在识别图上显示物体。在此基础上我添加了手柄与物体的交互,手柄指向物体摁下Trigger键,物体随机变色,需要引入using NRKernal命名空间

using NRKernal;
using UnityEngine;public class TrackableFoundTest : MonoBehaviour
{public TrackableObserver Observer;public GameObject Obj;void Start(){
#if !UNITY_EDITORDestroy(GameObject.Find("EmulatorRoom"));
#endifObj.SetActive(false);Observer.FoundEvent += Found;Observer.LostEvnet += Lost;}private void Update(){if (NRInput.GetButtonDown(ControllerButton.TRIGGER)){Obj.GetComponent<Renderer>().material.color = new Color(Random.value, Random.value, Random.value);}}private void Found(Vector3 pos, Quaternion qua){Obj.transform.position = pos+new Vector3(0,0.15f,0);Obj.transform.rotation = qua;Obj.SetActive(true);}private void Lost(){Obj.SetActive(false);}
}

 

下一章是介绍如何部署到Nreal眼镜中

请看Nreal眼镜开发与部署(三)

这篇关于Nreal眼镜的开发与部署(二)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/730161

相关文章

Docker部署Jenkins持续集成(CI)工具的实现

《Docker部署Jenkins持续集成(CI)工具的实现》Jenkins是一个流行的开源自动化工具,广泛应用于持续集成(CI)和持续交付(CD)的环境中,本文介绍了使用Docker部署Jenkins... 目录前言一、准备工作二、设置变量和目录结构三、配置 docker 权限和网络四、启动 Jenkins

Android开发中gradle下载缓慢的问题级解决方法

《Android开发中gradle下载缓慢的问题级解决方法》本文介绍了解决Android开发中Gradle下载缓慢问题的几种方法,本文给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧... 目录一、网络环境优化二、Gradle版本与配置优化三、其他优化措施针对android开发中Gradle下载缓慢的问

使用Go语言开发一个命令行文件管理工具

《使用Go语言开发一个命令行文件管理工具》这篇文章主要为大家详细介绍了如何使用Go语言开发一款命令行文件管理工具,支持批量重命名,删除,创建,移动文件,需要的小伙伴可以了解下... 目录一、工具功能一览二、核心代码解析1. 主程序结构2. 批量重命名3. 批量删除4. 创建文件/目录5. 批量移动三、如何安

SpringBoot中整合RabbitMQ(测试+部署上线最新完整)的过程

《SpringBoot中整合RabbitMQ(测试+部署上线最新完整)的过程》本文详细介绍了如何在虚拟机和宝塔面板中安装RabbitMQ,并使用Java代码实现消息的发送和接收,通过异步通讯,可以优化... 目录一、RabbitMQ安装二、启动RabbitMQ三、javascript编写Java代码1、引入

ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法

《ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法》本文介绍了Elasticsearch的基本概念,包括文档和字段、索引和映射,还详细描述了如何通过Docker... 目录1、ElasticSearch概念2、ElasticSearch、Kibana和IK分词器部署

部署Vue项目到服务器后404错误的原因及解决方案

《部署Vue项目到服务器后404错误的原因及解决方案》文章介绍了Vue项目部署步骤以及404错误的解决方案,部署步骤包括构建项目、上传文件、配置Web服务器、重启Nginx和访问域名,404错误通常是... 目录一、vue项目部署步骤二、404错误原因及解决方案错误场景原因分析解决方案一、Vue项目部署步骤

Linux流媒体服务器部署流程

《Linux流媒体服务器部署流程》文章详细介绍了流媒体服务器的部署步骤,包括更新系统、安装依赖组件、编译安装Nginx和RTMP模块、配置Nginx和FFmpeg,以及测试流媒体服务器的搭建... 目录流媒体服务器部署部署安装1.更新系统2.安装依赖组件3.解压4.编译安装(添加RTMP和openssl模块

Android 悬浮窗开发示例((动态权限请求 | 前台服务和通知 | 悬浮窗创建 )

《Android悬浮窗开发示例((动态权限请求|前台服务和通知|悬浮窗创建)》本文介绍了Android悬浮窗的实现效果,包括动态权限请求、前台服务和通知的使用,悬浮窗权限需要动态申请并引导... 目录一、悬浮窗 动态权限请求1、动态请求权限2、悬浮窗权限说明3、检查动态权限4、申请动态权限5、权限设置完毕后

0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型的操作流程

《0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeekR1模型的操作流程》DeepSeekR1模型凭借其强大的自然语言处理能力,在未来具有广阔的应用前景,有望在多个领域发... 目录0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型,3步搞定一个应

redis群集简单部署过程

《redis群集简单部署过程》文章介绍了Redis,一个高性能的键值存储系统,其支持多种数据结构和命令,它还讨论了Redis的服务器端架构、数据存储和获取、协议和命令、高可用性方案、缓存机制以及监控和... 目录Redis介绍1. 基本概念2. 服务器端3. 存储和获取数据4. 协议和命令5. 高可用性6.