当前位置:   article > 正文

VR基础——PicoVR SDK接入及使用整理_pico sdk

pico sdk

VR基础——PicoVR SDK接入及使用整理

开发环境

SDK版本:
PicoVR Unity SDK v_2.8.1
要求:
支持Unity2017.4到Unity 2019.2.6

JDK jdk1.8.0及以上

Android SDK API Level 24 (Android 7.0)及以上
(最好不要超过安卓的版本)
本人使用:
Unity 2018.4
Android SDK API Level 26(Android 8.0)
PICO G2 (K4)

SKD接入前准备工作

  1. 下载PICOVR SDK,可直接百度搜索(文末附SDK下载链接);

  2. 导入PicoVR_Unity_SDK (根据自己电脑系统版本选择对应的64或32位),直接拖入Unity;

  3. 本人为64位已拖入

  4. 将SDK中的Pvr_UnitySDK 拖入场景中。该预制体位VR头盔所在物体。内含摄像机(将主场景摄像机删除仅保留预制体中的摄像机)SDK摄像机接入完成。在这里插入图片描述
    5.Pvr_Controller /Prefabs文件夹下ControllerManager预制体为手柄控制器预制体。
    根据手柄数量将对应的预制体拖入右侧Inspector面板中(非必须)。控制器接入成功。在这里插入图片描述
    剩余两个文件夹Pvr_VolumePowerBrightness Pvr_Payment为视觉凝视及支付信息面板。下附官方介绍链接,本文不做详细介绍。
    至此PicoVR_Unity_SDK 基本完全接入成功。

  5. Android SDK 接入及设置介绍。请自行下载安卓SDK 本人使用的是Android Studio 软件下载接入的SDK 版本为Android SDK API Level 26(Android 8.0),文末附Android Studio 软件下载链接;下图为详细接入过程请依据图内标号顺序接入。注:5为使用SDK内置的JDK 若不勾选需给自行设置JDK路径。 至此Android SDK 接入完成在这里插入图片描述

  6. 开发平台设置,需为PICO为Android平台,设置如下图所示 ;若步骤3无法设置或无法选择可能原因为为安装Android支持组件。可安装后重启Unity即可选择Android平台 完成步骤3,步骤6非必须使用默认亦可(若自行设置,建议和Android SDK版本相对应)。至此平台设置完成(若报错请百度详情)。在这里插入图片描述

PicoVR_Unity_SDK的常见函数介绍

仅对常用API进行介绍讲解,详情请查阅文末附的官方介绍链接

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Pvr_UnitySDKAPI;
public class Test : MonoBehaviour
{
//进行功能测试
    void Update()
    {
        
        if (Controller.UPvr_GetControllerState(0) == ControllerState.Connected)//判断手柄是否连接了 条件下Controller内的内容均为手柄控制器的内容
        {
            if (Controller.UPvr_GetKeyLongPressed(0, Pvr_KeyCode.TRIGGER))//判断是否长按
            {
                Debug.Log("TRIGGER键被长按下");
            }
            if (Controller.UPvr_IsTouching(0))//判断是否被触摸(里面数字表示哪个手柄)
            {
                Debug.Log("手柄被触摸");
            }
   if (Controller.UPvr_GetKeyDown(0, Pvr_KeyCode.TRIGGER ))
            {
                Debug.Log("TRIGGER键按下");
            }
            //得到触摸点的位置
            Vector2 touch_position = Controller.UPvr_GetTouchPadPosition(0);//获取触摸点的位置
            float xtouch_Position =touch_position.x;//获取触摸点X的值
            Debug.Log("触摸点位置:" +touch_Position);

            //获取滑动方向
            SwipeDirection swipeDirection = Controller.UPvr_GetSwipeDirection(0);//移动的方向
            if (swipeDirection==SwipeDirection.SwipeLeft)//获取到了滑动方向,向左
            {
                Debug.Log("向左滑动");
            }
        }
        else
        {
            return;
        }

        //头显的控制器
        if (Input.GetKeyDown(KeyCode.Joystick1Button0))
        {
            Debug.Log("头显的确定键被按下");
        }
        //注:Input.GetKeyDown(KeyCode.Joystick1Button0)在PICO二代设备上正常使用,但使用一代设备测试时无反应,一代设备可用  Input.GetButton("Fire1") 代替Input.GetKeyDown(KeyCode.Joystick1Button0);
    }
}
//引用using Pvr_UnitySDKAPI;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50

PICO开发时常见的问题

//TODO
1.打包后黑屏问题
原因:
原因一:Color Space中,选择Linear,且Blit Type没选择Never.(Linear渲染效果,感觉比Gamma细腻,但性能消耗会大一些).

解决:在这里插入图片描述在这里插入图片描述

原因二:Graphics APIs暂不支持Vulkan,对于OpenGLES2,OpenGLES3,开发者需要按照需求选择。
解决: 选项位置参考上一个原因一解决中位置.
在这里插入图片描述
2.切换场景时手柄丢失问题
解决:确保手柄预制体位置正确,没有因切换场景而被删除.

3.打包后闪退问题
原因一:上述黑屏问题也可能会导致这个原因产生,
解决方案参考上述黑屏问题.

原因二:Unity导入其他插件后可能使得Android Manifest文件被修改,
解决:通过测试打包PICO SDK自带Demo场景是否闪退及Log具体报错内容,判断是否是Android Manifest文件更改导致,如果是可以删除并重新导入PICO SDK的Android Manifest文件,或者通过合并自己另外添加插件和PICO SDK插件的Android Manifest进行解决.

4.打包后切出再从后台返回时黑屏或VR视角不正常显示问题
解决:上述问题都有可能导致该问题发生.建议打包SDK 自带Demo场景测试是否正常.

5.无法正常打包APK问题
原因:常见有以下原因:
通用方法:根据报错复制百度谷歌查看解决方案.

Android JDK 版本不对
解决:下载对应版本的JDK即可
Android SDK版本不对
解决:下载对应版本的SDK即可

打包时Buil System 选择为Gradle(该选项需要自动配置的一个秘钥,Unity自带,多数可能正常打包)
解决:切换为Interal即可解决.
在这里插入图片描述
在这里插入图片描述

个人建议:进行PICO VR项目开发前,花半个小时或一个小时快速阅读一遍下载SDK时带的说明文档,可以有效避免很多问题.并减少压根找不到任何问题抓掉头发的风险.

声明:本文为个人笔记,用于个人学习研究使用非商用,内容为个人研究及综合整理所得,若有违规,请联系本人,违规必改。
官方链接
[1]: https://www.pico-interactive.com/
PicoVR Unity SDK下载链接
[2]:https://developer.pico-interactive.com/sdk
Android Studio 下载链接
[3]:http://www.android-studio.org/
PICO 性能优化建议
[3]:https://blog.csdn.net/weixin_45532761/article/details/106421314

本人一年PICO VR相关的开发经验了。曾遇到各类PICO相关Bug。未在本文一一显示,如有不懂或相关问题。可留言。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/927014
推荐阅读
相关标签
  

闽ICP备14008679号