【问题标题】:Inverted View in VR sphere in UnityUnity VR 球体中的倒置视图
【发布时间】:2018-06-05 01:29:32
【问题描述】:

我一直在尝试在具有翻转法线的 Sphere 内投影 360 度视频,以用于 Google Cardboard VR。视频工作正常,只是水平倒置,只有在屏幕上有一些文字时才明显。我在其前面包含了视频的屏幕截图和 UI.Text 元素以进行比较。

我试图通过 projectionMatrix 反转相机的视图,但它最终会出现在空白区域中。截图:

我想不出办法让视频项目以正确的方式制作。请帮忙!

【问题讨论】:

    标签: unity3d virtual-reality


    【解决方案1】:

    这是一个着色器,可以正确显示内容而无需反转它,我已经使用 Unity 2018.1.1 对其进行了测试,因为我目前在我的项目中使用它:

    Shader "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 = UnityObjectToClipPos(v.vertex);
                    // ADDED BY BERNIE:
                    v.texcoord.x = 1 - v.texcoord.x;                
                    o.texcoord = TRANSFORM_TEX(v.texcoord, _MainTex);
                    return o;
                }
    
                fixed4 frag (v2f i) : SV_Target {
                    fixed4 col = tex2D(_MainTex, i.texcoord);
                    return col;
                }
            ENDCG
            }
        }
    }
    

    如果您需要有关着色器的更多信息,可以查看this tutorial

    【讨论】:

      【解决方案2】:

      在球体上翻转法线是不够的,您还需要反转 UV 坐标的 U 部分(即更改所有值 U,使其为 1-U)。设置了一个球体,以便外部从右到左正确呈现文本。当您翻转法线时,从外面看,“右”仍然在右侧......这意味着从里面看它在 左侧

      您要么需要自己手动编辑 UV 坐标,要么从资源商店获取预制的倒置球体(IIRC 有两个免费提供)。

      【讨论】:

        猜你喜欢
        • 2018-10-07
        • 1970-01-01
        • 2017-04-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多