如何将Texture
添加到Oculus 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 {}
}
}
答案 0 :(得分:30)
您可以使用在Pass {}
中添加的属性,该属性至少应包含顶点和片段着色器(或表面着色器)。
在传递中,您定义了一个与您的属性同名的sampler2D
,因此您可以在着色器函数中使用它。
统一文档中有一些示例着色器:
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
}
所以以类似的方式设置Color。 (对不起,我还没有使用像这样结构的着色器,只有顶点/片段着色器,因此你必须尝试它是否有效和/或读取统一提供的例子或等待具有更多专业知识的人的另一个答案:))
答案 1 :(得分:1)