三維軟體裡三角面與四邊面的區別與應用?
不一定。實時渲染(GPU)也支援rect,只不過GPU設計就是按三角形進行最佳化的,使用rect大多數時候並沒有什麼明顯的好處。甚至,4個點很可能不共面,徒增複雜性。
而另一方面,對於諸如動畫這種非實時渲染,其所採用的渲染演算法(如光線跟蹤)對於三角面並沒有特別優於rect的地方,都是與平面求交點。將一個rect切成兩個三角面導致要對同一個平面方程求兩次交,效能明顯下降。
—— 補充
評論裡有人對GPU支援RECT表示懷疑,我特地找了一下。的確,這不是非常通用(被一般知曉的)擴張。在AMD的OPENGPU專案當中,有如下定義:
https://
github。com/GPUOpen-Libr
ariesAndSDKs/Barycentrics12/blob/master/ags_lib/inc/amd_ags。h
enum AGSDriverExtensionDX11
{
AGS_DX11_EXTENSION_QUADLIST
在PS4的圖形庫當中,還有更多的擴充套件。NDA關係就不透露了。N卡的情況不瞭解,但是A卡(GCN架構)是確實支援的。
你理解錯了,到底層gpu或者遊戲引擎或者渲染器,讀取的都是三角面。而四邊面實際上就是為了讓使用者方便編輯,或者顯示簡化才使用的,所以一個成熟的設計師製作的模型,其拓撲結構肯定是由四邊面(兩個三角面)做成的,不會出現大於四邊面的網格佈線。否則到底層時程式也會幫你自動把不合規矩的多邊面劃分成三角面。所以有些時候才會出現破面,重疊面,甚至模型破損。這種情況就是人為的原因,不能怪程式。
eh。。。不覺得用quad你在編輯時候去ring更方便?
至於三角面,因為他是平面中最緊湊的結構,佔用記憶體更少,當然現在這個可能不算問題了……
DCC裡面的Quad本質上是兩個三角面,其中共享邊被隱藏了。你仔細檢視DCC的選項,一定會找到隱藏顯示該條邊的功能。
對於一般的3D建模,Quad的主要好處增強編輯的效率,方便複雜建模。Quad可以快速選擇Loop或者Ring;可以使佈線同模型本身的結構更加吻合,Skinning的時候更加容易控制。如果是Sub-division建模,Quad使得細分結果更加可預料和可控制。
最終進入渲染器或者遊戲引擎,全部的面都會被拆成三角面進行處理(其實DCC都支援一個面擁有任意三條以上的邊)。因為三角面是定義3D模型表面的最小單位,有很多處理上的方便之處。
回到問題,本質上所有3D模型都是三角面構成。Quad是我們為了增加編輯效率引入的。你可以使用三角面建模的角色進行動畫,但是會給自己增添很多麻煩和不便。所以前人的經驗就是動畫用模型(特別是需要Skinning的有機體)儘量用Quad。
謝邀~~
Maya 使用四邊面主要影響在於動畫設定
聽說不用四邊面關節扭動那種的會爆點
拉動不同的點以後,四邊面和三角面不同的反應。你會發現,對於四邊面,他的三角面是靈活的,有兩種可能。根據你四個點的位置不同而得到不同的結果。
剪影,左三角右四邊。
簡單理解就是用四邊面由兩個三角面組成 ,而這兩個三角形是可以根據系統計算而定的(也就是有最佳化空間) 但是模型為三角面的話則定死了佈線,在動畫設定環節遇到形變的話則最佳化空間不足。
Renderbus雲渲染農場-國內最大的雲渲染平臺