Pico SDK在Unity中如何控制移动

简介: Unity导入Pico SDK后如何进行实际开发呢?想必大家都很好奇。从去年的省赛到今年的国赛, 本人研究Pico有快一年了,刚开始学习的时候自己翻过很多的博主文章,都没有找到自己想要的知识,从那时起,我便下定决心,等国赛过后 自己要写写虚拟设备的使用了,那就以我的视角来为大家讲解Pico SDK的正确使用。

今天主要讲的内容是Pico SDK在Unity中第一人称视角的移动方式


下图是已经将Pico SDK导入到了Unity3D中了

image.png



1. 删除Unity自带的Camera摄像机,找到Pvr_UnitySDK子文件夹Prefabs,将Prefabs文件夹下的        Pvr_UnitySDK预制体拖入到场景中,那么摄像头做好了。

image.png



2. 找到Pvr_Controller文件夹下的ControllerManager预制体放入到场景中,成为Pvr_UnitySDK的 子物体,与Pvr_UnitySDK中的Head同级。Pvr_UnitySDK指的是头显,Head指的是玩家的头 部,ControllerMannager指的是手柄控制器,PvrController0为左手柄,PvrController1为右手柄。

image.png



3. 找到Pvr_Controller文件夹下的Scenes文件夹,打开Scenes文件夹中的Pvr_Controller_Demo场景,找到Pvr_UnitySDK的子物体HeadControl,放入Assets目录中,再回到之前的场景,步骤如下图所示


image.png


4.将Assets目录下的HeadControl放入到Pvr_UnitySDK中,与Head,ControllerManager同级,效果图如下

image.png



5.在Event组件中添加脚本Pvr_Input Module(Script),此脚本是PicoSDK自带的,直接添加即可 ,Pvr_Input_Module脚本中有个Confirm Btn选项,这里可以选择玩家与UI交互的事件按钮,默认是选择TouchPad,即手柄的黑色圆角按钮;


image.png


6.ControllerManager组件中添加脚本Pvr_Controller Demo(Script),Pvr_Controller Demo(Script)脚本是PicoSDK文件夹自带的,直接添加即可;

image.png



7.打开ControllerManager组件中的Pvr_Controller Demo(Script)的脚本,在脚本上添加射线点击移动方法,添加的代码如图所示

image.png

image.png



如图所示,添加的射线检测移动代码就完成了,代码如下:


  //增加

   public Transform person;//移动的人物

   public string moveLayer;//可移动的层级

   public LineRenderer rayLine_zengjia;//手柄下的ray_LengthAdaptive;


//新增加


if (1 << hit.transform.gameObject.layer == LayerMask.GetMask(moveLayer))

{

           rayLine_zengjia.material.color = Color.green;//当可移动的时候射线变为绿色

                     if    (  Controller.UPvr_GetKeyDown(0, Pvr_KeyCode.TRIGGER) ||                                                          Controller.UPvr_GetKeyDown(1, Pvr_KeyCode.TRIGGER) ||                                                          Input.GetMouseButtonDown(0)   )

                       {

                           person.position = new Vector3(hit.point.x, person.position.y, hit.point.z);

                       }

}

                   else

                   {

                       rayLine_zengjia.material.color = Color.red;//当不可移动的时候射线变为红色

                   

                   }


8.在ControllerManager组件上进行如下操作,步骤图与效果图如下


image.png


9.创建地面,我这里是创建了一个3D物体Cube,设置Cube物体的Layer属性,将Layer属性设为moveLayer,表示这是可移动的层级,步骤如下

image.png



10,到此,PicoSDK在Unity3D中完成了第一人称漫游,当扣动手柄扳机后,手柄射线指向处,就是第一人称玩家移动的目标点。


11.   Alt+鼠标左键  就是  Pico的扳机键,


       后续我也会给大家讲一下Pico的另一种移动方式


       有对Pico感兴趣的可以看我的其他文章


目录
相关文章
|
前端开发 Linux 开发工具
Unity Metaverse(四)、接入环信IM SDK 实现用户登录注册
Unity接入环信IM SDK,实现用户登录与注册功能。
197 1
Unity Metaverse(四)、接入环信IM SDK 实现用户登录注册
|
前端开发 API 开发工具
Pico neo3在Unity中的交互操作
上一篇讲了Pico neo3在Unity中的移动,今天来讲解一下Pico neo3如何在Unity3D中如何进行UI页面的交互,很多人都觉得使用Pico设备进行引擎开发太过于麻烦,不熟悉Pico的API使用,对UI页面的交互事件不太懂。
1052 0
Pico neo3在Unity中的交互操作
|
API 开发工具 图形学
Pico neo3 Unity打包设置
最近使用Pico的频率很高,想给一些Pico爱好者分享一下在Unity中想项目打包到Pico设备中
791 0
Pico neo3 Unity打包设置
|
开发工具 vr&ar 图形学
Pico SDK导入Unity工程
2022VR国赛即将开始,对于Pico与Unity的使用已经很熟练了,想为下一届参赛选手及Unity 3D引擎爱好者或者是Pico开发者 聊一下自己的理解,目前Unity引擎的主流打包平台设备就是Pico和Steam VR,我参加的国赛采用的是Pico设备,所以今天就先讲一下Pico
546 0
Pico SDK导入Unity工程
|
XML Java 语音技术
Unity -Demo 之 ✨ 语音识别-讯飞SDK使用过程
因为工作需求,现在要选择连接一个语音识别功能接入系统中,所以目前正在尝试使用讯飞的语音识别SDK进行连接。 在使用语音识别的sdk之前先查阅了一下语音识别的基本知识 然后去讯飞的官网注册信息并创建一个应用用于使用SDK 基本步骤处理完了,下面就是下载SDK进行集成使用了,我这里用的是语音唤醒的SDK,按照官方教程做就行。教程在这-语音唤醒SDK教程 当上面这几步做完了之后,接下来就是将这个工程打包成给unity使用的aar包了。可以参考这个教程:将Android Studio的工程打包成aar包给unity使用
|
移动开发 JSON 缓存
钉钉消息机器人.Net通用C#Unity实现钉钉消息通知一个工具类(无需SDK,无其他引用)
钉钉消息机器人.Net通用C#Unity实现钉钉消息通知一个工具类(无需SDK,无其他引用) Chinar —— 心分享、心创新! 助力快速完成 .Net 通用的钉钉Post机器人消息通知 为初学者节省宝贵的时间,避免采坑! 官方文档详细,但实现方式上没有过多的说明。 本质上就是一个 POST 消息请求 所以我们只要, 完成正常发送POST 使得钉钉方从中可获取对应格式的数据 即可!
1074 0
钉钉消息机器人.Net通用C#Unity实现钉钉消息通知一个工具类(无需SDK,无其他引用)
|
5月前
|
C# 图形学
【Unity 3D】元宇宙案例之虚拟地球信息射线实战(附源码、演示视频和步骤 超详细)
【Unity 3D】元宇宙案例之虚拟地球信息射线实战(附源码、演示视频和步骤 超详细)
56 0
|
5月前
|
人工智能 自然语言处理 区块链
【Unity 3D】元宇宙概念、应用前景、价值链等概述
【Unity 3D】元宇宙概念、应用前景、价值链等概述
54 0
|
5月前
|
vr&ar C# 图形学
【Unity 3D】VR飞机拆装后零件说明功能案例实战(附源码和演示视频 超详细)
【Unity 3D】VR飞机拆装后零件说明功能案例实战(附源码和演示视频 超详细)
41 0
|
5月前
|
vr&ar C# 图形学
【Unity 3D】VR飞机动态拆装及引擎开关控制案例(附源码和演示视频 超详细)
【Unity 3D】VR飞机动态拆装及引擎开关控制案例(附源码和演示视频 超详细)
44 0