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

更新 發佈閱讀 3 分鐘

如果是對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)

即可成功導出並取得參數

raw-image

如果是遇到要批次處理的問題,直接使用list也沒什麼太大的問題,但切記maya很喜歡把資料型態包成list,如果程式跑不起來不仿可以朝這問題思考看看。

留言
avatar-img
留言分享你的想法!
avatar-img
Sigen Chang的沙龍
0會員
2內容數
你可能也想看
Thumbnail
一位長期推廣閱讀寫作、經營多個平臺,也是《30Days愛自己的小練習》作者,分享首次親自體驗蝦皮購物的歷程。以「網購小白」的角度,詳細介紹了蝦皮平臺操作的便利性,分享了加入分潤的七大好處、賺錢的五大撇步。文章穿插了雙12活動、購物連結及分潤連結,極具參考價值。
Thumbnail
一位長期推廣閱讀寫作、經營多個平臺,也是《30Days愛自己的小練習》作者,分享首次親自體驗蝦皮購物的歷程。以「網購小白」的角度,詳細介紹了蝦皮平臺操作的便利性,分享了加入分潤的七大好處、賺錢的五大撇步。文章穿插了雙12活動、購物連結及分潤連結,極具參考價值。
Thumbnail
(一)分享曾經在蝦皮買過的好物 這是一個真實的故事,筆者大約每半年會去蝦皮網站購買一種叫做永樂健的酵素,這是日本製造原裝進口的酵素,有兩種以上的口味(橘子口味、優酪乳口味),我都買橘子口味的,比較好吃,因為是台灣出貨,很快就會寄來。每次買30包,店家又加贈2包,等於擁有32包。
Thumbnail
(一)分享曾經在蝦皮買過的好物 這是一個真實的故事,筆者大約每半年會去蝦皮網站購買一種叫做永樂健的酵素,這是日本製造原裝進口的酵素,有兩種以上的口味(橘子口味、優酪乳口味),我都買橘子口味的,比較好吃,因為是台灣出貨,很快就會寄來。每次買30包,店家又加贈2包,等於擁有32包。
Thumbnail
雙12即將來襲!今年不只是要買東買西,還要變身購物專家,就由我來推薦大家購物清單,裡面還有開箱文給大家參考。先來一個讓人逛街腳底舒服的「舒壓腳底按摩輪」,數位遊牧一定要帶的「無印良品筆電防震提袋」,讓我想去咖啡廳寫文章帶了就走,再來是居安思危、防災必備的 MVP「3Coins 手搖式收音機」,它還有
Thumbnail
雙12即將來襲!今年不只是要買東買西,還要變身購物專家,就由我來推薦大家購物清單,裡面還有開箱文給大家參考。先來一個讓人逛街腳底舒服的「舒壓腳底按摩輪」,數位遊牧一定要帶的「無印良品筆電防震提袋」,讓我想去咖啡廳寫文章帶了就走,再來是居安思危、防災必備的 MVP「3Coins 手搖式收音機」,它還有
Thumbnail
在第五課中,我們將探討 Python 中的函式(functions)。 函式是一種讓我們可以將程式碼塊組織成一個獨立、可重複使用的單元的方式。函式可以接受參數 (arguments) 並返回一個結果。
Thumbnail
在第五課中,我們將探討 Python 中的函式(functions)。 函式是一種讓我們可以將程式碼塊組織成一個獨立、可重複使用的單元的方式。函式可以接受參數 (arguments) 並返回一個結果。
Thumbnail
在 Python 中,List、Set、Tuple 和 Dictionary 都是常用的資料結構,它們各自具有不同的特性和用途,在本篇學習筆記中,我們將比較這四種資料結構,介紹它們的特點、用法以及適用的場景,幫助你更好地理解它們的差異和選擇適當的資料結構。
Thumbnail
在 Python 中,List、Set、Tuple 和 Dictionary 都是常用的資料結構,它們各自具有不同的特性和用途,在本篇學習筆記中,我們將比較這四種資料結構,介紹它們的特點、用法以及適用的場景,幫助你更好地理解它們的差異和選擇適當的資料結構。
Thumbnail
我們將探索函式的定義和調用,這是程式設計中非常重要且強大的概念,它可以將大型程式切割成小的、可重複使用的函式。讓我們一起來了解吧!函式的定義、呼叫和返回值是學習函式的核心。
Thumbnail
我們將探索函式的定義和調用,這是程式設計中非常重要且強大的概念,它可以將大型程式切割成小的、可重複使用的函式。讓我們一起來了解吧!函式的定義、呼叫和返回值是學習函式的核心。
Thumbnail
Python 基本語法 python 語法的後綴名是以.py 結尾 python 執行方式 使用交互介面執行 使用 python test.py 命令執行 使用./test.py 執行 python 標示符 以單下劃線開頭的屬性,表示是類的私有屬性(包括方法,變量)。如:_foo表示不能直接訪問的類
Thumbnail
Python 基本語法 python 語法的後綴名是以.py 結尾 python 執行方式 使用交互介面執行 使用 python test.py 命令執行 使用./test.py 執行 python 標示符 以單下劃線開頭的屬性,表示是類的私有屬性(包括方法,變量)。如:_foo表示不能直接訪問的類
Thumbnail
如果是對maya有興趣,為了控制maya而學習python的人,初入maya的python世界應該會一頭撞上這道牆。 初學python的人應該也跟我一樣,會知道python有一大堆酷炫的第三方函式庫可以用,使用一段時間後自然而然就會習慣這些函式庫的使用方式,許多函式庫設計得非常智慧非常易用。
Thumbnail
如果是對maya有興趣,為了控制maya而學習python的人,初入maya的python世界應該會一頭撞上這道牆。 初學python的人應該也跟我一樣,會知道python有一大堆酷炫的第三方函式庫可以用,使用一段時間後自然而然就會習慣這些函式庫的使用方式,許多函式庫設計得非常智慧非常易用。
Thumbnail
前言: 今天要講用python來做使用者介面,由於姆姆平常的工作面對是工廠產線生產,所以一般來說交付程式的時候會給(sample.py)或是(sample.pyc)這類的檔案格式,其中py和pyc檔簡單說,差別在一個看的到(py)原始碼一個看不到(pyc)。 TCL: 官方下載網址: PAGE:
Thumbnail
前言: 今天要講用python來做使用者介面,由於姆姆平常的工作面對是工廠產線生產,所以一般來說交付程式的時候會給(sample.py)或是(sample.pyc)這類的檔案格式,其中py和pyc檔簡單說,差別在一個看的到(py)原始碼一個看不到(pyc)。 TCL: 官方下載網址: PAGE:
Thumbnail
大型程式的開發通常不會由一個人獨力完成,而是將程式依功能拆分成不同的函數或是類別,由不同人協力開發成各個模組,最後再將這些模組導入主程式,或是直接套用現有的模組。模組依來源可以分成三大類: Python內建的模組 外部模組,需從第三方的軟體儲存庫(如PyPI)並安裝使用 程式開發者自行開發的模組
Thumbnail
大型程式的開發通常不會由一個人獨力完成,而是將程式依功能拆分成不同的函數或是類別,由不同人協力開發成各個模組,最後再將這些模組導入主程式,或是直接套用現有的模組。模組依來源可以分成三大類: Python內建的模組 外部模組,需從第三方的軟體儲存庫(如PyPI)並安裝使用 程式開發者自行開發的模組
Thumbnail
隨著程式的功能愈來愈複雜,程式碼也愈來愈多,若程式從頭寫到尾沒有任何的段落,可讀性會愈來愈差,甚至會發現同樣的一段程式碼重覆很多遍,因為類似的功能區塊在程式中可能會一再出現。這樣的程式碼不利於多人的協作開發,即使是寫作者本身在一段時間後回來看,可能也難以一眼就掌握程式的主要架構。
Thumbnail
隨著程式的功能愈來愈複雜,程式碼也愈來愈多,若程式從頭寫到尾沒有任何的段落,可讀性會愈來愈差,甚至會發現同樣的一段程式碼重覆很多遍,因為類似的功能區塊在程式中可能會一再出現。這樣的程式碼不利於多人的協作開發,即使是寫作者本身在一段時間後回來看,可能也難以一眼就掌握程式的主要架構。
Thumbnail
不間斷 Python 挑戰 Day 2 - 註解、變數與資料型態
Thumbnail
不間斷 Python 挑戰 Day 2 - 註解、變數與資料型態
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News