如何复制Google Cardboard Photosphere App

时间:2015-06-15 12:13:05

标签: android unity3d google-cardboard

我是Unity和VR的新手,我刚刚完成了YouTube的Unity教程。不幸的是,关于使用Unity制作VR应用程序应遵循的流程文档并不多。

我需要的是能够在Android版Cardboard App中复制Photosphere App。如果可能的话,我需要使用Unity来做这件事。 Photosphere是从带有photosphere选项的Nexus 4相机拍摄的,如下图所示:

enter image description here

我尝试跟随this really nice walkthrough,它将立方体贴图天空盒附加到灯光上。问题是立方体的顶部和底部似乎没有显示正确的图像。

我也尝试用6面天空盒做这件事,但我很遗憾我应该继续这样做。主要是因为我只有一个Photosphere图像,而6面天空盒有6个输入纹理参数。

我也尝试过关注this链接,但有些信息略显压倒性。

任何有关正确方向的帮助或指示都将非常感激! 谢谢:))

2 个答案:

答案 0 :(得分:1)

我还浏览了您提供的链接教程,但似乎他们是“手动”完成的。

由于您拥有Unity 3D和Cardboard SDK for Unity,因此您无需配置摄像头。

请按照tutorial进行操作。

答案 1 :(得分:1)

有一种替代方法可以做一个Sphere并将凸轮放入其中: http://zhvillues.tumblr.com/post/126331275376/creating-a-360-viewer-using-unity-3d

您必须将自定义着色器应用于球体以渲染其内部。

Shader "Custom/sphereShader" {
    Properties {
         _MainTex ("Base (RGB)", 2D) = "white" {}
         _Color ("Main Color", Color) = (1,1,1,0.5)
     }
      SubShader {
        Tags { "RenderType" = "Opaque" }
        Cull Front

        CGPROGRAM
        #pragma surface surf Lambert vertex:vert
        sampler2D _MainTex;

        struct Input {
             float2 uv_MainTex;
             float4 color : COLOR;
        };
        void vert(inout appdata_full v)
        {
            v.normal.xyz = v.normal * -1;
        }
        void surf (Input IN, inout SurfaceOutput o) {
                  fixed3 result = tex2D(_MainTex, IN.uv_MainTex);
             o.Albedo = result.rgb;
             o.Alpha = 1;
        }
        ENDCG
      }
      Fallback "Diffuse"
}