0
我已將頂點顏色分配給Maya(Image1)的平面,並使用顯示頂點顏色的VertexColorShader將其導出到Unity。頂點顏色無法正常工作
我預計結果會像Image3,但是發生的事情是它像Image2一樣出來。
請看看這些圖像。
我着色器是相當簡單的。它只是使頂點顏色可見。
vert函數獲取每個頂點顏色並將其存儲在輸出變量中。
surf函數從變量中檢索顏色並將其設置爲片段的顏色。我認爲結果會像Image3(我用Photoshop製作這個圖像),但實際上是以Image2的形式出現的。
怎麼來的?
頂點之間的每個片斷都不知道它的顏色,因爲vert函數沒有在頂點之間調用,所以我認爲除了頂點的位置之外,plain的顏色幾乎是白色的。
請問誰解釋我爲什麼會發生這種情況?
Shader "MyShader/VertexColorShader" {
Properties {
}
SubShader {
Tags { "RenderType"="Opaque" }
CGPROGRAM
#pragma surface surf Lambert vertex:vert
struct Input {
float4 vertColor;
};
void vert(inout appdata_full v, out Input o) {
UNITY_INITIALIZE_OUTPUT(Input, o);
o.vertColor = v.color;
}
void surf (Input IN, inout SurfaceOutput o) {
o.Albedo = IN.vertColor.rgb;
}
ENDCG
}
}
乾杯,
技術
你的顏色敏感的眼睛的榮譽,但我真的沒有看到區別.. ?? – Absinthe
感謝您的回覆。你沒有看到Image2和Image 3之間的區別?真的嗎? – tech
2和3比較蘋果和梨,一個是特克斯地圖,一個是垂直 – Absinthe