如何對一個3D模型進行簡化同時盡量保持模型的精細度?
01-15
我們將一個Pro/E格式的3D模型飛行器導出為3D MAX可用的模型。結果發現模型過於精細,面片數大概有200多萬個,導出後模型大小是300MB。但是需求又要從近距離觀察及使用這個模型上的部分零件。請問如何在不太多損失精細度的同時減低面片數到10-20萬?
首先從源頭上進行控制。Pro/E的格式本身都需要轉換成多邊形,轉換精度肯定是可以調節的。
其次導入3ds Max(注意拼寫)以後,可以使用ProOptimizer這個編輯器進行降面。這個編輯器的最終效果還是不錯的。不過一般的演算法都是以保持輪廓為主,面的拓撲結構肯定會受到影響。如果只是用於一般的渲染,問題不大。
最後要說的是,自動降面是個普遍的難題,包括那些售價幾萬刀的專業軟體也不能做的盡善盡美,人工干預無法完全避免。所以在花力氣研究工具和方法之前,把需求先搞清楚。有時候不過就是要殺個雞,就不用花大力氣研究牛刀了。
謝邀。模型面數貌似很大。因為我不是美術,所以就不知道怎麼手動搞這麼個工程了。但是既然被邀了,怎麼樣也要就經驗說上幾句。有一些軟體可以嘗試(關鍵我想怎麼樣也得先用軟體幫助減下來後再手工修正),這些軟體列在下面,請自行搜索:
1、Modo
2、Mesh Lab (開源)3、Blender
4、Cinema4D5、ZBrush(需要相應插件)6、ATangeo (這個是專門的減面工具,這裡是官網的圖)我自己實現了一個QSlim演算法,具體代碼和效果可參考這裡:網格精簡演算法(Quadric Error Metrics)附源碼
如果要用
3ds Max應該是有網格簡化的功能,查看一下幫助(Maya肯定有,我用過)
如果要了解原理
google scholar mesh simplification我自己都實現過一個演算法
Magic3D 有模型簡化的功能
上面的回答都提供了相關軟體了,除了沒有提到mudbox,yes,mudbox現在也有簡面功能了。
&> "但是需求又要從近距離觀察及使用這個模型上的部分零件"
請問需要觀察細緻的部位是固定的嗎?或者是你可以預測那些部位需要更多的面來表示?然後找一款軟體可以先選擇(例如用刷子塗色)這些需要多面的局部,然後簡化的過程中可以把10w-20w面裡面更多budget留給你選中的那些局部,就是把力用到刀刃上,否則假如10w-20w的面平均分到模型的任何地方,那結果就是到處的面密度都差不多。(廣告:假如你找不到這些軟體,請私信:-)對於面數較多的模型,會使配置馬馬虎虎的電腦很費力甚至無法使用,那麼減面就異常重要了。方法有多種、第一,前期,盡量減少多餘的面的產生。往往不太現實,因為模型需要更多的細節,細節的雕刻,就需要在足夠的面,才能達到理想的效果,但通常在模型雕刻時候,我們的面會相對較多(即我們沒有辦法把握最合適的面數,只能加多的面),也就是我們會出現浪費。(此條無關緊要)第二,可以用高精度下雕刻好所有細節,再進行減少面片。Avatar Ye,Game Developer說的方法可行,使用zbrush雕刻的模型,也可以進行減面(現在的版本不用再裝置插件,自行百度即可找到相關教程),減面是比較方便,大部分細節都還在,只是面片由四邊形面,變成三角面居多(畢竟是演算法優化的),所以拓撲結構會很有影響,對於不需要做動畫,完全可以。第三,就是動畫做的(主要是遊戲動畫),把高精度模型進行拓撲成低精度模型(面數低很多),拓撲好的模型面數較低,可以做動畫,再利用高模和低模製作法線、凹凸貼圖、高光貼圖。。。。,再在軟體(例如3ds max)中將貼圖賦給低模,這樣渲染的效果,就能達到具有較多的細節,面片又較少的效果。(知識有限,現在就知道這些,這也是製作遊戲角色的辦法,效果還是很好的。看不懂的問度娘吧!)
分塊做模型,然後只保留近景攝像機特寫模型部分的精度,其他的地方拓撲成低模。
業界有很多比較成熟的減面演算法。搜索引擎應該可以解決是什麼的問題,怎麼做可能要查查相關論文。
本專業,您下的應該是影視或者工業級高模精模,並非用於遊戲的。這種模型,減面的方法,哪個都繞不開人工手動。您的需求應該是引擎能運行吧,重做一個遊戲低模,或者下一個遊戲用低模。
推薦閱讀: