顯示具有 PyQt4 標籤的文章。 顯示所有文章
顯示具有 PyQt4 標籤的文章。 顯示所有文章

2016年7月24日 星期日

PyQt in maya - 01.準備工作

不囉嗦,直接從實作開始說明,我認為是對學習最快的。

不過在開始寫之前,我們要知道幾個小事情。可能讀到這篇文章的人,完全沒有寫過程式,以前在學習的時候,老師們都會說要把他們當成第一次學習的人來說明,也就是要說得讓大家都懂才行。我們就從最簡單的東西開始。

由於我這台新筆電,完全不打算灌maya,裡面現在只裝了steam買來的特價世紀帝國2(透露年紀了),所以maya的部分我就不附圖,大家自行查看maya的document。

maya開了介面之後,在右下角有個小小的方形。點了之後會打開Script Editor。分成上與下格。上面是執行的Script結果,下方則是編輯的地方。預設打開應該是mel的標籤頁。在上面按右鍵,選擇New Tab,選python。

直接用maya的python editor來編輯是可以啦,但功能很陽春,我只會在這裡直接呼叫python來測試,或是測試函數的寫法,以及用來debug。

所以建議可以使用Notepad ++ 這一套,編輯上面非常好用。這個因為教學很多,我就不多說啦。







PyQt in Maya - intro

這裡開始我會以我所認知的概念去講,這未必是正確的,但我相信會有助於看文章的人學習。

PyQt in Maya

簡單來說,Maya自從被自動桌買入之後,至今一直企圖進行很大的變革。當然有些變革是測試,不過在Maya 2011時,他們將整個Maya介面做了很大的修改,就是使用Qt介面。

去查資料的話,會發現這個Qt本來是Nokia的東西。要說的話,在我學習到現在自己在寫小工具的整個歷程來看,Qt是一個快速簡易的介面,而Maya與Python其實都有帶著Qt Designer這個介面製作工具。

曾經我一開始,是用Maya內部的指令去拼湊出我要的介面。說在前頭,我個人是比較鄙視mel script的,雖然mel能做到很多maya python沒有的指令(就只是maya python沒有加入而已)。

為何要鄙視呢?這就要從python的特性去說。

在這裡我要鄭重地說

要學python!也不要學python!

要學的原因,是目前許多軟體,就我有用過的,maya不用說,Houdini、Nuke,製作魔戒半獸人大軍的massive(在舊版本,還是獨立軟體的時候,不是現在變成maya外掛的這種。),做crowd現在非常知名的Miarmy,都支援python,Miarmy還是用python寫的。

但為什麼不要學呢?
因為Python的設計有幾個地方,會讓人難以接受其他語言。
1. python的任何變數都不需要宣告,只要賦值。給他字串,他就是字串;給他list,他就是list。
2. 採用縮排的方式(tab = 4個空格,但是記得不要兩者混用,兩者混用的話會讀不懂,最好都是用空格。)來界定函數與迴圈的範圍。

光是基於以上這兩個,就造成了Python的語法非常清楚好讀,mel裡面一下{}大括號,一下一堆$String,實在是太囉哩叭唆了。

一旦學了python,就回不去了。