Logo
首页
产品中心
解决方案
关于我们
新闻报道
文档中心
clear
XR整机
arrow
使用文档
arrow
3Dof VR使用文档
HisUnitySDK使用文档
arrow
6Dof VR使用文档
HisenseSDK开发者文档
arrow
串流助手
串流使用教程
arrow
刷机教程
刷机教程
arrow
常见问题说明
6DOF-VR-常见问题说明

HisUnitySDK 1.6.4 使用文档

一、Android 开发环境搭建

1. 安装JDK

请下载并安装好JDK。JDK下载地址:

http://www.oracle.com/technetwork/java/javase/downloads/index.html

2. 安装Android SDK

请下载和安装Android SDK。Android SDK被包含在ADT和Android Studio中,选其一即可。推荐使用Android Studio。

3. Unity中的Android设置

(1) 在安装Unity时,注意勾选Android Build Support。2019版本的Unity需要额外去Unity官网下载安装Android Target Support:

https://unity3d.com/cn/unity/whats-new/2019.1.0

unity_download_assistant

(2) 装好JDK、Android SDK之后,请在Edit-Preferences-External Tools中正确设置Android的JDK和SDK路径

image-20240321172710579

二、 构建自己的VR应用

1. 支持的Unity3D版本

目前HisUnitySDK插件支持以下Unity版本:

Unity3D 2018 4.2f1

Unity3D 2019.4.1f1

Unity3D 2020.3.1f1

请匹配这些版本,否则可能会出现问题。

2. 目录结构

image-20240321172838541

HisenseSDK插件基于unity2018.4.2f1开发。如果您的版本是unity2018.4.2f1,导入插件时Unity会提示您升级。

image-20240321172931434

请选择"I Made a Backup. Go Ahead!"。

3. 构建自己的VR场景

image-20240321173050735

如上图所示拖拽预制体HisCameraRig到场景中,创建一个Button按钮,unity会自动创建一个Canvas,调整Canvas组件RenderMode模式为WorldSpace,添加HisUICanvas组件到Canvas即可完成一个基本VR场景的搭建工作,如果此时不能看到Button按钮,可以适当调整Canvas的缩放比例以及位置坐标, 点击运行按钮可以观察示例场景的运行效果

4. 示例场景

适配UGUI

image-20240321174124933

  • 在带有GraphicRaycaster组件的Canvas上挂载脚本HisUICanvas,如果场景中带有GraphicRaycaster组件的Canvas比较少,可以手动挂载,如果UI结构比较复杂,可以使用提供的自动化配置工具来自动配置.具体位置在编辑器左上角Hisense/ConfigHisenseCanvas。

  • 按住Alt按键同时按住鼠标右键滑动鼠标,可以在编辑器下模拟头盔晃动,测试响应效果。

2D精灵响应

image-20240321174249814

如果不希望射线可以穿过sprite,需要给sprite挂载一个3D碰撞体,同时给CenterEyeAnchor挂载组件HisPhysicsRaycaster,此时sprite可以正确挡住射线,但是如果精灵后方存在UI,精灵并不能阻挡UI点击事件的响应。

3D物体响应

image-20240321174459940

image-20240321174529472

如果不希望射线可以穿过3D模型,目标模型必须挂载一个碰撞体,同时给CenterEyeAnchor挂载组件HisPhysicsRaycaster,此时3D可以正确挡住射线,但是如果模型后方存在UI,模型并不能阻挡UI点击事件的响应.

2D/3D物体阻挡UI点击事件

image-20240321174616150

挂载HisUIGraphicRaycaster到带有Canvas组件的物体上,调整BlockingObjects枚举类型ThreeD,此时2D/3D物体可以正常阻挡UI点击事件

手柄射线长度自适应

勾选HisPointerManager组件中的IsRayLengthAdaptive即可开启自适应射线,当目标物体距离相机很近的时候,默认射线可能会出现瞄点与射线位置偏移的问题,使用自适应射线即可处理此问题.

image-20240321174636300

三、打包设置

1. 切换平台为Android 平台

image-20240321174657650

2. Quality设置

打开Edit->Project Settings->Quality。

image-20240321174855935

(1) 将VSync设置成"Don’t Sync"。

应用的帧率与屏幕刷新率相同为最佳,但受到性能影响,往往会低于屏幕刷新率。

一般在刷新率的一半以上还是可以接受的。SDK会自动处理垂直同步,所以这里需要关闭。

(2 ) 如果发现设备性能太差,可以将"Rendering""Anti Aliasing"设置成"Disabled"。通常在一体机上,"2x Multi Sampling"是一个比较常见的设置。

image-20240321174914611

3. Player设置

(1)在Edit->Project Settings->Player->Settings for Android->Resolution and Presentation中,将"Default Orientation"改成"Landscape Left"。

(2)在Edit->Project Settings->Player->Settings for Android->Resolution and Presentation中,请勾选"Use 32-bit Display Buffer"。

image-20240321174933160

(3) 目前的DPVRUnity Rendering SDK不支持Vulkan的Graphics API。因此,在Edit->Project Settings->Player->Settings for Android->Other Settings中,可勾选Auto Graphics API,若不勾选,推荐将OpenGLES3置于Graphics API列表顶层(不可将Vulkan置于顶层)。

image-20240321175310874

image-20240321174959934

(4) 在Edit->Project Settings->Player->Settings for Android->Other Settings中,可以开启"Multithreaded Rendering",这可以提升一定的应用的性能,但打开此选项时请小心,在某些Unity版本上勾选该选项可能导致设备死机或者应用闪退。

image-20240321175014958

4. Time设置(推荐而非强制)

打开Edit->Project Settings->Time,设置"Fixed Timestep"为0.01。

5. 进行打包

修改ProductName,CompanyName,PackageName,MinimumApiLevel为19,设置完成之后进行Bulid,点击 Add Open Scenes将test 场景添加到打包场景,点击Build 进行打包

image-20240321175034110

咨询
留咨
服务条款 | 隐私协议 聚好看科技股份有限公司版权所有
鲁ICP备16046081号 鲁ICP备2021027295号-6 鲁ICP备2021027295号-4 鲁公网安备37021202000326号 鲁公网安备37021202001528
copyright 2020-2024 Juhaokan Technology Co., Ltd.All Rights Reserved