本文指導如何使用Maya來渲染一些用于論文的彩圖,效果如下:

本例子所用的maya版本 maya2015
步驟如下: 一、初始環境設定 1.打開 maya , 在新場景 ,確定一些環境設定。
勾上 Mayatomr.dll 中的 兩個選項
二、頂點上色
由于腳本中使用的命名的原因,要到如的obj應該按照圖中的格式 ,從mesh_0000.obj 開始
使用移動工具調整好人的位置
下面說下如何上色: 由于 這裡使用的網格頂點數都相同,可以都用同一個顔色檔案,格式如下:
然後使用 maya 腳本讀取 這個 squat2_coloring.seg 檔案,給網格上色 說明: framenum 是場景中mesh(也就是本例子中的人)的個數 labelColorFilePath 是上色檔案的路徑
countmax 這裡設為100000 ,是假定網格頂點的數量不超過100000
mel.
eval
(
'select -r mesh_000%d:MeshShape;'
%
frameid) 這裡涉及到 mesh的名稱,可以看到裡面的名稱
是與網格的名稱對應的,如果你不按照 mesh_0000.obj的命名,那麼腳本中相關的名稱要改一下
腳本檔案:
|
選擇人物右鍵 ,可以看到新上色的資料儲存在colorSet1(RGBA)
此時渲染是沒有上色的效果的,這是因為 )Maya中多邊形的頂點着色,使用的是與材質無關的另一套資料資訊,這些頂點色彩與幾何體存儲在一起,可以導出到遊戲引擎或其他軟體中,但使用Maya software渲染器無法渲染出設定的頂點顔色。如圖:
三、導出mesh顔色到材質并渲染
由于本文中腳本的所用的節點的命名問題,請確定此時Hypershade中的 材質節點是初始的,這樣保證後面建立新的材質節點時命名不會出問題
初始的節點是這三個,工作區為空
如果有 多餘的材質節點在,删除它們的連接配接線後,再點 删除未使用節點
選擇人物,再點節點編輯器
可以看到 人物它對應的網格節點 mesh_0000:MeshShape
點
可顯示 網格節點 mesh_0000:MeshShape 連接配接的其他節點 可以看到 mesh_0000:MeshShape 一開始 連接配接的是 initialShadingGroup ,這是初始的材質。
接下來要使用下面的一個代碼來連接配接材質節點,并建立新的材質節點連接配接來用于我們的渲染
說下下面的腳本,主要是做一些 渲染節點 的建立和連接配接 ,由于涉及到節點的名稱的關系,為了保證名字的正确,在運作這個腳本之前就不要建立其他材質。 framenum 是場景中mesh(也就是本例子中的人)的個數
|
其中
mel.
eval
(
'setAttr "mib_amb_occlusion%d.samples" 256;'
%
(frameid
+
1
) ) 設定samples 值為256 ,可根據自己的情況設定
這個新的節點連接配接中關鍵是用到了 一個 mentalrayVertexColors 節點,它可以把 網格mesh_0000中的顔色集 導出,并輸入到其他節點,比如這裡的mib_amb_occlusion ,這樣使得mib_amb_occlusion 具有mesh_0000中顔色集的顔色了,也就得到了一個新的材質。最後還要把新材質賦予給mesh_0000,即把mesh_0000:MeshShape連接配接到 surfaceShader1SG
這些節點的連接配接過程當然可以手工在節點編輯器上完成,但比較麻煩,也可能引發當機(我雙點了一下節點就當機了,原因不明)
此時由于occ材質的關系,在 viewport2.0 下物體表面黑色,不利于觀察,可以切換到舊版預設視口
渲染一下
效果下面這樣
改一下照相機的底色
儲存為png 格式,其實那些白色的透明的
但這個效果我們還是不滿意,因為感覺缺少陰影效果。由于occ 材質的原因,我們不需要添加燈光,要産生陰影,需要加上一些地闆等其他東西,物體與物體之間就會産生陰影效果
并且拉伸
接下來給地闆也上occ 白色材質
可以用下面這個mel 代碼來連接配接該兩個節點 connectAttr -f mib_amb_occlusion4.outValue surfaceShader4.outColor;
setAttr "mib_amb_occlusion4.samples" 256;
選擇物體
final results
more results
文中所用的素材以及maya檔案請到 我的資源區下載下傳