2013-05-29 117 views
1

我一直在想,是否有可能對裝入的圖像作爲紋理進行三維文字蒙皮?我知道你可以用立方體和其他方法做到這一點,因爲大多數示例都顯示了教程如何做到這一點。three.js:渲染具有自定義紋理的三維文字

我試過的是將它與三個映射。 ImageUtils.loadTexture從路徑指示,但我得到的是一些透明對象。我不知道如何使用相同的概念,如:

CubeGeometry(width, height, depth, widthSegments, heightSegments, depthSegments, listofmaterials) 

TextGeometry自TextGeometry(text, {parameters})

這可能是可能的,我們必須爲每一方使用https://github.com/mrdoob/three.js/issues/1318作爲指導。

回答

0

TextGeometry不提供UV座標,如果您覺得有點難以抽象該過程並將其序列化爲任何文本幾何體。文本是自定義網格的另一種形式,因此,您必須手動提供textureCoord屬性,並使用ShaderMaterial來對紋理進行採樣。希望這可以幫助。

+0

感謝您的回覆。我仍然沒有解決它的運氣。我可以問一些簡單的例子嗎?或者任何snippets流量協助可能會很好。我很新,很抱歉提出這樣一個愚蠢的問題。 – user2430990

+0

創建ShaderMaterial,爲某些文本幾何添加UV自定義屬性。您可以在這裏看到ShaderMaterial的基本用法:http://blog.cjgammon.com/?p=392 因此,對於幾何體的每個頂點,您可以添加其紋理座標,並使用最簡單的片段着色器來根據紋理座標。 而不是手動完成這項工作,我建議你製作一個模型,紋理並加載它。無論哪種方式,除非每個字母都製作一個模型,否則它將不會動態變化,取決於文本內容。 希望這會有所幫助。 –

+0

當然,有一種解決它的替代方法,當我陷入這種困境時,我一直在想着COLLADA裝載機,這是你提到的方式。但是,我試圖接近可能是更多的優化網絡發佈材料,因爲動畫序列是相當重的負載。無論如何,感謝您寶貴的時間試圖向我解釋它是如何工作的。 – user2430990