maya官方手冊_python指令查詢

閱讀時間約 4 分鐘

如何使用maya官方手冊中的python指令手冊?

剛進入一個新軟體或領域,最痛苦的莫過於找資料,有時更是連資料都不知道怎麼找,該如何下關鍵字?搜尋方向是否正確?
這篇主要分享一些我學習maya的python的過程中累積的經驗,方便看到這篇文章的讀者能更快進入狀況。
首先maya的python庫有分成兩種類型,一種是maya原生的maya.cmds,另一種則是後來加入的pymel。現在的pymel也已經得到官方的維護,兩種在執行速度上也無太大差異,pymel似乎有整合一些OpenMaya的功能,但就初學來說基本沒差異。目前我個人是推薦使用pymel,github上查到的程式碼也有很大一部分使用pymel,如果真的很在乎執行速度的話,只能從更複雜的OpenMaya下手。
再來需要注意的是,maya從2022版本開始內建的python解釋器版本為python 3.7,不再支援2.7的寫法(用python 2執行有機會再說),如果在網路上查資料時要稍微注意一下自己的maya版本是否相符。
首先要面對的就是官方手冊,進到這裡,會一次列出所有python的指令,配合網頁瀏覽器使用ctrl+F搜尋較為方便,再來就要先了解一下maya指令的基礎結構,先來看一個函式。
import pymel.core as pm

obj_pos = pm.getAttr("pCube1.translate")
print(obj_pos)

>>> [0.0, 0.0, 0.0]
getAttr算是最常使用的函式之一,用於取得物件上的屬性的值,該範例內表示取得cube1的translate屬性,也就是座標值,返回包含xyz值的list。
跟其他python庫不同的是,在maya內的各種python指令操作,目標對象幾乎都以字串的形式作為參數輸入,且會用「.」作為階層表示,鮮少有其他資料類型當作參數輸入(即使有,也常常是list裡包裹字串)。
然後在輸入參數後加入各種flags來改變函式返回的值,例如下列:
import pymel.core as pm

obj_pos = pm.getAttr("pCube1.translate",lock=True)
print(obj_pos)

>>> False
加入lock標誌後,返回的值變成布林值,表示該屬性是否處於鎖定的狀態。另外還有許多函式可以使用edit與query標誌,表示該函式用於查詢還是編輯。
知道基礎的結構後,就可以針對問題查找關鍵字,當然能熟悉一下maya的軟體使用以及一些3D的基礎概念是最好的。
現在假設一個問題,先以最單純的情況練習,如果使用者已經手動選到某一個頂點,我該怎麼取得該頂點的世界座標之xyz值?
目標是頂點,關鍵字也許能從point或vertex下手,嘗試用point搜尋後你會看到一個函式名稱叫做pointPosition,他可以返回任何點的座標位置,包含曲線或locator等等。
官方文件解說
從範例及說明中可以得知,第一個參數需要一個對象,也就是頂點的名稱字串,並且可使用標誌來決定要返回本地座標還是世界座標。以下列程式碼為例,可得到該頂點的世界座標。
import pymel.core as pm

vtx_pos = pm.pointPosition("pCube1.vtx[5]",w=True)

print(vtx_pos)

>>> [0.5, 0.5, -0.5]
這大約就是maya的python函式操作邏輯,其他功能只要了解相關詞彙就能找到關鍵的函式,例如權重類常用到skin,動畫類可能用到ani,多邊形可能用到poly之類的。
甚麼?你不知道當個美術學這個幹麻?
假設你從討厭的同事接手模型,卻發現模型沒有對稱,但同事死賴帳不認.正當你準備吵架大戰一觸即發時,你就可以把頂點座標截圖貼在工作群組裡打臉對方並說"數學可以還我清白!"
截圖maya腳本編輯器畫面以示清白!
在美術團隊裡當唯一一個會使用腳本編輯器的人,超酷的好嗎。
留言0
查看全部
發表第一個留言支持創作者!
Sigen Chang的沙龍 的其他內容
你可能也想看
創作者要怎麼好好休息 + 避免工作過量?《黑貓創作報#4》午安,最近累不累? 這篇不是虛假的關心。而是《黑貓創作報》發行以來可能最重要的一篇。 是的,我們這篇講怎麼補充能量,也就是怎麼休息。
Thumbnail
avatar
黑貓老師
2024-06-29
防曬產品係數測試報告彙整(2024年)從2014年起,自己對於市售防曬產品的效能產生了濃厚的興趣。因為當時候發現不少產品的防曬係數其實標示是有問題的,像是原本應該是人體測試的SPF與PA數值,實際上沒有做,只用機器測試的數據來充當,但這兩者卻有很大的差異。像是防曬係數其實有強度、廣度與平均度三個面向需要一起判斷,但多數廠商並沒有完整標示
Thumbnail
avatar
邱品齊皮膚科醫師
2023-04-27
(8)MAYA.333.-安頓「果然跟我的直覺一致,有人有心把小島藏起來!」我一聲感嘆,上島走半天楞是一隻猛禽也沒有。 確認安全無虞後我們跟商隊分別散去,互相交換了聯絡方式還望以後互相照應。 莫炎暫時先離開我們,說是想找一個能賺錢的工作來養我們。 我笑笑,沒有攔他。
Thumbnail
avatar
蘭喻
2024-04-30
你們在幹嘛呀 好無聊唷
avatar
馮媛
2024-03-12
Grow Aeonium 'Maya' Like a Pro: Quick Care Tips Embark on a fulfilling gardening journey by growing Aeonium 'Maya'. This succulent, with its fleshy leaves and mesmerizing rosettes, is a spectacle
Thumbnail
avatar
Chat GPT
2023-10-27
(7)MAYA.333-前進鬼島莫炎困惑地看著我做完這一系列動作,問道:「有答案了?」 「有。」我回答得很肯定:「啟程吧,我開始期待那個鬼島了。」 莫炎沒有多問,給了我一個完全信賴的眼神後就去準備出發的行李了。
Thumbnail
avatar
蘭喻
2023-08-05
(6)MAYA.333-回信「恩,謝謝」他接過:「那妳有收過回信嗎?」 「可以說有,也可以說沒有」我仰望星空:「每次寫完信,我心裡就有了問題的答案,也不知道這個答案是他們給我的,還是我想起來的。」
Thumbnail
avatar
蘭喻
2023-07-03
2023泰國清邁-Moshi Moshi Japan(位於MAYA百貨)於尼曼商圈(Nimman)的「MAYA Lifestyle Shopping Center」實在好好逛,尤其這家在三樓的「Moshi Moshi Japan」,是泰國在地品牌喔!
Thumbnail
avatar
Sherry(雪莉) The Map Traveler
2023-02-06
(4)MAYA.232的人類 -貳、雪上高原的瘋狂女巫傳說,當月圓的中心指在阿爾卑斯山尖上的那天,女神會將最珍貴的藥材從山上送下來,放在神眷村的祭壇上供村民使用和販售,若三日後村民依約在祭壇上放好了32塊金磚,女神就會守護神眷村一直到下一個月圓過山尖的時候。
Thumbnail
avatar
蘭喻
2023-01-24
(3)MAYA.232的人類 - 壹、左二輔相那是一個大雪紛飛的早上,這個氣候使得多數人都足不出戶。 但就在這時,小雜貨舖迎來了開店以來最尊貴的客人。
Thumbnail
avatar
蘭喻
2022-12-28
(2)MAYA.232的人類-前文MAYA.232的人類-前文 如果把人類的某段歷史擴大延伸變成另一個頻率世界的背景條件,那麼在那段政治與宗教並立的時代背景下,所有的人類都擁有魔法,並且男女權益幾乎平等,這大概就是MAYA.232的人類條件概述。
Thumbnail
avatar
蘭喻
2022-11-27
(1)屬於MAYA.345的女巫遊歷到MAYA.345的我們那時剛從學院畢業,依照學長姐的畢業慣例我們會到各個有魔法或巫術的地方做見習,那時候我們的第一站就是隸屬於吉普賽女巫的「胡毒魔法」,如果沒記錯的話那時候叫做「Lily」或「Lilum」。 不同頻率歷史不盡相同,閱讀我的文字不用過度猜想,享受氛圍就夠了。
Thumbnail
avatar
蘭喻
2022-11-04