[教學]初見Maya函式return的類型

閱讀時間約 2 分鐘
如果是對maya有興趣,為了控制maya而學習python的人,初入maya的python世界應該會一頭撞上這道牆。
初學python的人應該也跟我一樣,會知道python有一大堆酷炫的第三方函式庫可以用,使用一段時間後自然而然就會習慣這些函式庫的使用方式,許多函式庫設計得非常智慧非常易用。但我們maya作為3D業界的標竿軟體,就是比較獨特一點…
可以先試想一下,假設要用某個函式取得被選中的圖檔的名稱,該函式正常來說該返回給你甚麼?
可以來看下列例子:
import pymel.core as pm

# 取得選擇到的物件名稱(單選) , 並print出該物件的translate屬性
obj = pm.ls(sl=True)
obj_pos = pm.getAttr(obj+".translate")
print(obj_pos)
但這時maya只會吐回來一句錯誤
# Error: TypeError: file <maya console> line 5: can only concatenate list (not "str") to list #
很顯然getAttr方法只接受字串作為參數輸入,那問題肯定出在obj身上,這時如果你用type查詢的話…
<type 'list'>
maya會告訴你他是list,這也是在英文討論區常常會看到的抱怨,maya總是會把返回的資料包在tuple或是list裡,即使一次只處理一個東西也是如此,深入之後還會發現在list裡面包tuple等等的奇怪問題。
回到程式碼,只要我們簡單修正:
import pymel.core as pm

# 加上索引值
obj = pm.ls(sl=True)[0]
obj_pos = pm.getAttr(obj+".translate")
print(obj_pos)
即可成功導出並取得參數
maya腳本編輯器成功顯示取得的參數
如果是遇到要批次處理的問題,直接使用list也沒什麼太大的問題,但切記maya很喜歡把資料型態包成list,如果程式跑不起來不仿可以朝這問題思考看看。
0會員
2Content count
留言0
查看全部
發表第一個留言支持創作者!
你可能也想看
Thumbnail
重點摘要: 1.9 月降息 2 碼、進一步暗示年內還有 50 bp 降息 2.SEP 上修失業率預期,但快速的降息速率將有助失業率觸頂 3.未來幾個月經濟數據將繼續轉弱,經濟復甦的時點或是 1Q25 季底附近
Thumbnail
近期的「貼文發佈流程 & 版型大更新」功能大家使用了嗎? 新版式整體視覺上「更加凸顯圖片」,為了搭配這次的更新,我們推出首次貼文策展 ❤️ 使用貼文功能並完成這次的指定任務,還有機會獲得富士即可拍,讓你的美好回憶都可以用即可拍珍藏!
Thumbnail
人的一生就是不斷的在學習,你有沒有能力不斷的學習、獲得新能力,是你跟別人拉開差距的關鍵。本書教你如何利用大學4年培養真正的實力?讓你瞭解超級學霸都是如何學習的...
Thumbnail
上課囉! 今天來分享一個用5分K放空的教學,用K棒的價格與成交量來判斷放空與回補的位置。 股價連續兩日漲停而且價漲量增,第三天開盤爆更大量,若大盤當天走勢偏弱,個股價格與成交量出現背離現象可以等一根黑K出現,等待下一根K棒收盤跌破此黑K低點進場空單,K棒"收盤價"站上此價位停損, 後續K
Thumbnail
打好基本功以後,再來學習更快的處理步驟,這樣就可以更輕鬆地完成電子書的製作囉!
Thumbnail
此篇文章希望透過步驟式教學,幫助對電子書製作有興趣的朋友,成為自助出版者。
Thumbnail
要有效使用ChatGPT,透過小樣本學習法引導它認識特定文案風格。例如,基於“青春”主題,生成描述青春活力的文案。您給出了一系列描述青春的句子,充滿浪漫和冒險精神。這些句子旨在指導GPT產出相似風格的內容。當您提供新主題時,GPT將試圖模仿此風格。
Thumbnail
本文使用LibreCAD繪製太極圖,以格點的方式繪圖,並加入修剪及剖面線的功能教學。
Thumbnail
本文使用LibreCAD繪製太極圖,以輔助線的方式繪圖。 筆者於一開始任意繪製一垂直線後,於畫線指令集當中,點選平行線功能,並輸入平行距離值為50。將滑鼠移到線段旁邊,就會產生一平行線虛影,點選滑鼠左鍵後,就會正式產生平行線,我們一共需要5條平行輔助線。 心得:
Thumbnail
本文使用LibreCAD繪製太極圖,採用較為傳統的方式,運用指令來給定值;對筆者來說,是個正統但效率較差的繪圖技巧。 筆者在學生時期,曾經因繪圖速度太快,被老師抓到,筆者採用非正規繪圖技巧,因此會分兩章節,來看看這種繪圖技巧的差異。
Thumbnail
Tyranobuilder中文介紹教學 這是第一篇的後續 , 在這篇文章裡我會繼續講完上一篇沒有寫到的按鍵們 點這裡可以從 Steam 下載 TyranoBuilder 深藍色區域 ( Screen Effects ) 的工具 : 顏色畫面範例 :
Thumbnail
使用介面 這是你創建新的 scene 後會看到的畫面 右上方的工具列 : 從頭開始瀏覽你的專案 創建角色
Thumbnail
重點摘要: 1.9 月降息 2 碼、進一步暗示年內還有 50 bp 降息 2.SEP 上修失業率預期,但快速的降息速率將有助失業率觸頂 3.未來幾個月經濟數據將繼續轉弱,經濟復甦的時點或是 1Q25 季底附近
Thumbnail
近期的「貼文發佈流程 & 版型大更新」功能大家使用了嗎? 新版式整體視覺上「更加凸顯圖片」,為了搭配這次的更新,我們推出首次貼文策展 ❤️ 使用貼文功能並完成這次的指定任務,還有機會獲得富士即可拍,讓你的美好回憶都可以用即可拍珍藏!
Thumbnail
人的一生就是不斷的在學習,你有沒有能力不斷的學習、獲得新能力,是你跟別人拉開差距的關鍵。本書教你如何利用大學4年培養真正的實力?讓你瞭解超級學霸都是如何學習的...
Thumbnail
上課囉! 今天來分享一個用5分K放空的教學,用K棒的價格與成交量來判斷放空與回補的位置。 股價連續兩日漲停而且價漲量增,第三天開盤爆更大量,若大盤當天走勢偏弱,個股價格與成交量出現背離現象可以等一根黑K出現,等待下一根K棒收盤跌破此黑K低點進場空單,K棒"收盤價"站上此價位停損, 後續K
Thumbnail
打好基本功以後,再來學習更快的處理步驟,這樣就可以更輕鬆地完成電子書的製作囉!
Thumbnail
此篇文章希望透過步驟式教學,幫助對電子書製作有興趣的朋友,成為自助出版者。
Thumbnail
要有效使用ChatGPT,透過小樣本學習法引導它認識特定文案風格。例如,基於“青春”主題,生成描述青春活力的文案。您給出了一系列描述青春的句子,充滿浪漫和冒險精神。這些句子旨在指導GPT產出相似風格的內容。當您提供新主題時,GPT將試圖模仿此風格。
Thumbnail
本文使用LibreCAD繪製太極圖,以格點的方式繪圖,並加入修剪及剖面線的功能教學。
Thumbnail
本文使用LibreCAD繪製太極圖,以輔助線的方式繪圖。 筆者於一開始任意繪製一垂直線後,於畫線指令集當中,點選平行線功能,並輸入平行距離值為50。將滑鼠移到線段旁邊,就會產生一平行線虛影,點選滑鼠左鍵後,就會正式產生平行線,我們一共需要5條平行輔助線。 心得:
Thumbnail
本文使用LibreCAD繪製太極圖,採用較為傳統的方式,運用指令來給定值;對筆者來說,是個正統但效率較差的繪圖技巧。 筆者在學生時期,曾經因繪圖速度太快,被老師抓到,筆者採用非正規繪圖技巧,因此會分兩章節,來看看這種繪圖技巧的差異。
Thumbnail
Tyranobuilder中文介紹教學 這是第一篇的後續 , 在這篇文章裡我會繼續講完上一篇沒有寫到的按鍵們 點這裡可以從 Steam 下載 TyranoBuilder 深藍色區域 ( Screen Effects ) 的工具 : 顏色畫面範例 :
Thumbnail
使用介面 這是你創建新的 scene 後會看到的畫面 右上方的工具列 : 從頭開始瀏覽你的專案 創建角色