2010年5月5日 星期三

複製 模型 UV ( Copy polygon UV )


以下的程式可以把一個拆好的UV 複製到其他 結構(topology)一樣的模型上. 什麼是結構一樣的模型?



使用方法:
  • 先選 UV 好的模型, 然後再選一個或多個要貼上UV的模型.
程式:

{
string $allObj[] =`ls -sl`;
string $source[];
$source[0] = $allObj[0];
string $target[] = stringArrayRemove($source,$allObj);

for($each in $target)
{
if(`polyCompare -fd $each $source[0]`==4 || `polyCompare -fd $each $source[0]`==12)
{
polyNormal -normalMode 0 -userNormalMode 0 -ch 1 $each;
polyTransfer -v 0 -vc 0 -uv 1 -ao $source[0] $each;
polyNormal -normalMode 0 -userNormalMode 0 -ch 1 $each;

}
else if(`polyCompare -fd $each $source[0]`==0 || `polyCompare -fd $each $source[0]`==8)
{
polyTransfer -v 0 -vc 0 -uv 1 -ao $source[0] $each;
}

}
}

18 則留言:

  1. 你是神!
    從zbrush調完模型輸出obj到maya後他的UV居然消失了
    幸好有這個每日一招~
    幫了大忙!!!感謝!!

    回覆刪除
  2. 那結構不一樣的怎麼半

    回覆刪除
  3. 如果結構不一樣的話,那只好用 Transfer Attribute 功能了.
    如何使用 transfer attribute:

    http://maya-tricks.blogspot.com/2009/09/transfer-attributes.html

    回覆刪除
  4. 請問如何將maya輸出成avi, 利用影格跑動畫

    回覆刪除
  5. 請問那串程式要打在哪裡

    回覆刪除
  6. 打開 script editor, 然後 貼在 mel 的分頁上執行即可。

    回覆刪除
  7. 再算圖時最好不要算成avi.最好是算成單張圖.這樣後製會比較方便喔^^

    回覆刪除
  8. 惠我良多!!!惠我良多!!省了我超多麻煩哩

    回覆刪除
  9. 謝謝提供的程式
    原本還在苦惱怎麼辦
    讓我省事很多^^

    回覆刪除
  10. 葉教授,請問一下,之前我用這個工具都很正常好用,但是自從我升級win7與maya2010 X64後,有時發現完全相同的模型(vertex號碼也一致),在使用此工具後UV會完全反向,UV Texture Editor所複製出來的UV全部是斷開的,但位置是OK的。
    在我看過您的script後發現,你有加入"polyNormal -normalMode 0 -userNormalMode 0 -ch 1"這條,為何複製UV需要先反轉UV再轉回呢?
    感謝葉叫獸的指導與回答...哈哈

    jacky吳

    回覆刪除
    回覆
    1. Hi Jacky, 這是因為 vertex順序 雖然都一樣,但在一個 poly face 裡面的 vertex order 也要一至,才有辦法順利的複製 UV, 而 face normal 相反的 poly 會讓 poly face 裡面的 vertex order 顛倒過來,所以才需要加上 "polyNormal -normalMode 0 -userNormalMode 0 -ch 1" 如果 normal 是反的。

      刪除
  11. 這Mel真是好東西
    幫了我很大的忙
    謝謝你^^

    回覆刪除
  12. 網誌管理員已經移除這則留言。

    回覆刪除
  13. 您好 請問能私妳問題嗎

    回覆刪除
  14. 不好意思我想請問,我已經選好uv模型和要被貼上的uv模型,然後在mel上貼好程式碼,他還是沒有動靜,是貼完程式碼之後還要按甚麼嗎。謝謝您~這讓我好困擾

    回覆刪除