2016年7月24日 星期日

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,就回不去了。

沒有留言:

張貼留言