在上一篇Mascot Capsule 3D的技巧文章中(創建java 3D MIDlet的技巧)提及帖圖扭曲的問題是建立3D模型時產生的。該篇文章將在更深程度上解釋這個問題,并給出該問題的解決辦法。我們將集中經理在討論一種最普遍的扭曲上,那就是片面不垂直攝影機引起的扭曲。
讓我們來看一個最直接的例子。下面的兩張圖片展示了最簡單的3D盒子,一個是沒有帖圖,一個是有帖圖的。所有的一切看上去都沒有問題,并且盒子和帖圖看上去也沒有問題。

在接下來的兩個張圖片中我們看到是同一個盒子,僅僅是相對攝影機旋轉了一定的角度。通過透視法上下兩個邊會有一定的傾斜度。

這時就出現了一個以外,帖圖看起來不在是這么好了。帖圖非常清楚的發生了扭曲。究竟是發生了什么?這里要告訴大家,這個盒子在實質是由三角面構成。當發布帖圖到三角面的時候,電腦并沒有真正地依照透視法則改變帖圖;而僅僅是將歪斜地位圖放到了三角面上。所以上下兩條邊看起來是沒有問題地,但左上方地磚塊是根據定邊設置,而右下方地磚塊是根據底邊設置地,在兩個三角面相交地地方就很明顯地發生了變形。
我們想要看到的是符合透視法則的磚。我們想要看到的是頂邊和底邊中間平滑的磚的外形,也就是中間的磚或多或少的平行的磚。然而在上面的圖片中事實不是這樣的。相反的所有的邊都是平行于頂邊或底邊,并且中間并不是一個平滑的過渡。
一個解決的辦法,就是下面的四張圖片,我們可以增加組成這墻的三角面的數量。


電腦仍然像以前一樣渲染每個多邊形,只是多安裝了些位圖?,F在我們有更多三角面,三角面之間的銜接也就更光滑了。
這個方法,只是簡單的找了一個在三角面數量和最小可接受的扭曲的折中點。因為這樣會帶來處理時間延長。
另一個簡單的解決辦法是使用不對稱的帖圖來代替磚塊帖圖。假如你這樣做,你可以使用最小的三角面數量,但是看起來仍然沒有問題,就像下面的圖片。比較下面的四張畫面,你會發現它確實改進了很多。

新聞熱點
疑難解答