飛行模擬--1.三維建模篇
以下文章來源:微信公眾號 無風夜雪
寫在開頭:本科的時候學的機械,喜歡畫圖,尤其愛好三維建模,慢慢學習到了3dsMax。當時窮書生一個,眼界也不夠開闊,只會傻傻的上圖書館借書借光碟學習。後來陰差陽錯去了一所航空院校讀研,當時老師有兩個方向:機械設計和飛行模擬。機械早已不陌生,老師的飛行模擬方向主要是編程,因為『出身問題』,很自然我就選擇了機械方向。大約過了幾個月,發現老師的機械課題很一般,也不是老師的重點,對飛行模擬也有了點了解,需要三維建模+編程,心中的那點小火苗早就按捺不住,遂開始了近三年的編程生涯。一個非科班出生的去編程一般人看來是個難事,幸賴本科時有較好的C語言基礎和三維建模經歷,三年下來在旋翼機的飛行模擬方面也算漸入佳境,與飛行模擬結下了不解之緣。個人原因,對於工作方向我毅然決然的放棄了繼續從事編程的工作,每及於此,老師都頻頻嘆息。想起當日所學只能塵封與一塊硬碟之中,不免生出悲涼太息。還是分享與人,雖然不能夠『為往聖繼絕學,為萬世開太平』,能惠及一二就知足了。今天開始,系列推出飛行模擬(旋翼類)相關文章,以饗大家。
1.關於軟體。巧婦難為無米之炊。對於開發3D等虛擬現實程序無不需要三維模型作為素材,飛行模擬也不例外,大量的氣動計算數據最終就是為驅動這些三維模型而存在的。好的三維模型能增加用戶的沉浸感,給人以視覺的享受。當前三維軟體層出不窮,既有商業級的3ds MAX、MAYA、Creator,也有免費使用的Blender、MilkShape。個人覺得還是3ds MAX專業,後期數據導出介面也比較完善,主要簡介基於3ds MAX的飛機建模方法,觸類旁通。
2.關於藍圖。用再多的語言文字描述3D模型的原理或方法都顯得力不從心,這方面專業的教材和視頻不可勝數,此不贅述,在此簡要介紹飛行器的建模方法。飛行模擬的三維模型主要有飛行器、機場建築等。和大多數虛擬現實中使用的模型一樣,並不需要CAD級別的精度,一般是下載一些圖片或飛機整體藍圖作為藍本,採用多邊形建模的方法分部建模。藍圖下載網址首推:
http://www.the-blueprints.com/
這裡免費提供各種汽車、國內外飛機、船舶的三視圖圖紙下載。
3.多邊形建模。採用下載的藍圖,作為貼圖放置在相應的投影平面上,然後採用多邊形建模的方法畫出各部分細節。多邊形建模的思想就是採用一個諸如一個最接近的多邊形,進行點線面的操作就可以繪製出複雜的飛機外形。第一次看到這種操作時真是震驚了,這在我之前學過的所有課本里都沒有介紹過。多邊形建模從最基本的外形開始變形,可以從點線面及整體四個級別的操作,在越需要突出外形細節處用越多的點,通過建立網格模型,然後使用網格平滑功能生成平滑的曲面模型。建模時不能有重複的點線面等幾何體,否則即使表面上已經貼好了材質,但載入程序後,往往會因為Z向深度衝突的原因產生閃爍效果。其細節取決於您的需求,需要花費大量的時間。這在市場上稱之為『美工』,但在學校有學生似乎就夠了。
4.貼圖。真實世界的模型帶有各種彩色並具有光澤度。完成了幾何體的建模對於一個模型來說只完成了一小半工作,還需要給模型添加材質。與一般的模型不同,飛行器出於氣動設計的考慮,其表面模型一般成流線型的曲面,且部件組成複雜,界線較難區分,即使是UVW貼圖也難以勝任。因此,對飛行器的貼圖主要採用3ds MAX的UVW展開貼圖技術貼圖。一個模型最好只有一個貼圖,因為貼圖數目過多零散會影響計算機載入三維模型時間和效率。因此,一般將整個模型各個部件組合為一個多邊形,各部件為元素,待完成UVW貼圖後再分離成單獨的部件。UVW展開貼圖有多重形式,如長方體展開(即按六個視圖投影)、平面展開等,按需選擇。在一張貼圖上展開整個模型的UV坐標顯然是有限的,需要根據現實精度調整各個部分的貼圖大小。保存這些展開的貼圖坐標並渲染輸出UV模板圖像文件。UV模板圖像其實就是整個模型的貼圖的界線圖像,通過Photoshop等圖像處理軟體處理,採用儘可能真實的圖像放置在對應的區域。最後將材質賦給對象即完成貼圖渲染。關於貼圖,推薦觀看國外Boeing 727 的貼圖教材,裡面有關於Photoshop貼圖渲染的方法。
www.pxleyes.com/tutorial/3ds-max/2677/How-To-Model-and-Texture-a-Boeing-727-Airline.html
5.數據導出。直接採用3ds MAX繪製的三維模型當然是*.max格式,它不能為外界程序讀取。這時就需要根據自己的開發環境選擇導出的數據格式,比如用開源的OSG做模擬開發,就需要OSGExp插件的支持,導成*.ive、*.osg、*.osgb等格式即可。但無論導出何種格式,切記保證模型質心與建模的原點不能相差不遠,還要注意光照、貼圖格式以及單位問題。
如果您確實對飛行器的三維建模感興趣,強烈推薦到如下網址觀看視屏教程,是國外一個CG大師(個人覺得)創作的:一個是Mig-29的詳細建模教程,一個直升機的詳細建模教程。
http://www.pxleyes.com/tutorial/3ds-max/2662/How-To-Model-a-Mig-29-UB-Fighter-Jet.html
http://www.pxleyes.com/tutorial/3ds-max/2649/How-To-Model-a-Eurocopter-Helicopter.html
推薦閱讀:
※淺聊 | 離散事件模擬(DES)是什麼?
※如何用模擬做出更美味的爆米花?
※【技術簡報】ACTRAN在聲襯模擬中的應用
※Sentaurus TCAD安裝之CentOS7系統