Unity基于PICO4设备实现VR下的多场景切换(巨详细,案例全csdn仅此一家)
创始人
2024-12-08 10:03:48
0

文章目录

  • 1 创建unity项目
    • 1.1 打开Unity Hub
    • 1.2 创建项目
  • 2 配置项目
    • 2.1 配置插件,导入SDK
    • 2.2 搭建场景
    • 2.3 编写脚本
    • 2.4 PICO项目配置
      • 2.4.1 实现思路
      • 2.4.1 实现步骤
  • 3 项目打包和运行部署
    • 3.1 PICO项目运行环境配置
    • 3.2 打包运行
  • 4 结语

1 创建unity项目

1.1 打开Unity Hub

打开unity Hub,先点击左侧项目一栏,再点击右上角的新项目,弹出创建窗口后,选择URP模板,自定义项目名称和位置,取消勾选版本管理,最后点击创建项目即可(注意:我这里的unity版本为2020.3.37f1c1 LTS)。
在这里插入图片描述
在这里插入图片描述

1.2 创建项目

点击创建项目后,第一次创建项目时,需等待一段时间加载,项目初始页面如下
在这里插入图片描述

2 配置项目

2.1 配置插件,导入SDK

1、点击windows下的Package Manager,按照图示步骤,下载安装XR Interaction Toolkit和XR Plugin Management 两个插件(插件在安装完毕后会重启项目,不要慌),其中在安装XR Interaction Toolkit时,会有一个弹框出现,点yes->no thanks即可,引入starter assets资源(该demo中含有已经配置好了的vr手柄参数)。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2、按照如下图示的步骤,点+,再点击从本地磁盘导入的方式导入pico的SDK,picoSDK的下载点这里跳转。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.2 搭建场景

1、先右键删除项目自带的Main Camera,因为自带的相机在VR设备(如pico4)中是看不到任何东西的,需要用XR下的摄像机,在项目的空白区域右键,选择XR下的XR Origin(VR)。
在这里插入图片描述
2、最关键的一步来了,点开我们刚开始import的starter assets资源(在Samples的XR Interaction Toolkit下),将XRI Default Left Controller左键摁住不松手,把他拖拽到LeftHand Controller的XR Controller(Action-base)上松开即可,同理,将XRI Default Right Controller拖拽到RightHand Controllerd的XR Controller(Action-base)上松开即可。这一步是把官方提供的demo中配置好的手柄参数直接拿来用,不用从0开始写一份脚本,节约时间。
在这里插入图片描述

2.3 编写脚本

1、在Project窗口下,右键Scripts目录,create->C# Script,脚本名称自定义,我这里叫SceneSwitch,双击打开进行编辑,
在这里插入图片描述
代码如下,

using UnityEngine; using System.Collections; using UnityEngine.SceneManagement;  public class SceneSwitch : MonoBehaviour {      // Use this for initialization     void Start()     {      }      // Update is called once per frame     void Update()     {      }     public void jump0()     {         SceneManager.LoadScene(0);//跳转到场景SampleScene     }     public void jump1()     {         SceneManager.LoadScene(1);//跳转到场景Scene1     }     public void jump2()     {         SceneManager.LoadScene(2);//跳转到场景Scene2     } }   

2、新建场景,右键Scene目录,create->Scene,创建两个新的空场景Scene1和Scene2,双击Scene1,在Scene1中添加一个正方体,具体操作:在HIerarchy窗口下,右键空白区域,3D Object->Cube即可,用于区分两个场景。(这两个场景都需要重复2.2的步骤)
在这里插入图片描述

2.4 PICO项目配置

2.4.1 实现思路

为了切换场景,我们需要借助一个东西来实现这个功能,我这里采用的如下思路,
在XR Origin的Main Camera下创建一个Canvas,在上边创建一些UI组件,如可以与VR手柄射线交互的button组件,以及可用于文字展示的text组件,然后再将2.3中的脚本挂载到这些button上去,在VR环境下用手柄射线点击该button,button便执行挂载上边的对应脚本功能,即可实现场景切换的功能。(在XR Origin的Main Camera下创建一个Canvas的目的是为了让该UI界面不随着vr设备视野的变化而变化,让其始终保持在视野前方固定不变)

2.4.1 实现步骤

1、创建Button(创建Button的同时自动创建了Canvas),步骤见下
在这里插入图片描述
2、重命名该button为down,意为切换到下一个场景,并调整Button的位置和大小(也可根据个人喜好自行调整),步骤如下,
2.1、将button拖拽到左下角
在这里插入图片描述
2.2修改其属性,如下
在这里插入图片描述
3、挂载脚本到Canvas上,步骤如下
在这里插入图片描述
4、将加载下一个场景的函数jump1挂载到down按钮上,如下
在这里插入图片描述
在这里插入图片描述
5、至此,我们就实现了一个切换到下一个场景的功能了,同理,我也可以安装上述步骤,添加一个up按钮(切换到上一个场景),步骤同上,只需修改在函数为jump2即可。
我们在Scene1和Scene2中重复同样的操作即可完成3个场景的循环切换,即SampleScene->Scene1->Scene2->SampleScene->Scene1->Scene2->SampleScene->…

3 项目打包和运行部署

3.1 PICO项目运行环境配置

这一步的配置是pico官方提供的项目配置,以保证你的应用能成功接入 XR 能力,完成构建并在 PICO 设备上正常运行。具体详细步骤见pico官方文档的快速开始,点这里跳转。(其中第四步和第五步可不用配置)

3.2 打包运行

可以按照如下步骤进行打包运行,也可以参考官方提供的运行示例,点这里跳转。
场景创建完毕后,让我们将其打包为可在 PICO 设备上运行的应用(即 .apk 文件)。
第一步:切换开发平台
PICO XR 应用的目标编译平台是安卓平台。
1、从上方菜单栏处,选择 File > Build Settings。
2、在 Build Settings 窗口中,从 Platform 列表处选择 Android。
在这里插入图片描述

3、点击 Switch Platform。若该按钮变为 Build,表示平台切换成功。
第二步:打包并运行场景
使用 Unity 编辑器自带的 Build 工具将 XR 场景构建为可在 PICO 设备上运行的 APK 文件。步骤如下:
1、使用 USB 数据线连接 PICO 设备和 PC。
2、在 Build Settings 窗口中,点击 Add Open Scenes 将 SampleScene 添加为待构建场景。再点击Scene1/Scene2,切换到该场景后,File->Building Settings,再点击Add Open scenes,将该场景添加到接下来打包后的apk文件中去。
在这里插入图片描述

3、将 Run Device 设置为 All Compatible Devices 或与 PC 连接的 PICO 设备的型号。
在这里插入图片描述
4、点击 Build And Run。你将看到 Build Android 窗口。
5、选择 APK 文件的存储位置。Unity 开始编译应用。编译完成后,PICO 设备将自动运行该 APK 文件。

4 结语

本文主要是之前实验室的一个VR小项目所用到的技术,为了方便实验室的学弟学妹们后续接手,特写下此篇文章以作参考学习,关于本项目的一些后续技术,如优化模型、调整场景地平面高度和UI面板分布、美化VR场景以及实现多设备间跨语言通信(基于udp/tcp通信)。服务端(发送/接收数据):PC端、pico4,电脑客户端(发送/接收数据,并以图形可视化的形式展示数据),我会陆续产出相应的文章。
如遇问题,请在评论区积极留言,看到就会回复。

相关内容

热门资讯

详细房卡教程,微信上玩炸金花充... 微信斗牛是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:86909166许多玩家在游戏中会购买房卡来...
玩家攻略新九游房卡充值/新道游... 第二也可以在游戏内商城:在游戏界面中找到 “微信金花,斗牛链接房卡”“商城”选项,选择房卡的购买选项...
终于发现!微信玩牛牛房卡链接,... 微信游戏中心:牛牛房卡,添加微信【56001354】,进入游戏中心或相关小程序,搜索“微信牛牛房卡”...
头条推荐!金花房卡怎么购买神盾... 神盾大厅是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:【3329006910】或QQ:332900...
一分钟发现,金花客服代理房卡获... 九酷大厅是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:160470940许多玩家在游戏中会购买房卡...
我来教你/金花微信链接市场价格... 我来教你/金花微信链接市场价格表精灵大厅/正规房卡平台有哪些Sa9Ix苹果iPhone 17手机即将...
1分秒分析财神获得房卡链接渠道... 第二也可以在游戏内商城:在游戏界面中找到 “微信金花,斗牛链接房卡”“商城”选项,选择房卡的购买选项...
正规平台有哪些,牛牛房卡游戏代... 今 日消息,海星大厅房卡添加微信33549083 苹果今日发布了 iOS 16.1 正式版更新,简单...
终于发现!拼三张房卡哪里买,新... 微信游戏中心:拼三张房卡,添加微信【66336574】,进入游戏中心或相关小程序,搜索“微信拼三张房...
科技实测!牛牛房卡制作链接南瓜... 南瓜大厅/新道游房卡更多详情添加微:33549083、 2、在商城页面中选择房卡选项。 ...
一分钟介绍推荐,玩链接牛牛金花... 先锋大厅是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:44346008许多玩家在游戏中会购买房卡来...
实测教程牛牛房卡购买/新老夫子... 实测教程牛牛房卡购买/新老夫子房卡在哪里购买! 微信牛牛房卡客服微信号微信游戏中心打开微信,添加客服...
头条推荐!牛牛房卡出售逍遥大厅... 头条推荐!牛牛房卡出售逍遥大厅/微信链接哪里购买房卡逍遥大厅是一款非常受欢迎的游戏,咨询房/卡添加微...
我来教你/牛牛房卡怎么购买皇豪... 微信游戏中心:皇豪互娱/新道游房卡在哪里买打开微信,添加客服微信【88355042】,进入游戏中心或...
正版授权!金花房卡代理零售新神... 新神兽/青龙大厅是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:【3329006910】或QQ:33...
重大通报,游戏微信牛牛房卡新鸿... 重大通报,游戏微信牛牛房卡新鸿运大厅/科技房卡多少钱一张Sa9Ix苹果iPhone 17手机即将进入...
房卡全攻略,微信链接金花房卡怎... 卡卡大厅是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:160470940许多玩家在游戏中会购买房卡...
实测教程新蛮王哪里有详细房卡介... 实测教程新蛮王哪里有详细房卡介绍/牛牛房卡批发市场!微信房卡充值 添加房卡批售商:微【1138577...
终于发现!微信群开牛牛房卡,老... 微信游戏中心:斗牛房卡,添加微信【71319951】,进入游戏中心或相关小程序,搜索“微信斗牛房卡”...
IA解析/怎么买斗牛房卡新永和... 今 日消息,新永和/皇豪互娱房卡添加微信33549083 苹果今日发布了 iOS 16.1 正式版更...