360 VR Player Starter kit使用教程
即使你不是开发人员,也可以使用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。
开发环境
1.Windows 7操作系统。
2.Unity2017.1.f1。
3.Visual Studio 2015。
素材准备
1.准备任务目标中需要使用的360全景图片。这里我们使用插件自带的全景图片做测试。
2.准备任务目标中需要使用的360全景视频,这里我们通过网络下载了一个360全景视频。
3.准备任务目标中需要使用的UI素材,这里我们使用插件自带的图片资源。
任务目标
1.熟悉360 VR Player Starter kit插件的使用。
2.完成播放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官方活动
10月26日,我们将在上海举办Unity独立游戏日,火热报名中。
10月16日- 31日截止,Unity Plus加强版大促销。
Unity Connect火热征文中,赶紧来分享你的Made with Unity作品吧!
点击“阅读原文”进入Unity官方中文社区!