2009年4月29日 星期三

Copy UV 注意事項

如果你想把一個 polygon 模型的UV複製到另外一個一摩一樣的模型的話, Maya 的 Mesh->Copy Mesh Attributes 就是你的好幫手. 可是你可能不知道的是,就算形狀,點數,線數,面數一模一樣的模型,也不見得可以成功的把 UV複製過去,因為Copy UV成功條件有三個:
  1. 兩個模型的點數,線數,面數是一樣的.
  2. 兩個模型的點順序和面順序是一樣的.
  3. 兩個模型的 face winding order 是一樣的.

face winding order

我們就拿以下三個 case 來做範例...



A, B, C, D 這四個模型的點數,線數,面數都一樣,形狀也一模一樣(除了 D 是反方向). 我們就用 Copy Mesh Attributes 來把 A 的 UV 複製到 B, C, D 看看吧.


case1 : A 複製到 B

A可以成功的把 UV 複製到 B, 因為 它們都符合 (1), (2), (3) 這三個條件.



case2 : A 複製到 C

A 和 C 雖然 符合條件 (1) , 但不符合條件 (2), 所以 Copy UV 失敗了. C 因為作過某些更動(裡如 split, combine 等等的動作) 使得 vertex order 或face order 變得跟 A 不一樣. 如果你遇到這種 情況的話就必須用其他方法複製(例如 Mesh ->Transfer Attributes),除非你手動寫程式把 順序轉回跟A 一樣 再複製.


case3 : A 複製到 D

A和D 符合 條件(1) , (2) ,可惜的是它們不符合(3), 因為 D 這模型是用 scale = -1 去複製的,導致它們的 face winding order 相反. 這種 case 常常發生 (在做對稱模型時健模師通常都會先做一邊然後用 scale = -1 來複製另一邊). 這樣的話如果你直接用 Copy Mesh Attribtues 也是會失敗(注意左邊模型D 手臂的貼圖很明顯是錯的). 好消息是這種 case 還有得救. 你需要執行以下四個步驟:

  • 先把 D 的 normal 翻轉 (Normal->Reverse). 執行這步驟之後,條件 (3) 就符合了.
  • 執行 Copy Mesh Attributes
  • Delete History.
  • 再把 D 的 normal 翻轉一次.

用完之後你會發現雖然出來的 UV 方向是反的 (D的 UV是紅色, A的是藍色), 但出來的貼圖變正確了.


網路上有一個拆 UV 軟體叫 Zebruv, 其中一個功能就是讓你可以輕鬆診對 case 1 和 case來Copy UV. 它可以自動判斷兩個模型是否相反的,然後再做適當的處理. 除此之外,它也可以做多個模型 UV 複製 (maya的 copy mesh attribute 只讓你一對一複製).

4 則留言:

  1. 嗨~ 你的網誌很好 但是我是個初學者 有沒有入門的教學呢?

    或著自學MAYA有什麼好方法嗎? 謝謝!

    回覆刪除
  2. Hi,
    我本身覺得學Maya最好的方法就先稍微了解它的介面,然後你可以上網查一些比較簡單的教學例如: http://www.christerb.com/tutorials/maya_modeltennisball/index.html
    自己做做看..也順便接觸更多maya裡面的功能. 做多了以後自然而然就應該會對Maya比較不陌生了..
    當然,有一本不錯的教學書或DVD會更有幫助...

    回覆刪除
  3. Do you know what is triangle noodles?

    回覆刪除
  4. 太棒了~~~真是感謝您的文章,受益無窮

    回覆刪除