查看原文
其他

Unity教程 | 集成360全景视频

2017-08-05 Unity官方 Unity官方平台

我们从Unity 5.6开始引入了全新的Video Player组件,也收到了很多开发者关于如何将360全景视频整合到Unity工程的问题。过去的几个月我们逐步改善了此前推荐的工作流程,并制作了高质量着色器来实现这一目标。今天这篇文章将为大家分享我们的成果,在Unity 5.6及以上版本中,可以通过着色器更加方便地将360全景视频加入Unity工程。

 

温馨提示,该着色器目前仍为beta版,但已相当完善,可以用于正式项目。

 

 

整合过程非常简单直接,只要将任意Unity支持的带有360°或180°全景或立方贴图(Cubemap)内容的视频文件(如.mp4文件)作为资源导入Unity工程,即可通过Video Player组件进行播放。关键是将Video Player组件绑定到与视频尺寸一致的渲染纹理,然后将此纹理关联到使用了全新Skybox/PanoramicBeta着色器的材质,并将该材质用作场景天空盒的材质。

 

 

现在可以看到场景中的天空盒背景就是全景视频内容,在Player Settings中勾选Virtual Reality Support,然后带上VR头盔,就可以直接进入全景视频之中。如果使用3D的360全景内容,可以利用Skybox/PanoramicBeta的3D设置,来实现更加身临其境的体验。

 

Skybox/PanoramicBeta着色器预计将在Unity 2017.3正式版中与大家见面,您可以点击【阅读原文】抢先体验

 

1

Video Player设置

 

导入视频文件至Unity工程后,只需将视频文件拖拽至场景中的空白位置,Unity会自动创建Video Player组件。默认情况下,视频会按默认相机视图全屏播放,可以利用Render Texture组件来控制视频渲染方式。

 

 

回到Video Player组件,将Render Mode设为新建的Render Texture,并将该Render Texture文件拖拽至Target Texture字段。现在运行,游戏视图不会显示内容,但可以看到Render Texture上正在更新视频帧。

 

  

2

创建天空盒材质

 

要将全景视频渲染为场景背景,可以利用视频代替默认的天空盒。新建材质,将其着色器设为Skybox/PanoramicBeta,然后将Render Texture文件拖拽至材质的纹理字段。为确保视频正常显示,需要针对视频内容的类型选择映射方式。对于Cubemap型内容,将Mapping设为“6 Frames Layout”,而等距长圆柱类型则需选择“Latitude Longitude Layout”。

3

将视频渲染到天空盒

 

最后一步是在光照面板中,将刚刚新建的天空盒材质赋给Environment下的第一个字段Skybox Material。现在运行就可以看到天空盒已显示视频内容。旋转场景相机也会改变显示的视频方向。

 

 

今天的教程就为大家介绍到这里,我们还会为大家分享更多Unity最新最实用的功能详解与示例在Unity官方中文社区(unitychina.cn),请保持关注!


推荐阅读

使用ARKit为iOS开发AR应用

自制简易的游戏存档系统

10分钟轻松制作360全景VR应用

手把手教你做一款《愤怒的小鸟》

从零开始制作一款3D炸弹超人游戏


点击“阅读原文”进入Unity官方中文社区

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存