2015-08-20 133 views
0

我正在用three.js創建地形,並且使用我發現的一些草紋理進行紋理處理,並應用FlatShading使其看起來很低,但陰影只能修改該紋理,米仍然看到施加的紋理,我需要每個面具有平坦的顏色,而不是質地,像這樣的畫面:three.js使用平面着色和紋理的平面顏色

http://i.ytimg.com/vi/9WFBnc_gPMo/maxresdefault.jpg

統一使用PolyWorld資產,從與草紋理例如地形,它應用平面着色,並使用平面顏色作爲紋理(主要顏色?)

+0

困惑;如果你不想紋理應用,爲什麼你應用它? – gaitat

+0

因爲我不希望地形看起來都是相同的顏色,所以如果你看圖像,你會發現草地在每張臉上都有不同的顏色,這是因爲紋理,它是一種應用方式對臉部顏色的隨機性。 下面是使用該資源(PolyWorld)的Unity的詳細過程,我試圖重新創建那個外觀,但對於Three.js: https://www.youtube.com/watch?v=9WFBnc_gPMo – MauJFernandez

+0

您需要從webgl獲取紋理mipmap(生成後)並將其中的一個應用爲紋理。或者,您可以在應用之前模糊您的原始紋理。 – gaitat

回答

0

你似乎想要的是效率低下,但實現它的一種方法是確保每個三角形面的所有三個面的VertexUV值相同:即對於三角形ABC UV座標都是,例如(.4,.6),( (.4,.6),(.4,.6)

這意味着渲染的三角形的所有像素將具有一個均勻的UV,並且您將始終在三角形上獲得相同的紋理顏色(儘管有一些濾波在非常極端的透視案例中)