2012年5月29日 星期二

淺談Maya Smooth

3D電腦動畫原理 Michael O'Rourke著 (P.213)

所謂「Smooth」本來是一種數學的演算法:無限的將一條多邊曲線分割會產生一條所謂的「極限曲線」(Limit Curve),推導到三個象限,就是將多邊形表面進行無限多次的次分割表面(subdivision surfaces)也會產生所謂的「極限表面」,從效果來看,就是可以讓比較粗糙、面數比較少的3D模型,根據它本來的佈線,自動細分出更多的面,並讓模型呈現出更為滑順、較為「好看」的狀態,可以讓CG工作者在更短時間內得到更好的效果。

Smooth大概可以說是3D軟體最偉大的發明之一,第一次見識到的時候真的覺得非常神奇,好像有了smooth,連白癡都可以變身建模大師,當然後來境界不同後,才知道這也不過就是一項很方便的工具而已。總之,Maya有各種方法可以做到不同smooth程度的效果,個人歸納如下:

1.選到模型,直接按3預覽,用mentalray算圖就是結果

優點:超級直覺,預覽就是看到的結果
缺點:進遊戲引擎無法保持效果

補充:可以調整mentalray算圖的smooth程度

2.Soft Edge指令,將硬邊軟化,可以讓polygon看起來smooth一點。
法一:選到模型 > shift+右键 > SOFT\HARD edge > soft edges
法二:Polygons > Normals > soft edges

優點:不增加面數
缺點:面數太少時,看起來沒有效果

3.Smooth指令
將模型細分面的功能
法一:選到模型 > shift+右键 > 下方 Smooth
法二:Polygons > mesh > Smooth
法三:modify > convert > smooth mesh preview to polygon
            (這個指令可以把模型smooth成和按3預覽看到的一模一樣!)

優點:可以用屬性divisions做細分調整,一般預設divisions = 2時就是按3的預覽結果
缺點:面數會增加很多,讓檔案變得很重

補充:
直接用mesh > Smooth這個指令要小心一下裡面的 keepBorder 屬性,假如你的模型有開口(border)存在,它會讓你的按3預覽和smooth結果有落差
(其實這是本文重點,因為這是我在工作時遇到過的實際問題)

這是按3的效果

這是smooth之後的模樣,怪怪的

把keepBorder關掉成off就正常哩

4.所知有限,希望有心人可以補充... ^^  有錯也請指正,謝謝~

3 則留言:

Unknown 提到...

感謝您~

CYT 提到...

請問可以轉貼嗎?

Yao 提到...

1樓
感謝您的鼓勵~

2樓
只要註明原文出處,非常歡迎!