将纹理添加到未点亮的透明色彩着色器

Uma*_*r M -5 shader cg unity-game-engine oculus

如何添加TextureOculus API提供的以下着色器以进行淡化:

Shader "Oculus/Unlit Transparent Color" {
Properties {
    _Color ("Main Color", Color) = (1,1,1,1)
    _MainTex ("Texture", 2D) = "white" {} //  I added this property to apply Texture. Where can I use it?
}

SubShader {
    Tags {"Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent"}
    LOD 100
    Fog {Mode Off}
    Cull Off
    ZWrite Off
    Blend SrcAlpha OneMinusSrcAlpha
    Color [_Color]

    Pass {}
}
}
Run Code Online (Sandbox Code Playgroud)

nyr*_*o_0 30

您可以使用已添加的属性,该属性Pass {}应至少包含顶点和片段着色器(或表面着色器).

在传递中sampler2D,您可以使用与属性相同的名称定义a ,因此可以在着色器函数中使用它.

统一文档中有一些示例着色器:https : //docs.unity3d.com/Manual/ShaderTut2.html
https://docs.unity3d.com/Manual/SL-SurfaceShaderExamples.html

编辑
还有一个像你的结构着色器的例子:
https ://docs.unity3d.com/Manual/ShaderTut1.html
根据这个,你可以添加像

SetTexture [_MainTex] {
    // some properties
}
Run Code Online (Sandbox Code Playgroud)

所以以类似的方式设置Color.(对不起,我没有使用着色器的结构一样,然而,只有顶点/片段着色,所以你必须尝试,如果它的工作原理和/或读了由统一提供的例子,或者等待有更多的专业知识的人的另一个答案:) )