學習 RenderMan 的一套方法

第一屆的 SIGGRAPH Asia 2008 於這個冬天,在新加坡落幕了。雖然沒有親臨現場參與到,但從多方得來的消息(第一手 + 第二手 + 第 n 手),皆透露出“與預期的有些落差“。另一個說法是「比較接近正常的學術論文樣貌」,亦即在有聲光、有話題、有商業加持等的活動,數量上都減少了,因而使得原來的 paper session 的比重就來得比較高了。因為是第一屆,所以 course 的部分有不少“入門級“的,但我特別喜愛這種 course,裏頭常常會有令人意外的東西。 ...

January 18, 2009 · 11 分鐘 · Drake Guan

Delete unknown nodes in Maya

Sometimes you need to delete unknown nodes in a Maya scene. You can do it in the following python snippet. from pymel import * def deleteUnknownNodes(): # 2 things to take care of: # 1) you can't delete nodes from references. # 2) "delete" will delete all children nodes (hierarchy) in default. unknown = ls(type="unknown") unknown = filter(lambda node: not node.isReferenced(), unknown) for node in unknown: if not objExists(node): continue delete(node) Compare it to the MEL way: ...

December 30, 2008 · 2 分鐘 · Drake Guan

Selecting multiple appearances in slim with MEL

slimcmd "plt0 SelectAppearances {func0 func1 func2}" this might failed….!!! use the following. slimcmd plt0 SelectAppearances "{func0 func1 func2}"

December 29, 2008 · 1 分鐘 · Drake Guan

Alfserver configuration suggestion from Pixar

Given that, you might try increasing the amount of time that alfserver waits before escalating to SIGKILL. One second is a long time for a process to be unresponsive. Try small increments, for example, in alfserver.ini change this line: SetPref timerAlfserverSignalEscalation 3 Also, the log indicates that you are running the server as root, which would be ok if you were causing the actually-launched apps to run as a different user. I think you’ve got “AlfProcessOwnerConfig login root” set in your alfserver.ini ? There is a chance that the “login” mode is adding an extra layer of complexity to this issue. ...

December 29, 2008 · 4 分鐘 · Drake Guan

Nuke scripting 初體驗:Nuke + Alfred

大約三週之前,開發 Nuke 的 The Foundry ,由 CEO, Bill Collis, 偕同技術人員 Matt Plec 與兩位美麗的華裔女士來台,參與了 SIGGRAPH 2008 Taipei Chapter 的活動,會後立即趕來太極,面對太極的幾位 compositors,給了一個更加深入一點的 talk + demonstration。 ...

December 25, 2008 · 2 分鐘 · Drake Guan

活躍於 3D 軟體之間的程式語言:Python

Guido van Rossum 於 1991 年創造出 Python 這個 scripting language 時,應該是沒有料想到它的風行全球,更不可能會猜到 3D 軟體產業是多麼的愛戴這個語言: Maya 在被 Autodesk 併購了後,於 2007 年年初釋出了 8.5 版,支援 Python 的環境。 相傳,原本和 Maya 拼得你死我活的 Softimage (不過現在和 Maya 成了親家了@@ 還真的是世事難料呀~)也早就有了 Python 的 binding。 台灣新聞台的最愛 Poser 軟體,2000 的 4.0 版支援 Python。 特效軟體界的傳說 Houdini (也是目前我知道最貴的軟體之一,不過據說 Massive 更貴 @@)於 2007 年投入 Python 的懷抱。 流體模擬(Fluid & Dynamic Simulation)界的第一把交椅 RealFlow 也在最近發表的 RF4 (?) 新增了對 Python 的支援。 因為與 Peter Jackson 的魔戒合作下問世的 Massive ,一樣有提供 Python(不過也一樣是有 TCL)。 趁著被 Apple 收購的 Shake 不會有下一版,然後挾天子以令諸侯(啊,不是,是有 Digital Domain 當靠山)的 Nuke ,在今年(2008)推出 5.0 的同時,一口氣把 GUI 換成 Qt 且同時支援 Python(不過還是有支援 TCL,大家都很愛 TCL 也 :o)。 自 2006 丟出第一部 Elephant’s Dream,以 Open Movie 為名的動畫而開始大紫大紅的 Blender ,因為是 open source 起家的,當然(?)和 Python 有掛勾。 繼 Zbrush 之後出現的 Mudbox 與 modo (或應該說,大有幹掉 Zbrush 潛力的軟體生力軍!?)。 open source 界很有名的 cgkit ,一個主要針對 Maya 與 Renderman 撰寫的 python modules。他們這一群人實在很有遠見,根本是在催生 Maya with Python 了。 (Game Engine)3D 軟體界被淘汰掉的 Truespace 一樣有支援(請原諒我對這個 project 興致缺缺)。 (Game Engine)open source 裏頭,很古老(1998~)的 3D game engine: Crystal Space 提供了個 PyCrystal 。 (Game Engine)open source 後起之秀的 3D game engine: OGRE 3D (非常適合入門與學習一個 game engine 的玩意兒)也有個所謂的 Python-Ogre 。 (Game Engine)另一個後起之秀: Irrlicht Engine 有個 Pyrr (是台大資工的學弟做的?!)。 還有很多……很多…… ,而且未來只會更多…… 不管你是要寫 Game 還是做 Animation 的 TD,你都應該去學習這個 3D 產業不約而同,挑上的的程式語言:Python。

December 17, 2008 · 2 分鐘 · Drake Guan

彭哥的新書:3D繪圖程式設計

今天下午三點時分,遠在美國加州 Activision 最賺錢的 Guitar Hero 團隊裏的 Peter Pon,透過 gtalk 跟我說,他出了一本新書:3D繪圖程式設計–使用Direct3D 10/9與OpenGL 2.0 。 快速摘要: 書名:3D繪圖程式設計–使用Direct3D 10/9與OpenGL 2.0 作者:彭國倫 撰寫時間:一年 撰寫原因:打發無聊的美國時間 撰寫後:放了一整週的長假休息 趁著天還沒黑,跑去走了一回四獸山裏的象山,天氣變冷得快,還真的是有點喘。回程跑去信義誠品找這本書來翻翻。 ...

December 7, 2008 · 2 分鐘 · Drake Guan

Knoll's Computer Klass

今天 cyy 教授 的 rendering 課,一樣聽得很過癮,我想過癮的原因之一,在於他說話的那種調調,他那股想讓聽課的學生聽懂的「急迫與認真感」,簡單來說,是一種個人魅力 + 專業教學結合下,一堂讓人覺得還不賴的課。 ...

November 12, 2008 · 1 分鐘 · Drake Guan