在 Maya 中渲染 SolidWorks 模型
| 一位 Wikibookian 認為此頁面應拆分為具有更窄子主題的較小頁面。 您可以透過將此大頁面拆分為較小的頁面來提供幫助。請確保遵循命名策略。將書籍分成較小的部分可以提供更多的關注點,並允許每個部分都能做好一件事,這有利於每個人。 |
| 一位讀者請求擴充套件本書,以包括更多材料。 您可以透過新增新材料(瞭解如何操作)或在閱覽室中尋求幫助來提供幫助。 |

如何使用內建的 mental ray 在 Maya 中匯入和渲染您的 SolidWorks 模型。
SolidWorks 是主要的產品設計實體建模軟體之一。它內建了一個名為 PhotoWorks 的渲染引擎。隨著 PhotoWorks 2 的釋出,在 SolidWorks 中進行渲染變得更加逼真和容易。在很多情況下,PhotoWorks 將是渲染模型最方便的方式,因為您不需要離開 SolidWorks。但是,在某些情況下,您會發現需要進行更逼真的(甚至照片級別的)渲染,而 PhotoWorks 不再足夠。這就是您可能考慮使用外部程式進行渲染的時候。在本操作指南中,我將說明如何使用 Alias Maya 和 mental ray 來實現這一點。我將使用 SolidWorks 2005 和 Maya 6.5 來完成這項工作,但它可能也適用於大多數其他(最近的)版本。
我將使用從 SolidWorks 使用者群組網路 (SWUGN) 下載的打火機模型(由 Marko.M.Markovic mmmarko@neobee.net 建立),位於「免費 SolidWorks 模型」部分的底部。
在將模型匯入 Maya 之前,您需要先將其匯出到 IGES 格式。在本操作指南中,我將說明如何使用元件來完成這項工作,但對於單獨的零件來說,這基本上是相同的。
- 開啟您的元件。
- 如果您不想匯出所有物件,請先選擇要匯出的物件。如果您要匯出完整的元件,請不要選擇任何物件。
- 轉到檔案 > 另存新檔...
- 選擇 IGES 作為您的檔案型別,然後點選「選項... 」按鈕。
- 使用下圖中的設定,然後點選確定。
- 如果您在元件中選取了任何物件,SolidWorks 將詢問您是否要只匯出選取的物件。
- 您還可能會被問到是否要先解析隱藏、抑制或輕量級物件。通常您的答案是「是」,除非您不想匯出某些零件。
建議您現在關閉 SolidWorks 以獲得更好的效能。我們現在將將匯出的 IGES 資料匯入 Maya。它可能看起來很亂,但別擔心,我們會處理的。
- 啟動 Maya。
- 轉到檔案 > 開啟場景...,找到您的 IGES 檔案,然後點選開啟。注意:大型元件可能需要 Maya 花一段時間才能轉換,請耐心等待!
注意:如果無法開啟 IGES 檔案,您需要啟用外掛程式,如下所示。
選擇視窗 > 設定/偏好設定 > 外掛程式管理員以顯示所有已知外掛程式的列表。點選載入或自動載入核取方塊以載入其中一個 ge2Export.mll、ge2Export.so 或 ge2Export.lib 和 igesadd.mll 外掛程式。
如您可能或可能看不到,Maya 將有相當多的重複零件,並且一些設定也需要更改。因為這可能需要相當多的工作,我們將使用以下 MEL 指令碼來完成這項工作。
string $select[] = `ls "transform*"`;
delete $select;
string $currentSelection [] = `ls -geometry`;
string $loopSelection;
for ($loopSelection in $currentSelection)
{
setAttr ($loopSelection + "." + "visibleInReflections") 1;
- 點選螢幕右下角的圖示以開啟指令碼編輯器。
- 將上述指令碼貼到指令碼編輯器中,然後透過按下 CTRL+A 再次選擇它。
- 開啟頂部架子上方的「自訂」標籤。(如果您沒有,請建立一個新的,轉到視窗 > 設定/偏好設定 > 架子...)
- 現在回到指令碼編輯器,將選取的指令碼拖到「自訂」標籤區域 - 將出現一個新的按鈕。
- 您可以(但不是必需的)為此按鈕製作一個漂亮的圖示,以便您稍後能更好地辨識它,或者只是因為它看起來很漂亮。
- 轉到視窗 > 設定/偏好設定 > 架子...
- 您將看到類似於此的內容

- 首先下載此圖示:http://www.extrapuur.nl/SWCLEANUP.bmp 檔案:SWCLEANUP.png(確保您下載的是 bmp,而不是這裡在 wikibooks 上託管的 png!)
- 點選「更改影像... 」按鈕,然後找到您剛剛下載的圖示。
- 點選關閉,瞧!您就有了自己的 SW 清理按鈕!
- 現在您可以終於清理您的場景了:只需按下您剛才建立的按鈕。下次您啟動 Maya 時,此按鈕仍然存在,因此下次會快很多。重要說明:如果您匯入的是零件模型而不是元件,您將不會有重複的幾何體,您也不必清理場景!
如果一切順利,您現在將在 Maya 中擁有 SolidWorks 模型的乾淨版本。是時候儲存了!
- 轉到檔案 > 另存新檔...
- 為您的檔案輸入適當的名稱,然後點選「儲存」。
因為本操作指南的目的是讓您開始進行照片級別的渲染,我們將使用 HDRI 環境。HDRI 代表高動態範圍成像,基本上是一種使用環境圖片來照亮場景的技術。這將產生非常逼真且令人信服的陰影、高光和反射。這對於真實模擬鉻等材料非常重要。
首先,您需要一張 HDR 圖片。您可以在 http://debevec.org/Probes/ 上免費下載各種 HDR 圖片。我將使用 Uffizi 美術館探測器,但任何其他 HDR 圖片都可以。
從 maya 6.0 開始,您可以在 mental ray 中建立一個特殊的 IBL 節點。我們將使用此節點在場景中建立基於圖片的照明 (IBL)。要建立此節點
- 轉到視窗 > 渲染編輯器 > 渲染全域性...(在 Maya 7.0 中為「渲染設定...」)
- 在「使用渲染」下拉選單中選擇「mental ray」。
- 如果該選單中沒有 mental ray,您需要開啟它。要完成此操作,請轉到視窗 > 設定/偏好設定 > 外掛程式管理員。
- 向下滾動到 Mayatomr.mll,並勾選它後面的兩個方塊。現在,當您啟動 Maya 時,Maya 將預設載入 mental ray。
- 現在轉到 mental ray 標籤。
- 向下滾動,直到您看到「基於圖片的照明」,開啟它,然後點選「建立」按鈕。
- 主螢幕右側將出現一個新的設定視窗(此區域稱為屬性編輯器)。
我們接下來要做的看起來像是重複工作(兩次選擇相同的圖片),但這樣您就可以在場景中看到您的環境,並且仍然可以調整它。
- 將「對映」選項設定為「角度」。
- 點選「圖片名稱」欄位旁邊的資料夾圖示,然後找到您剛剛下載的 HDR 圖片。
- 現在將「型別」選項更改為「紋理」,然後點選「紋理」選項旁邊的棋盤格圖示。
- 一個名為“建立渲染節點”的新視窗將彈出。在“2D紋理”部分選擇“檔案”。
- 再次點選“影像名稱”欄位旁邊的資料夾圖示,找到(相同的)HDR影像。
現在我們將建立一個網路來調整影像的伽馬值。我們需要這樣做是因為大多數HDR影像設定為1(或者至少在Maya中以這種方式讀取),而它應該在2左右。
- 在紋理檔案選項卡仍然開啟的情況下,轉到視窗>渲染編輯器>Hypershade…
- 一個新視窗將出現。雙擊
按鈕。 - 現在您將看到紋理如何連線到此視窗底部的mental ray IBL節點

- 現在轉到建立>顏色工具>伽馬校正
- 將伽馬節點拖動到一個方便的位置,這樣您仍然可以看到“file1”節點和“mentalrayIblShape1”節點;最好在這兩個節點之間。您可以使用標準相機控制元件在檢視中進行縮放/平移。
- 選擇“file1”節點右下角的“out”箭頭,一直按住它,然後轉到outColor>outColor。
- 點選伽馬節點左下角的“in”箭頭,選擇value。您已使用綠色線條連線了“file1”和“gammaCorrect1”節點。
- 以相同的方式將“gammaCorrect1”節點的outValue(outValue>outValue)連線到“mentalrayIbleShape1”節點的顏色。如果您已按照說明完成所有操作,您應該看到類似於此的連線內容

現在您可以調整HDR影像的伽馬值。如果您不這樣做,在大多數情況下,您的渲染將非常明亮。
- 點選伽馬節點以選中它。屬性將在屬性編輯器(在Maya主螢幕中)中開啟。
- 將所有三個伽馬值設定為2.2
通常伽馬值為2.2就足夠了,但是如果您在渲染場景後仍然認為它太亮(甚至太暗)(我們稍後會講到這一點),您始終可以回到此節點並調整值:值越高表示“更暗”,而值越低表示“更亮”。
作為此部分的最後一步,您需要關閉預設燈光。這是因為如果場景中還沒有燈光,Maya會放置一個燈光。顯然,Maya不認為我們的IBL節點是燈光,因此您必須手動將其關閉 - 否則您的場景將過度曝光。
- 轉到渲染全域性視窗
- 選擇“常用”選項卡。
- 關閉此視窗底部的“啟用預設燈光”(您可能需要向下滾動)。
我們現在已將SolidWorks模型匯入Maya併為其設定了環境,因此我們已準備好為模型分配材質。它不會深入探討如何精確地調整著色器 - 這超出了本操作方法的範圍 - 但它將為您提供一個良好的基礎。
現在,您的模型還沒有分配任何材質,因此當您渲染它時,它將不可見。因為在測試渲染時,如果您可以看到完整的模型會更方便,所以我們將為整個模型分配一個臨時的、明亮且閃亮的材質。我們還將建立一個用於模型放置的平面。
- 確保您處於“著色”模式,方法是在視口中按6。
- 轉到建立>NURBS基本體>平面,或單擊“曲面”選項卡中的平面按鈕。
- 將此平面縮放(透過按鍵盤上的r或單擊縮放按鈕)到適合您的模型的大小。
- 開啟Hypershade(視窗>渲染編輯器>Hypershade…)
- 按此視窗左側的“Blinn”按鈕。(確保您處於“建立Maya節點”中,而不是“mental ray節點”中)您剛剛建立了一種新材質。
- 點選此節點以開啟其屬性,然後將顏色滑塊向右拖動以使其更亮(不要完全為白色)。
- 現在透過開啟大綱檢視(視窗>大綱檢視…),選擇第一個幾何組並SHIFT選擇最後一個組,來選擇模型中的所有幾何體。

- 返回到Hypershade,右鍵點選您的Blinn材質。按住滑鼠按鈕,然後轉到“將材質分配到選擇”。
現在我們將進行第一次測試渲染,以檢視一切是否順利進行。
- 首先為您的視口建立一個解析度網格,以便您可以看到將要渲染的區域。在視口選單中轉到檢視>相機設定>解析度網格。
- 放大到您模型的良好檢視。
- 轉到渲染全域性視窗(視窗>渲染編輯器>渲染全域性…)
- 在mental ray選項卡中,開啟“最終聚集”(僅第一個複選框)。我們將保留這些設定,因為它們現在就是這樣。
- 現在您可以渲染了!點選渲染按鈕,或轉到渲染>渲染當前幀…
- 這就是我的渲染外觀

我們將建立的第一種材質將是普通塑膠。我們將把這種材質應用於中間部分、氣體調節器和按鈕。無論何時要建立新材質,都要考慮它應該反射多少光、散射多少光、它有多透明等,因為這些都是您在Maya中的引數。

要建立塑膠材質
- 開啟Hypershade視窗。
- 像以前一樣建立Blinn材質。例如,Blinn不同於Lambert(這是Maya中的標準材質),因為它具有反射率引數。
- 將顏色設定為黑色(不要完全黑色!將滑塊設定到大約5%)。
- 將偏心度設定為0.175
- 將鏡面衰減設定為1.000
- 將鏡面顏色設定為100%白色
- 將反射率設定為0.400
如果您不確定這些設定,您可以檢視右側文字旁邊圖片。您現在已經建立了一種略微反射的材質,但具有尖銳、明亮的高光。我強烈建議您使用這些設定以及其他材質的設定進行嘗試;它將教會您需要快速設定您想要的材質/外觀的引數。要將這種材質應用於中間部分、氣體調節器和按鈕,請先選擇它們。通常,在“大綱檢視”(視窗>大綱檢視…)中很容易識別這些部分,因為它們將獲得您在Solidworks中給它們相同的名稱。在這個例子(打火機)中,該裝配體的建立者沒有為零件命名,因此您必須瀏覽“大綱檢視”。注意!如果您在視口中選擇零件,很有可能會錯過一些面,因此在大多數情況下,您應該使用“大綱檢視”進行選擇。在本例中,它是Part020、Part017、Part013和Part015。使用CTRL點選一起選擇所有這些。現在返回到Hypershade,右鍵點選您的新黑色材質,並將滑鼠拖動到“將材質分配到選擇”。

對於燃料部分,我們將分配一個漂亮的橙色透明材質。
- 開啟Hypershade視窗。
- 建立一個Phong材質。
- 雙擊屬性編輯器中的灰色“顏色”欄位。
- 將開啟一個新的顏色視窗。選擇您喜歡的顏色;我選擇了最亮的橙色,但如果您更喜歡綠色,那就選擇它!
- 將透明度設定為大約60-70%
- 將漫反射設定為1.000
- 將反射率設定為0.400
將材質分配到大綱檢視中的Part016。正如您在視口中看到的,該部分的顏色已經改變了。

金屬部分需要光亮且閃亮,所以我們將為它製作一種鍍鉻材質。
- 再次轉到Hypershade
- 建立一個Phong材質。
- 將餘弦功率設定為5.000
- 將鏡面顏色設定為100%白色
- 將反射率設定為1.000
將這種材質分配到大綱檢視中的金屬部分 - Part014。鍍鉻是一種很難製作的材質,因為您完全依賴於您的環境 - 它幾乎“全部”是反射。因為我們有HDR環境,所以這個問題已經不那麼嚴重了,但為了使其更令人信服,它需要更多來自更靠近打火機的物體反射。它可能是打火機所放置的桌子或觀看它的人。現在它正躺在一條空曠的街道上,在一個完全均勻的平面上。無論如何,您可以檢查結果,我認為這已經看起來很逼真了。您確實需要針對每種材質進行實驗以使其發揮作用,並且如果您真正想要逼真的影像,您可能需要將紋理應用到它所放置的平面上。
如前所述,為了使打火機看起來更真實,它需要一個真實的場景。我們已經用 HDR 影像構建了部分場景,但為了使其更具說服力,我們將把地面平面變成一個逼真的桌子。我們需要一張木頭的圖片來應用到平面。我將使用來自 Mayang 的免費紋理庫 的一張圖片,名為“平行木板”。
- 在 Hypershade 中,選擇“Lambert1”材質。
- 進入屬性編輯器,點選“顏色”選項旁邊的棋盤格圖示。
- 選擇“檔案”,並將你的紋理載入到“影像名稱”欄位中(點選資料夾圖示)。
- 你現在可以在視窗中看到紋理的預覽(如果沒有,在視窗中按 6)。
- 在我的案例中,打火機的位置不太理想,所以我選擇了大綱中的所有內容,並將打火機向後拖動了一點。
如果你現在渲染,你會發現它變得非常真實!稍微調整一下你的材質,調整一下你的 mental ray 設定,沒有人能分辨出它是真實的。
設定 mental ray
[edit | edit source]一般來說,在調整材質、更改相機角度以及任何可能需要重複渲染場景的流程中,將 mental ray 的渲染質量設定為較低的質量級別是合適的。但是,當你對渲染結果比較滿意時,你可以將 mental ray 設定切換到適合生產渲染的級別。
- 點選渲染設定按鈕(帶有兩個單選按鈕的黑色拍板圖示)或前往:渲染 > 渲染當前幀 > []
- 在“質量”選項卡上,將質量預設下拉選單更改為“生產”。
- 在“間接照明”選項卡的“最終聚合”標題下,勾選複選框以啟用最終聚合。
- 預設精度 100 通常不夠。將它提高到 256 通常是一個良好的起點。
- 如果在 256 的情況下,你的渲染中出現了斑點狀的瑕疵,嘗試將點插值提高到 30。
- 如果你有多層透明幾何體,可能需要在“最終聚合追蹤”下提高反射、折射和追蹤深度。




