前言本文主要讲述在Unity中搭建Pico的开发环境偏个人记录向有不正确/不专业的地方欢迎指出错误也欢迎一起探讨问题。项目制作完成后导出的apk文件实测在Pico neo3及Pico 4上都能运行。使用的Unity编辑器版本是2020.3.26f1c1Visual Studio版本为2019Pico Unity Integration SDK版本为214。目录一.为编辑器安装Android模块二.新建工程项目切换目标平台至Android三.导入Pico Unity Integration SDK四.升级XR Interaction Toolkit导入样例五.配置项目设置六.配置XR Origin七.将SDK嵌入项目工程可选一.为编辑器安装Android模块Pico使用的是Android系统安装模块时务必勾选Android Build Support下的所有选项。二.新建工程项目切换目标平台至Android打开顶部菜单栏File—Build Settings...快捷键CtrlShiftB将Platform切换为Android当Unity的logo位于右侧视为切换成功。三.导入Pico Unity Integration SDK打开顶部菜单栏Window—Package Manager单击Add package from disk...在弹出的文件资源管理器中找到SDK选中json文件并打开。确保1、3选项后为Applied满足条件后即可单击Close关闭选项2可忽略高版本的SDK不需要填写此项。未填写App ID会出现弹窗询问是否忽略直接单击Ignore即可。四.升级XR Interaction Toolkit导入样例将Package Manager的包搜索范围改为Unity Registry下滑找到XR Interaction Toolkit单击Update to 2.3.2。升级过程中会弹出Warning窗口直接单击“Yes”出现下一个弹窗单击“I Made a Backup,Go Ahead!”后编辑器会重启。完成后将XR Interaction Toolkit包下Samples的前两个样例导入。第一个样例提供了一个DemoScene场景中包括了定点传送、移动、射线抓起物体、按钮交互、射线移入移出交互等功能。第二个样例提供一个模拟器能够在PC端使用键盘、鼠标输入模拟眼镜中手柄的交互操作。五.配置项目设置打开顶部菜单栏Edit—Project Settings也可以在Build Settings中左下角Player Settings...打开单击左侧列表中的XR Plug-in Management在Android选项下勾选Pico。注意请勿勾选其他平台提供的插件否则应用将无法在Pico设备上正常运行。单击左侧列表中的Player修改Minimum API Level为Android 10.0(API level 29)Scripting Backend为IL2CPP勾选ARM64取消勾选ARMv7。Minimum API Level设置应用运行所需的最低 Android SDK 版本。PICO 插件支持的最低 Android SDK 版本为 10.0即 API 等级 29。若低于该版本构建应用时会报错。Scripting Backend设置项目内 C# 代码的编译方式。与 Mono 相比IL2CPP 可以更好地支持跨平台应用开发。IL2CPP 后端可以将 MSILMicrosoft Intermediate Language代码例如脚本中的 C# 代码转换为 C 代码然后通过 C 代码生成一个兼容所选开发平台的原生二进制文件例如 .exe、.apk 或 .xap。Target Architectures设置应用的运行环境即 CPU。ARM64 允许应用在 64 位环境中运行以实现更好的应用性能。此外64 位应用拥有更高的寻址空间超过 4GB且支持动态内存分配。单击左侧列表中的XR Interaction Toolkit勾选Use XR Device Simulator in scenesXR Device Simulator prefab项会自动添加一个模拟器的预制件勾选此项的目的是在PC机上能够模拟Pico中的手柄输入操作无需重复多次导出APK进入眼镜测试效果。注意当要打包APK文件时需要取消勾选此项否则Pico眼镜中打开应用会闪退。六.配置XR Origin删除场景中的Main Camera右击选择XR—XR Origin(VR)创建VR相机。展开XR Origin选中LeftHand Controller导入对应左手手柄预设如果先前没有导入Starter Assets此处为空在Project面板中选择All Prefabs下滑找到需要的手柄模型拖拽到脚本的Model Prefab列将LeftHand Controller本身拖拽至Model Parent列作为手柄模型的父物体。右手手柄同理。此项可以根据需求选择是否添加如果不添加手柄模型运行时场景中只有两条红色的手柄射线但不影响功能。运行后场景中会自动添加模拟器左下角的面板提示鼠标键盘分别映射手柄的什么按键这里再做简单说明按住Space键视为启用右手手柄按住Left Shift键视为启用左手手柄。鼠标左键单击映射手柄的扳机键Trigger键盘G键映射手柄的侧键Grip通常用作抓取。下图为Pico neo3的手柄按键说明。至此环境配置完成。七.将SDK嵌入项目工程可选此步目的是将SDK嵌入Unity项目工程中适用于跨设备开发需求。Project面板下右击Assets—Show in Explorer在打开的文件资源管理器中双击进入Packages文件夹进入后有两个脚本双击进入将先前导入时识别的SDK路径删除并保存不同设备路径所在代码行不同完成后关闭。将SDK拖拽到Packages文件夹中即可返回编辑器后Unity会自动编译。