基于Unity的VR全景视频(一)
2016-08-05 00:24
477 查看
实现全景视频播放主要包括两种方式:1、以暴风魔镜等移动端为载体的开发 2、以HTC vive等PC端为载体的开发。这是因为Unity自身的MovieTexture仅可以支持PC端,而在移动端只能利用类似于EasyMovieTure的插件来开发,但两者的底层技术是一样的,都是将视频解析成一帧一帧的图像作为Texture贴在Material赋给球形GameObject。
本篇讲述利用Unity自身的MovieTexture制作全景视频,首先Unity并不能直接加载.mp4 , .mov 格式的视频文件,官方文档给出的方式是将需要视频放在Quickime上播放一遍,其实本质就是将.mp4 , .mov 等视频格式转成.ogv,Unity才能直接识别。所以可以利用格式转化工具Theora Converter .NET、ffmpeg等直接将视频转成.ogv。
其中视频有三个参数需要注意,码率、帧率、分辨率。因为这三者是关系到最后视频贴图贴在材质上的播放的清晰度和流畅度的问题。毕竟,在VR设备中,刷新帧率至少要大于60帧才不会让人觉得眩晕,但视频的清晰度直接影响了刷新率的大小,所以如何在两者中找到一个平衡点。
将贴图贴在球形GameObject里面的shander:
ffmpeg用法:
本篇讲述利用Unity自身的MovieTexture制作全景视频,首先Unity并不能直接加载.mp4 , .mov 格式的视频文件,官方文档给出的方式是将需要视频放在Quickime上播放一遍,其实本质就是将.mp4 , .mov 等视频格式转成.ogv,Unity才能直接识别。所以可以利用格式转化工具Theora Converter .NET、ffmpeg等直接将视频转成.ogv。
其中视频有三个参数需要注意,码率、帧率、分辨率。因为这三者是关系到最后视频贴图贴在材质上的播放的清晰度和流畅度的问题。毕竟,在VR设备中,刷新帧率至少要大于60帧才不会让人觉得眩晕,但视频的清晰度直接影响了刷新率的大小,所以如何在两者中找到一个平衡点。
将贴图贴在球形GameObject里面的shander:
Shader "Unlit/DoubleSided" { Properties { _Color("Main Color", Color) = (1,1,1,1) _MainTex("Texture", 2D) = "white" {} } SubShader { //Ambient pass Pass { Name "BASE" Tags {"LightMode" = "Always" /* Upgrade NOTE: changed from PixelOrNone to Always */} Color[_PPLAmbient] SetTexture[_BumpMap] { constantColor(.5,.5,.5) combine constant lerp(texture) previous } SetTexture[_MainTex] { constantColor[_Color] Combine texture * previous DOUBLE, texture *constant } } //Vertex lights Pass{ Name "BASE" Tags {"LightMode" = "Vertex"} Material { Diffuse[_Color] Emission[_PPLAmbient] Shininess[_Shininess] Specular[_SpecColor] } SeparateSpecular On Lighting On cull off SetTexture[_BumpMap] { constantColor(.5,.5,.5) combine constant lerp(texture) previous } SetTexture[_MainTex] { Combine texture *previous DOUBLE, texture *primary } } } FallBack "Diffuse", 1 }
ffmpeg用法:
ffmpeg - i “文件路径/文件名.格式” -s 3000x1500(分辨率) -r 25 (帧率) -b:v 8782(码率,默认单位为Bit/s) "输出文件路径/输出文件名.格式"
相关文章推荐
- 基于vlc的unity3d vr视频播放器开发,360度全景视频
- Unity利用CardBoardVR制作(二)一个简易的全景相册和视频
- Unity VR——全景视频播放方案
- Unity VR——全景视频播放方案
- 【Unity中基于RPC机制实现摄像头视频传输 unity打开摄像头 unity外接摄像头】
- 180度vr直播用,鱼眼视频展开到全景
- Android开发VR实战之播放360度全景视频
- Unity VR全景漫游
- 【VR视频播放】解决Unity模型贴图反转的问题
- 全景VR视频外包公司:长年承接VR全景视频外包(技术分享YouTube的360全景视频)
- 虚拟现实:认识VR、AR、全息影像和全景视频的涵意
- 【科普】VR视频与全景视频有什么不同?
- 基于unity制作的AR视频播放
- 【Android开发VR实战】二.播放360°全景视频
- 北京VR视频外包团队:全景VR视频科普
- vr四棱锥视频文件通过opengl在手机端播放全景视频
- Android 全景视频播放器(VR视频播放器探索二)
- Object2VR Mac版(全景视频制作) V3.1.5 破解版
- 记录一款Unity VR视频播放器插件的开发
- 北京全景视频外包公司:长年承接VR全景视频外包