Notifications
Article
360 VR Player Starter kit使用教程
Updated 9 months ago
129
0
即使你不是一个开发人员,也可以通过使用360 VR Player Starter kit做一些简单的东西。今天,将由Unity开发者张忠喜为大家分享如何使用360 VR Player Starter kit,以及如何实现播放360全景图片和全景视频。
简介
360 VR Player Starter kit是一个使用360°图像或360°视频VR项目的完美开端。本插件包括了一个球形屏幕、一个摄像机和一个交互的UI(一个交互式的准星、一个弯曲屏幕和一个基本的交互UI)。插件支持主流的移动头戴式盒子Google Cardboard和Gear VR应用,同时也支持Oculus Rift和HTC Vive应用。可以用键盘、鼠标和移动设备的陀螺仪旋转摄像机。可以利用交互UI准星的Gaze模式加载另一个360图片或视频,同时也对摄像机做了一个淡入淡出的系统。本插件适用于Windows、Mac、Android、IOS和WebGL。

开发环境
Windows 7操作系统。
Unity2017.1.f1。
Visual Studio 2015。

素材准备
准备任务目标中需要使用的360全景图片。这里我们使用插件自带的全景图片做测试。
准备任务目标中需要使用的360全景视频,这里我们通过网络下载了一个360全景视频。
准备任务目标中需要使用的UI素材,这里我们使用插件自带的图片资源。

任务目标
熟悉360 VR Player Starter kit插件的使用。
完成播放360全景图片和360全景视频的播放。

Step by Step
1.我们新创建一个场景命名为360VR,保存到你希望存放的地方,这里放在了Assets文件夹下。
2.接着我们从Assets/Resources/FBX文件夹中把sphere_normal_inverted拖拽到刚创建的场景中,命名为sphere。
3.通过Assets-> Material创建一个新的材质球,命名为sphere。默认情况下材质球使用的是标准着色器,这里我们对其进行修改。通过下图方式更改为我们使用的着色器。
材质球的着色器更改完成后我们把Resources/Images文件夹下的SphereTex01赋值给材质球,然后把材质球通过拖拽方式赋值给sphere。
4.设置层次面板中sphere对象的Position(0,0,0);Rotation(90,0,-166);Scale(1,-1,1)。
5.通过AddComponent为sphere对象添加VideoPlayer组件。截图如下所示:
6.我们选中场景中的Main Camera对象,然后通过AddComponent为其添加CamVision、GyroController和CameraController组件。添加完成后如下图所示:
Speed:摄像机的移动速度。
Drag Sensivity:拖拽的灵敏度。
Keyboard Rot:是否开启键盘旋转。
Mouse Rot:是否开启鼠标旋转。
Drag Rot:是否开启拖拽旋转。

7.接着我们从Resources/Prefabs文件夹下把BlackScreen预设拖拽到场景中作为Main Camera的子对象。

8.接下来我们创建HUD。在层次面板创建一个空对象,命名为HUD。设置对象HUD的Position(0,0,0);Rotation(0,0,0);Scale(1,1,1)。选中HUD空对象,在创建一个空对象,命名为HUD_Reticle,设置他的Position(0,0,0);Rotation(0,0,0);Scale(1,1,1)。通过AddComponent为其添加FollowCamRotation组件。 然后把Main Camera 对象拖拽到Cam赋值槽中。设置Speed 为6。如下图所示:
Cam:HUD跟随的摄像机对象。
Speed:HUD跟随摄像机旋转的速度。值越高,HUD跟随就越快。

9.拖拽Resources/Images文件夹下的HUD_Pointeur_00046到场景中作为HUD_Reticle的子对象,命名为Reticle。设置Reticle的Position(0,0,3);Rotation(0,-180,0);Scale(0.15, 0.15, 0.15)。通过AddComponent添加Animator组件,并且使用插件制作好的HUD_Reticle动画控制器。

10.然后在层次面板继续创建一个空游戏对象,命名为TargetsContainer。设置对象TargetsContainer的Position(0,0,0);Rotation(3,-167,0);Scale(1,1,1)。然后拖拽Resources/Prefabs文件夹下的Target预设到场景中并且作为TargetsContainer的子物体。设置Target预设的Position(2.35,2,-11);Rotation(3,-167,0);Scale(1,1,1)。设置他的Tag为ScaleTarget。

这里我们可以看到Target对象的监视面板截图如下:
11.为了实现任务目标,我们这里修改ChangeRoom代码。打开ChangeRoom组件,在ChangeRoom组件上方添加代码如下:
在ChangeRoom中添加字段如下:
在Start()方法中添加如下代码:
为了方便我们做测试,在Update()里面添加代码如下:
然后更改FadeChangeRoom()方法如下代码所示:
在添加代码完成后,我们可以看到截图如下:
这里我们把事先准备好的360全景视频导入工程中,同时设置ChangeRoom的Texture Sphere和Video Clips,如下图所示:
12.我们点击Play运行程序可以看到360全景图片和360全景视频的切换播放。如下图所示:


总结
通过上面的简单流程操作,我们已经完成了任务目标。熟悉了插件的使用。同时也根据自己的需要整合进去了360全景视频播放功能。简单来说本插件简单容易使用,方便根据自己的需要进行各种功能扩展。后面我们还会继续为大家分享更多游戏开发中实用的工具在Unity官方中文社区(unitychina.cn),请保持关注。

Unity资源商店
299
Comments