Unity发布运行在PICO4的安卓程序

文档

PICO Unity Integration SDK

环境

Windows10

Unity2021.3.45f2c1

准备

安卓发布准备

  1. 使用Unity Hub添加安卓模块;
  2. JDK版本不适配,从Oracle官网下载JDK11zip文件,Preferences/External Tools指定JDK路径
  3. Player Settings/Other Settings
    Identification:Minimum API Level设置为 Android 10.0(API level 29)
    Configuration:Scripting Backend设置为IL2CPP;Target Architectures 仅仅勾选ARM64
    勾选Override Default Package Name,设置Package Name
  4. 切换到安卓平台;

Unity准备

  1. 导入XR Interaction Toolkit 2.6.5,导入Starter Assets示例;
  2. 导入XR Plugin Management4.5.2;
  3. 导入Open XR Plugin1.13.2;
  4. 启用新的输入系统,仅使用新的输入系统;
  5. 选择Project Settings/XR Plugin Management
    勾选Initialize XR on Startup;勾选OpenXR;
    选择Project Validation,点击Fix All

Pico准备

  1. 下载插件 PICO Unity Integration SDK 3.3.3
  2. 使用Package Manager导入项目中,关闭pico弹出窗口;
  3. XRPluginManagement 勾选PiCO XR feature group,
    Project Validataion 点击Fix All;
  4. 选择Publishing Settings 设置CustomKeystore
  5. PIco硬件启用开发者模式;
  6. PIco头盔设置Home键快捷方式,应用中可返回到pico界面;
    设置/开发者选项/企业设置/系统设置/全部/单击/初始功能

示例

  1. 新建场景并打开;移除Main Camera;
  2. 创建Plane,设置位置(0,0,0),设置缩放(10,1,10);
  3. 打开Assets/Samples/XR Interaction Toolkit/2.6.5/Starter Assets/Prefabs,
    将XR Interaction Setup放置在场景中,设置位置(0,0,0);
    添加子对象XR Origin(XR RIg)添加组件PXR_Manager
  4. 创建空对象命名为Teleportation Area,添加组件Teleportation Area,设置Collider为Plane;
    设置Interaction Layer Mask为Teleport
  5. 场景添加到Build Settings/Scenes In Build;

测试

切换到pc平台使用串流软件进行测试,发布文件时再切换到android

发布

确保发布路径以及发布文件不存在中文

使用adb工具安装软件到pico中

问题

  1. Pico菜单栏看不到
    解决:重启
  2. 编辑器内串流,头盔能看内容,手柄无反应;
    解决:选择Project Settings/XR Plugin Management/OpenXR
    Enable Interaction Profiles添加Profile
相关推荐
淡海水12 小时前
10-01-互操作-C#与C++边界的内存管理
unity·c#·游戏引擎·.netcore·gc
橙光成长14 小时前
android-ad-cleaner:android免 Root 批量关闭系统开屏与营销推送
android·1024程序员节
深圳雨林凯AI14 小时前
图案裂变的底色衰减:alpha通道、亮度对比与白墨分色的量化拆解
android
mmsx14 小时前
Android 模块化收口:能力组合框架、手写 LifecycleOwner 与热修复共存
android
小小数媒成员14 小时前
UGUI原理(一)
开发语言·游戏·unity·游戏引擎
暴走约伯15 小时前
【VFX工具链源码拆解 04】拯救丢失的绑定:Timeline 一键克隆与层级相对路径重映射算法
unity·c#·游戏引擎·硬件工程
恋猫de小郭16 小时前
Flutter 可以更直接地调用原生 API 了,Dart Direct Native Interop
android·前端·flutter
2501_9160088916 小时前
iPhone 设备信息查看,用 KeyMob 看型号、序列号、电池健康和 UDID
android·ios·小程序·https·uni-app·iphone·webview
小小数媒成员17 小时前
Unity UGUI布局组件(LayoutGroup、ContentSizeFitter、LayoutElement)详解
unity·游戏引擎
tealcwu17 小时前
【Unity基础】Unity输入与Time.deltaTime的使用原则
unity·游戏引擎