带有alpha 3D的Skybox与Cardboard

时间:2016-02-10 10:23:00

标签: unity3d

我按照instructions in the Unity guidelines设置了我的Photoshop文档。

我意识到这是针对alpha的纹理,但我尝试使用相同的技术创建一个天空盒。当我使用纹理设置场景时,将保留Alpha通道(因此我的PSD看起来是正确的):

enter image description here

但是,当我将图像设为'立方体贴图'并且着色器是接受'立方体贴图'的'天空盒'时,Alpha通道会丢失:

enter image description here

我认为这里有两个选项,1)使用图像作为纹理并渲染背面,2)找出它无法在“天空盒”中渲染alpha的原因。

有人有这个问题或有一些有用的建议吗?

1 个答案:

答案 0 :(得分:0)

Unity 5.3.2仅测试

此脚本有助于使场景中的所有网格都将法线指向您的Cardboard相机。创建一个自定义C#脚本并将其放入其中。

void Start () {
        MeshFilter filter = GetComponent(typeof (MeshFilter)) as MeshFilter;

    if (filter != null) {
        Mesh mesh = filter.mesh;

        Vector3[] normals = mesh.normals;
        for (int i=0;i<normals.Length;i++)
            normals[i] = -normals[i];
        mesh.normals = normals;

        for (int m=0;m<mesh.subMeshCount;m++)
        {
            int[] triangles = mesh.GetTriangles(m);
            for (int i=0;i<triangles.Length;i+=3)
            {
                int temp = triangles[i + 0];
                triangles[i + 0] = triangles[i + 1];
                triangles[i + 1] = temp;
            }
            mesh.SetTriangles(triangles, m);
        }
    }
}