2008-07-23 19:57:24

使用DrQueue 0.64.3搭配Maya8.5與Linux架設Render Farm

利用DrQueue架設Render Farm時,可搭配各種網路磁碟服務(NFS or Samba)來達成。我利用Fedora Core 8內裝好的NFS來進行架設。當作檔案共享的主機設定好exports檔之外,要注意防火牆與目錄基本權限的設定。務必確定連線順暢。DrQueue的安裝只要按照安裝文件一步步進行即可。使用Fedore Core可以很方便的裝好GCC,Python與Scons等套件以進行編譯。DrQueue本身具備跨平台的特性,利用Cygwin也可在Windows的環境下編譯。不過,安裝時有很多地方得自行手動執行,並不如Linux環境方便。

DrQueue預設的設定檔位置是先搜尋以下目錄
/etc/drqueue
/usr/local/drqueue/etc
其中的.conf檔案多半是告訴相關程式如何找分享的logs,tmp,db這些子目錄。重點是,logs和tmp這兩個子目錄必須讓所有的master和slave機器都能讀取寫入,tmp子目錄也必須讓每台slave機器能執行其中所暫存的script。因此在利用NFS進行分享檔案時,就要注意exports的寫法。此外,logs子目錄是用來收集所有機器運算後產生log檔,因此也必須讓所有Render Farm裡的機器有寫入的權限。

在搭配Maya8.5使用DrQueue時,預設的樣板script會去呼叫

/usr/aw/maya/bin/Render
這個指令。不過因為Maya的預設安裝路徑已改為
/usr/autodesk/maya8.5
所以簡單的解法便是
ln -s /usr/aw/maya /usr/autodesk/maya8.5

當然,為了放置要執行算圖的檔案和專案,還要有一個目錄是開放給所有機器都能讀寫的。這個目錄在每個slave機器上用的掛載點必須相同。一般使用者要算圖時,只要將專案檔放置在這個目錄下,再利用drqman即可方便的使用。


Posted by Wesly Chu | Permanent Link | Categories: Linux Note

2008-07-15 01:10:14

在Maya一啟動時立刻執行MEL指令的方法

Maya在圖形模式啟動時會去執行任何寫在userSetup.mel裡的MEL指令。這個userSetup.mel通常是藉由在Maya.env裡設定MAYA_SCRIPT_PATH來搜尋。如果想重載預設的MEL指令函式,一樣可以在這邊寫入或是利用source 的方式達成。例如要使用自訂的mentalrayCustomNodeClass.mel時,即可在userSetup.mel寫入:

source "/path/to/your/mentalrayCustomNodeClass.mel"
如此每次啟動Maya便會自動載入修改過的版本。


Posted by Wesly Chu | Permanent Link | Categories: MEL script

2008-07-15 00:45:16

如何在Maya增加自訂mentalray shader時顯示樣本圖片

依據Swatch rendering in mental ray for Maya,所需修改的檔案為

/usr/autodesk/maya8.5-x64/scripts/others/mentalrayCustomNodeClass.mel
將自訂的shader名稱,加入node type的判斷,並選擇使用file swatch或者是interactive swatch即可。這個樣本圖示會在hypershade和attribute editor中顯示。

使用自訂shader時,其他相關檔案還包括mentalrayCustomNodeID.mel等等。


Posted by Wesly Chu | Permanent Link | Categories: MEL script

2008-04-13 11:23:04

使用Eclipse開發Maya plugin時關於除錯的一些設定

在試著找過文件並且請教朋友之後,終於找到應該設定Degugger的參數的種類。首先,由於我們要進行除錯的Maya plugin是個shared library,這其實表示我們要除錯的應用程式是Maya本身。在使用Eclipse的CDT時,新增一個給Maya的Debug設定,並且是使用C/C++ Local Application的預設設定來修改。以下條列應該修改的設定和環境參數,其餘設定可用預設值。

  • Main的部份,將C/C++ Application的部份由預設的.so(就是你的plugin)
    Debug/yourplugin.so
    
    改為maya.bin的位置。例如:
    /usr/autodesk/maya8.5-x64/bin/maya.bin
    
  • 在Environment的部份,加入以下Environment variables及其對應的值:
    LD_LIBRARY_PATH                 /usr/autodesk/maya8.5-x64/lib
    MAYA_DEBUG_NO_SIGNAL_HANDLERS   1
    MAYA_LOCATION                   /usr/autodesk/maya8.5-x64
    
  • 以上是必要的基本設定,其他部份的設定可參考自己需求修改。
    參考資料 Using a debugger to debug your plug-ins


    Posted by Wesly Chu | Permanent Link | Categories: 3D CG

    2008-04-09 01:14:21

    使用Eclipse開發Maya plugin的一些設定

    在Linux的環境下,藉由Eclipe也可以直接設定程式專案來開發Maya plug-in。對程式專案所需要的修改的設定和進行OpenGL專案的部份也很類似,但是稍微複雜些。這是因為在Compiler和Linker的部份參數較多。以下條列我目前發現需要修改的部份。需要注意的是,這只是針對單一plugin的撰寫,並不是建立一個build system。

    首先當然要新增一個C++程式專案,並選擇專案型態為Shared Library。在這個新專案中,修改其Project Properties中關於C/C++ Build的Settings部份。主要要增加的有:
    C/C++ Build -> Settings -> GCC C++ Compiler -> Preprocessor: 在Defined symbols(-D)內加入_BOOL,LINUX, REQUIRE_IOSTREAM
    C/C++ Build -> Settings -> GCC C++ Compiler -> Directories: 在Include paths (-I) 內加入Maya include path(如:/usr/autodesk/maya8.5-x64/include)
    C/C++ Build -> Settings -> GCC C++ Compiler -> Optimization: 在Other optimization flags欄位可加入"-pthread"或其他旗標
    C/C++ Build -> Settings -> GCC C++ Compiler -> Miscellaneous: 在Other flags欄位,要加入"-fPIC"及"-fno-gnu-keywords"
    以上這些是針對Compiler部份。以下則是針對Linker的部份

    C/C++ Build -> Settings -> GCC C++ Linker -> Libraries: 在Libraries(-l)這裡需要增加的項目其實是可多可少。全部都寫上也無不可。目前發現需要加入的有

    OpenMaya
    OpenMayaRender
    OpenMayaAnim
    OpenMayaUI
    OpenMayaFX
    GL
    GLU
    glut
    
    在Library serach path(-L)的部份一樣需要加入Maya library path(如:/usr/autodesk/maya8.5-x64/lib)
    C/C++ Build -> Settings -> GCC C++ Linker -> Miscellaneous: 加入"-D_BOOL -DLINUX -DREQUIRE_IOSTREAM"

    值得注意的是Debug的部份目前還沒找到好的作法。在Maya官方文件當中所提及的只有利用

    maya -d ddd
    
    的方式來使用ddd作為除錯的工具。

    參考資料Writing a Plugin


    Posted by Wesly Chu | Permanent Link | Categories: 3D CG

    2008-04-07 15:22:19

    使用Eclipse進行OpenGL程式開發的基本設定

    以下內容參考自Article:OpenGL programming in Eclipse

    要在Linux下利用Eclipse寫OpenGL相關的程式,可安裝GLUT或是SDL相關的開發套件。如果選用GLUT,需要安裝freeglut3-devel的函式庫。依據參考的那個網頁,在Eclipse新增一個C++的程式專案後,必須在GCC C++ Linker裡面增加一個glut的值。所以最方便的方法就是利用預設的C++專案後,再修改必要的地方。


    Posted by Wesly Chu | Permanent Link | Categories: 3D CG

    2008-03-10 00:50:00

    Note for Using Maya 8.5 in Fedora Core 8

    Latest Linux distributions usually contain 3D desktop effect packages. These desktop effects are useful for general task but not useful when you are using Maya. This is because the hotkeys are binded to different functions. Otherwise, using AIGLX or other configurations may crash Maya sometimes.


    Posted by Wesly Chu | Permanent Link | Categories: Linux Note

    2007-12-23 13:05:02

    最近關心的事

    由於聖誕假期在家沒事做,所以我又開始狂上網了.為了避免又有文章因為倒站而流失的慘劇,在這邊做些備份.
    相關討論一

    看過了您的文章,說說我個人的看法
    我覺得這是業主長久的剝削所導致的結果,傳遞知識導致的動畫從業技術門檻降低並沒有太大關係
    技術不管如何都會傳出去的,不論是經由網路或是學校教育
    有問題的是在出錢的金主或是公司企業
    如果當老闆的只是想壓榨勞工,並且不計後果的削價競爭,早晚都是這種結果
    我個人找到的那篇關於中國傳統動畫的現況是血淋淋的例子
    看起來欣欣向榮的產業,資方的獲利很好不代表勞方的勞動條件有變好
    唉,賺錢時荷包賺飽的總是當老闆的,而當公司賠錢時,被犧牲的多半不會是老闆啊
    即使是在美國,也是有無理要求加班並不付加班費的,動畫師的工作也是人多於職缺
    但是即使大家都會用某些特定軟體或是了解數種電腦語言,並不代表能把事情做好
    真正有經驗和作品優秀的人,自然會被市場留下
    
    只是,在過度強調這種資本主義競爭的環境下,如果沒有最低工時和薪資的保障,一般當老闆的當然是會盡最大能力壓榨囉
    
    先謝謝skyhunter 網友的回應
    
    你的大部分觀點我都贊同,所以我來說說我不一樣的看法
    
    大環境的變化是全世界都在發生的,動畫市場的萎縮也是事實,即使是Pixar的作品也不如之前賣座
    只是我不認為技術知識的傳遞會是負面的影響,相反的,這是給一般人機會
    對好的動畫藝術家來說,用所的軟體不是重點,能做出漂亮的演出和對時機的感覺才是
    所謂對操作軟體精通的人,並不代表能在動作設計上做到這點啊
    
    當然你也點出了美術設計工作者在台灣這種環經遭遇到的困境,就是這些出錢的金主總以為操作軟體是很輕鬆簡單的事
    這裡有個朋友遇到的實例 傲客列傳
    所以我覺得問題還是在金主和客戶,糟糕的管理更加速了產業的惡化
    
    說實話,我對台灣的動畫產業是不看好的,不過,我對能自由創作的社會風氣是很樂見的
    
    話說回來,因為我在現任公司的約也快到期了,我明年也要再找下一份工作
    
    

    當約聘人員的確是沒保障.但這個時代就是如此,個人能做的只有不斷學習,然後做能讓自己爽的工作囉.


    Posted by Wesly Chu | Permanent Link | Categories: Anime

    2007-11-10 00:20:10

    久未更新

    其實理由很簡單,這四個月以來,我真的忙得很充實,也學了很多新東西。由於工作的關係,從Java,C++,Python,Maya API,MEL,TCL,Mentalray Shader,全都接觸了。這讓我想到幾個月之前某人對我提出的疑問:「你不是去學動畫嗎?怎麼變成寫程式了?」這個問題其實很簡單。想想我過去做的東西和整個求學的過程,會變成這樣是理所當然的。


    Posted by Wesly Chu | Permanent Link | Categories: Life

    2007-08-01 22:45:58

    雜感

    離家滿三年了。
    將近三年來,沒回老家,自己偶而會覺得有點悶。不過,老樣子,只要有網路和動漫畫,這些都還算能紓解。跑到地球另一邊來想要達成的主目標也算完成了,剩下的就是好好賺些錢,累積資本和經驗以準備往下一個目標前進。
    這些年,深深感受到金錢在這個國家的重要,至少學費真是交了不少。總之一定要賺回來。朋友還是一樣不多,不過要好的就那些,也夠了。
    身體健康真的很重要啊,一位朋友在將近畢業的關頭卻發生非得回國就醫的狀況,實在是令人感嘆啊。長時間使用滑鼠的狀況下,我的右手臂也老是感到疲勞。這實在很討厭啊。 這樣子會讓我不想長時間使用滑鼠,倒是想使用搖桿啊。雖然當初也想過為了把作品做好,就算右手廢了也要做下去,不過還是不想燃燒的太快。
    仔細想想,自己應該要將這三年來的過程寫些感想才是,不過似乎又很難把片片段段的感覺串起來。我心裡想的有些東西也糟糕得無法寫出來,但是如果無法整理清楚,這些思緒也只是無價值的白日夢罷了。為了腦筋渙散的自己,還是逐條開始整理,以資紀念。

    Posted by Wesly Chu | Permanent Link | Categories: Life