在 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 [email protected] 創建),位於「免費 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。
- 如果你有多层透明几何体,可能需要在“最终聚合追踪”下提高反射、折射和追踪深度。