unity+Helios制作360°全景VR视频
unity版本 unity2017.2.0
Helios版本:Helios 1.3.6
ffmpeg:ffmpeg-20180909-404d21f-win64-static(地址:https://ffmpeg.zeranoe.com/builds/)
1、导入Helios插件
2、在场景中加入Helios-prefabs-Helios3D预制体到Hierarchy面板,并禁用MainCamera
3、Helios脚本
a.设置文件保存位置WorkingFloder,勾选Camera Armed,运行可录制场景视频,其他参数按需设置
b.Flip image勾选:如果不勾选录制图片都会是倒立
c.Quality可设置视频质量
d.Capture Format 设置图片类型有PNG,JPEG,EXR,根据需要自己设置
4、点击Helios按钮,那么去掉以上一些选项的勾选,点击按钮合成视频(当然这要你能在Unity中直接安装FFMPEG的话,如果安装不了,那么就另外下载FFMPEG,操作如下)
4、利用FFMPEG转换工具合成视频。控制台运行
E:\FFMPEG\bin\ffmpeg -r 25 -i E:\U3D\TextImage/img%05d.jpg -vcodec h264 -pix_fmt yuv420p U3dVR.mp4
(测试:window键+r打开控制台程序,输入cmd回车,在输入: E:\FFMPEG\bin\ffmpeg -r 25 -i E:\U3D\HELIOS\TextImage\img%05d.png -vcodec h264 -pix_fmt yuv420p U3dVR.mp4 回车即可)
【注释:
E:\FFMPEG\bin\ffmpeg 是ffmpeg解压路径
E:\U3D\HELIOS\TextImage\ unity合成图片路径
img%05d.png图面名字+位数 img00000.png.........img00174.png
是由Helios生成的图片地址
-r 每秒播放的帧率
-i 是Helios插件生成的图片地址
%d 中间数字为位数
-vcodec 编码形式
-pix_fmt 像素格式
**.mp4 输出文件
】
合成视频的位置:C:\Users\T01017\U3dVR.mp4(在C盘下用户文件夹中)
(合成的全景视频可直接在vr眼镜上播放了,如需要其他操作功能,则继续往下)
(合成视频参数可自行按要求设定。视频合成后需要在QuickTime Player播放一遍,据说是为了转成unity能识别的格式,不过导进去看到的还是mp4,但是你不转就用不了咯!)
5、将视频拖入unity,转换为MovieTexture。如果没有自动转换,可手动在属性Importer Version 设置后Apply
6、新建一个材质球,设置为Particles/Alpha/Blended,将视频拖到材质ParticleTexture上
7、新建一个空场景,给场景中创建一个Sphere,赋予刚建的材质
8、给Sphere添加一个脚本用于播放视频:
void Start () {
MovieTexture mov = (MovieTexture)GetComponent<MeshRenderer>().material.mainTexture;
mov.Play();
}
9、设置摄像机到球体中心,比如,Sphere和MainCamera位置均设为0点(sphere的Scale大小可以调大点,比如大3倍)
10、运行即可。VR全景,进行VR摄像机置换就行
unity普通相机需要给摄像机绑上可以鼠标左键控制相机旋转的脚本,才可以实现全景视屏的播放(若是VR相机则不用单独写脚本,直接头盔呢相机实时运动)