欢迎使用CSDN-markdown编辑器

来源:互联网 发布:淘宝官网素材网有哪些 编辑:程序博客网 时间:2024/06/16 12:06
             unity开发立体影像全景视频播放

一、谷歌开发的vr SDK已经支持了全景视频和全景图片的观看,在sdk的包中还有3d立体影像播放的例子,但是仅限于android和ios native平台,在unity中并不支持。
二、主要是对材质球的设置,本人这里只是简单的实现。
1.建立两个球模型,并给两个球建立标签。
球
2.新建3个材质球,分别命名为 left,right,sphere
材质球
3.这里说一下要想观看全景图还需要写一个shader,下面给出

// Based on Unlit shader, but culls the front faces instead of the backShader "InsideVisible" {Properties {    _MainTex ("Base (RGB)", 2D) = "white" {}}SubShader {    Tags { "RenderType"="Opaque" }    Cull front    // ADDED BY BERNIE, TO FLIP THE SURFACES    LOD 100    Pass {          CGPROGRAM            #pragma vertex vert            #pragma fragment frag            #include "UnityCG.cginc"            struct appdata_t {                float4 vertex : POSITION;                float2 texcoord : TEXCOORD0;            };            struct v2f {                float4 vertex : SV_POSITION;                half2 texcoord : TEXCOORD0;            };            sampler2D _MainTex;            float4 _MainTex_ST;            v2f vert (appdata_t v)            {                v2f o;                o.vertex = mul(UNITY_MATRIX_MVP, v.vertex);                v.texcoord.x = 1 - v.texcoord.x;   // ADDED BY BERNIE, TO FLIP THE DIRECTION OF THE TEXTURE                             o.texcoord = TRANSFORM_TEX(v.texcoord, _MainTex);                return o;            }            fixed4 frag (v2f i) : SV_Target            {                fixed4 col = tex2D(_MainTex, i.texcoord);                return col;            }        ENDCG    }}}

4.处理三个材质球,如图:
1
2
3
sphere材质是看普通全景视频的。
left和right是看立体影像全景视频的。
看普通全景两个球都用sphere材质。
看立体全景两个球一个left,一个right。
5.如果使用cardboard的话直接对预设里边的左右camera进行设置,左眼遮罩不看右眼,右眼不看左眼。
请大神指导!!!!!

0 0
原创粉丝点击