我已經寫了一個小波前的.obj文件解析器(3d模型格式),我可以正確顯示幾何圖形,但是我有問題紋理正確。
我能得到正確的紋理的唯一方法是通過將模型在我的3D編輯器,導出和分析是這樣..即:我不再共享頂點數據,每個三角形是它自己所以我的indexBuffer的數組看起來像[0,1,2,3,4,5,6 ...],這是我想避免的。
正確紋理/低效幾何形狀(頂點的無複用:36個頂點): Correct http://imageshack.us/a/img29/2242/textureright.jpg
錯誤的紋理/右拓撲結構(共享數據:8個頂點僅=有效): Wrong http://imageshack.us/a/img443/6160/texturewrong.jpg
我想嘗試將index緩衝區與指向頂點的index緩衝區分開,但沒有找到辦法做到這一點;如果確實是可行的。
我也搞砸了agal代碼,但沒有取得任何結果。
期望的最終是能夠通過不同的UV座標在三角形的上下文相同的頂點被吸入大氣壓。
怎麼辦?
謝謝。 (我是3D編程新手)Stage3D/AS3中的UV貼圖
1
A
回答
1
看起來您需要的只是模型中每個「頂點位置」只有一個頂點,但從我瞭解的.obj解析器中,您需要定義頂點FACES。這意味着對於某些位置,您可能有多個頂點 - 取決於該位置與多少個面相鄰 - 但是,您可以在同一位置爲這些頂點設置不同的UV座標。
我建議改變你的解析器創建基於他們定義的臉而不是他們的位置的頂點。我知道這會使頂點的數量增加,但是從我讀過的數據來看,如果您需要不同的UV來確定相同的頂點位置,這是不可避免的。
所以,不幸的是,我很確定你的第一個選擇是要走的路。
0
它看起來像你的焊接操作是錯誤的。用於焊接的頂點,你必須確保位置,UV座標,法線和切線(如果需要的話)相等
相關問題
- 1. THREE.js中的UV貼圖
- 2. Blender默認的UV貼圖
- 3. 搞砸的UV和光照貼圖
- 4. 如何創建手臂的UV貼圖?
- 5. Three.Js凹凸貼圖和UV佈局
- 6. OpenGL:立方體貼圖紋理,沒有UV貼圖
- 7. 紋理尺寸變化時的UV貼圖問題
- 8. 法線貼圖可以使用單獨的uv套裝嗎?
- 9. UV貼圖的OpenGL-ES紋理加載問題
- 10. 地圖集UV地圖與本地UV地圖
- 11. 是否有可能從Blender中的渲染對象創建UV貼圖
- 12. 如何消除UV貼圖三角形(HTML5 Canvas)之間的接縫?
- 13. 當我渲染圖像中的攪拌機我的UV貼圖顯示出來白
- 14. 爲什麼紋理UV貼圖對所有立方體都改變了?
- 15. 攪拌機,UV層,圖像和Python
- 16. Blender 2.5 Python找到uv層圖像
- 17. 如何爲Three.js中的不同地圖指定UV通道
- 18. HLSL - 頂點着色器的輸出POSITION0如何影響像素着色器的紋理貼圖uv?
- 19. Unity 3D多UV集
- 20. 3ds collada Papervision中的UV映射問題
- 21. 程序生成的UV
- 22. Three.js中的光照貼圖
- 23. three.js中的位移貼圖
- 24. Spritekit六角形貼圖:結束SKAction中的貼圖檢測。
- 25. 在Three.js中使用網格合併時保留UV地圖
- 26. 無法將剪貼板中的圖像粘貼到MS Word中
- 27. 將剪貼板中的圖像粘貼到Excel中
- 28. 如何在three.js中使用映射uv
- 29. UV紋理TextureUnits在textureUnits中,openscenegraph
- 30. 如何測量UV座標?
我不能相信這是唯一的選擇。這並不適用於.OBJ解析器只有:假設我想創建一個四邊形,並且它有兩個不同顏色的兩個三角形,我相信這可以通過其他方式實現,而不是隻有六個頂點用於這個四邊形。已存在的stage3d遊戲的頂點數量不可能以這種方式呈指數級增長......感謝您回答:) – chadiik 2013-04-29 12:10:19
如果向下滾動到標題爲「使用頂點緩衝區和索引緩衝區定義幾何體」的標題,則會在此頁面上顯示信息。 http://www.adobe.com/devnet/flashplayer/articles/how-stage3d-works.html關於頂點緩衝區如何定義面。 – moosefetcher 2013-04-29 14:14:36