Drake's Weblog

1 minute read

1980 年代,Ed Catmull 率先帶了一匹人,加入了當時的 Lucasfilm,並在裏頭成立了一個電腦部門,那時他們列出了一些目標,像是提出新的數位合成系統來取代舊有的光學式沖印設備、數位剪輯系統,與使用電腦產生的圖來取代模型拍攝等。他們那時應該是一群學者(或研究人員),目的是搞出一些軟硬體來。
3D 的部分,設計了一個叫 Pixar-3D 的巨型機器(其實就是一台電腦),而上頭的軟體架構取名為 Reyes(by Loren Carpenter),代表 Render Eveything You Ever Saw(其實是一個國家公園裏頭,一個湖的名字)。1986 年 Pixar 離開了 Lucasfilm,遇上了好心的 Steve Jobs,讓他們得以繼續發展 Reyes。Pixar-3D 這個硬體計畫,後來改名為 Reyes Machine。
最後,他們第一代硬體,取名為 RM-1,一台特別打造的機器,用來負責 rendering 這麼一回事,隨後,有這麼一段說法:
Pat Hanrahan realized that, in the face of this often changing hardware architecture, a standard interface to rendering hardware, like Silicon Graphics had to their hardware, was a good idea. So he started design work, at first with SGI and later without them, on the next-generation GL, called the “Rendering Interface,” or RI.

2 minute read

RenderMan 雖然沒有像 3DS Max, Maya 或 Photoshop 這樣的火紅,也比較不容易買(比較貴,每年還要付錢)和拿到(海盜版? 我因為運氣很好,待在一家有買 license 的公司,所以一直以來,都不覺得需要上網去找海盜版,而且也希望自己可以不用去找,這樣省得麻煩),所以網路上的資料本就不多。但隨著 Pixar 這十年來的大紅大紫,全世界愈來愈多家動畫公司與投資者的關注與投入,的確是可以 google 到一些東西了。
但是呢,RenderMan 真的是很複雜的東西(Mental Ray 也一樣很複雜,不見得就比較簡單),而且華文資料還不算多,於是就在前些日子決定寫這麼一篇文章了。這是一篇極度地個人看法,一點都不公正而且偏頗得很的 整理文,列表的順序也是依自己的喜愛程度排列,但我盡量讓它看起來,對看官你有幫助,尤其是那些「開始使用 RenderMan 工作的華人們」,大家一起加油吧 ;)
首要推薦網站:
Pixar’s RenderMan 官方網站 RenderMan Repository by Tal Lancaster RenderMania by Simon Bunker The RenderMan Academy by Rudy Cortes RManNotes by Stephen May CG References and Tutorials by Malcolm Kesson RenderMan by Ian Stephenson 次要推薦網站:
Renderman.ru Death Fall Renderman community @ hightend3d RenderMan Shader Language source code @ ’Texturing and Modeling: A Procedural Approach’ Journal of Graphics Tools 中國 CG 聯盟 – RenderMan RenderMan 華文社區論壇 Materials and Shaders @ TurboSquid RenderMan @ wikipedia 更正一些人對Renderman錯誤的觀點 @ 不良牛 BBS Pixar’s RenderMan 官方網站 Pixar 的官網,主要就是可以拿到 RISpec (目前最新版面為 3.

1 minute read

在看了 Lullabot 上的 Drupal Podcast No. 40: Top 40 Projects 與 Leancode 上的 Top Drupal Modules 後,想說,也來效法一下,弄個在 Drupal Taiwan 的模組清單,供大家有閒無閒,就推一下自己愛的模組,順道看看大眾的推薦結果又是怎麼樣的,然後從中發現自己沒有用過,但人氣似乎很高的模組…應該很有趣的吧。
這是我仿效 Leancode 網站上的作法,一樣是到隸屬於 amazon 集團的 UnSpun 上頭,開了一個 list 出來,叫 Top Drupal Modules in Drupal Taiwan 的清單來。使用的方法如下:
如果你想推薦清單裏頭現在的任何一個模組,直接按它前頭的「上」或「下」箭頭,「上」代表推薦,「下」應該就是噓它吧。 如果你覺得很讚的模組沒上榜,那就直接點選清單上頭的那一排 Top Drupal Modules in Drupal Taiwan,或是點選這個聯結,然後在網頁的最下頭找到 Add a new item to this list,在裏頭輸入你想要新增的模組名就行了。(不過呢,其實沒那麼簡單,它會要求你要註冊個帳號,然後要回覆一下確認信什麼的,手續有點麻煩,但只要麻煩一次就是了…) 如果你已經在 UnSpun 上註冊了,你可以幫個忙,每個模組下方有個 add a link,請幫它加上這個模組的官方網址,方便大家瀏覽時,方便取用。(ex, 在 Gallery 這個模組,加上 http://drupal.org/project/gallery )。

2 minute read

國寶總動員有段故事橋段是這樣的…
嬰兒枕覺得玩轉心瓶有點無聊,剛好看到翠玉白菜上頭的螽蟴(ㄓㄨㄥ ㄙ),於是很開心地把它抓了起來,急著拿去到處秀。第一個現寶的對像,就是住在一幅國畫–冬日嬰戲圖–宋朝–工筆畫–裏的姐弟倆…
我參與這個案子的任務之一,是不管用什麼手段,負責把嬰戲圖的樣貌搞定。為此,花了三個月的時間,整天和這些所謂的 NPR ( Non-Photorealistic Rendering ) 博鬥,最後,卻是使用合成的方式搞定一切(還好,我們有 Ahdee 這位天字一號的合成大師)。然後呢,這一篇還很幸運地,進了 SIGGRAPH 2007 research poster ( [ACM Portal](http://portal.acm.org/citation.cfm?id=1280720.1280921&coll=ACM&dl=ACM&type=series&idx=1280720&part=Proceedings&WantType=Proceedings&title=International%20Conference%20on%20Computer%20Graphics%20and%20Interactive%20Techniques&CFID=15151515&CFTOKEN=6184618 “NPR in production: animating the Sung dynasty painting “Children at Play” @ ACM Portal” ) )。

這是那幅嬰戲圖的數位縮小版,引用自故宮博物網站。
摘錄部分故宮的介紹文字在這邊,全文請至官方網站。
宋人 冬日嬰戲
絹本 色設畫 軸
縱196.2公分
橫107.1公分
畫姐弟二人在冬天庭院裡玩耍的情景,姐姐的手裡拿著一根色彩斑斕的旗子,小男孩則用細紅繩牽引著一根孔雀羽毛﹐正想逗弄著貓兒。姐姐則挽三鬟於頭頂及兩耳﹐再以紅白相間的錦緞纏繞其間﹐與宋蘇漢臣秋庭嬰戲中的雙鬟同為宋代小女孩常梳之髮式。弟弟的頭髮束結著紅絲繒﹐形如鵓角﹐更增添孩童純稚的神情。
目的 ,導演的要求,動畫的需求 「國寶總動員」的故事是由嬰兒枕發起的,因為他好奇抓起了翠玉白菜上頭的小蟲子(螽蟴),然後在秀給處在「宋朝嬰戲圖」這幅畫裏的姐弟倆時,讓小蟲子逃跑了!! 於是僻邪與玉鴨,只好跟著嬰兒枕到處去找螽螄,一路上遇上了很多其它國寶,最後在…找到了它…
整個「國」片的動畫風格是「擬真」與「可愛」,包括嬰戲圖的這一段,但打一開始就讓人很傷腦筋的是,這幅有將近一千年 (960-1279) 的古畫,要使用 CG 算出來很真實,就已經很不容易了,更何況還要讓畫裏頭的角色動起來也很擬真(關於這點,相信沒有人看過真正會動的國畫)。
導演的要求很簡單,就一句話「讓看的人以為,他真的是在看一幅會動的嬰戲圖,裏頭的角色不管是視覺上的顏色表現,或是動畫上的表演風格,都要很自然,一點兒也不 CG 才行。」(那時很羨慕「導演」這個職位,因為他們總是可以說出很精要而感動人心的話來,但倒底怎麼做,做的樣子究竟要怎麼樣,則是要動用一群人才有辦法做到…)
分析,討論與細節 前後景: 我們決定把整幅畫分為前景與背景來處理,前景部分由兩姐弟與小貓構成,剩餘的部分,通通歸到背景,包括 畫兩側的那些花花草草,換句話說,這同時暗示了,只有前景的角色會動,整個背景都是靜態的。這樣的作法很直覺,唯一要考慮的,是之後把前後景合起來時,他 們的色調(tone),紋理質感(texture & material)要很協調。 背景: 這部分,先是請美術人員,把前景的角色挖除掉,然後以人工的方式,手動把挖掉的洞,用旁邊的材質也補回來(這部分,也可以借用 CG 裏頭的一些計術,像是 Snake 演算法來自動補回來,依稀記得,這類補洞的演算法叫 Image Inpainting)。 紙的紋理:要把這一幅畫表現得很好,一個重點是紙的紋理。因為年代久遠,所以上頭的紋理還有一些地方有點斑駁不齊的,這是很重要的一點,決定了整個畫面擬真的程度。 前景: 角色設計:為了讓原來的三隻角色更加的逗趣討喜,前製的美術部門,花了很多時間,依著原來嬰戲圖裏的神韻與元素,重新給三隻角色做設計,讓他們更加符合當下人的審美感。亦即,在這邊,我們的設計要同時做到「擬真」與「可愛」兼具。 線條:很幸運地,這一幅畫用的技法,是國畫中的一支「工筆畫」,在線條的表現上,比較一致,變化沒有「水墨畫」來得大,雖然還是有小小的粗細變化,但問題難度已經大大地降低不少。 顏色:就直接使用 diffuse map 配合 constant shader 來處理,再給合成部分去修飾。 總結來說,這一幅畫要做好,有如下幾個細節要留心: 畫紙的紋理 + 年代久遠留下來的痕跡 角色的線條 + 線條要反應出下頭的紙紋理 角色的動畫要溫合,因為他們是「中國風的小朋友」 動態模糊(motion blur)要盡量地小,不然會很容易變得很 CG 角色身上的顏色,也會同時有紙的紋理,但不能太明顯,因為角色上的顏料蓋掉不少紋理,同時,太明顯的話,會覺得前景的角色,很像是在前頭「浮動漂移著」 一步一步完成它們吧!

1 minute read

Gamma Correction 這個東西,是個麻煩,容易讓人誤解,讓數位影像工作者踫釘子,害我 K 了好多天的文件還是一知半解…在與同事討論 Gamma 這玩意兒時,Dan 提到「我不喜歡人家說它是 Gamma Correction,因為這樣好像代表有什麼東西是錯的,要被訂正。但其實沒有東西是錯的,所以應該用 Gamma Encoding 和 Gamma Decoding,同時這樣也比較不容易讓人覺得很混淆。」
為此,我相當同意他的看法。但這一篇並不是想聊 Gamma,因為我自己覺得還似懂非懂,我想聊的是「名詞」這個玩意兒。
Gamma(這裏就不再叫它 Gamma Correction 了,因為真的沒有誰對誰錯 ^>^)這個名詞,會因為出現的點不同,意義不同,而有不同的名稱。舉個有趣的一點,當你在使用一個軟體,它有提供一個選項,讓你可以調整 Gamma 時,你可能會因為某些原因而設它為 2.2, 0.45, 1.8, … 等,然後預期顏色亮度(Brightness)的變化,會像你想像中的那樣。但很不幸的,有時是剛好顛倒。
你拿到一張 linear light/intensity 的圖,然後你坐在一台 PC(暗指你不是用 Mac 或 Silicon Graphics 的機器)前,於是你知道,要把 Gamma 設為 2.2 的倒數,就是 1/2.2 = 0.4545,然後相信它就會變亮了。結果,它變得更暗@@ 於是你只好改設為 2.2,即使你覺得怪怪的(為什麼會是反過來的呢?)。(這個例子,你剛好可以在 Shake 這個合成軟體裏頭看到,它剛好就是這裏所說的「顛倒」)
又有一次,一樣是和 Dan 在聊天,不過這次是換他跑來問了我一個問題「Galaxy 在中文裏頭,是叫銀河,銀河系,還是什麼呢? 怎麼翻譯?」我愣了一下,然後發覺我也搞不清楚,好像是銀河系,但查了一下,又發覺可以翻成銀河,但是銀河與銀河系好像是不同的東西…然後就一陣錯亂,亂回答。
其實,Galaxy 是指銀河系。我們所居住的地球身在太陽系,而太陽系則是身在一個銀河系(或叫本星系),然後當一些銀河系湊在一起,就叫它們是星系團(Galaxy Cluster)。然後呢,當人們在說「銀河」時,其實指的是我們所屬的這個「本星系」,這說法就像英文的 Galaxy 其實可以暗指 Our Galaxy。於是,我被台大天文學社上了一門「認識星空名詞課」。
工作上的關係,太極影音的 RD 部門同仁,幾乎每個人都有參與過「拆 pass」這麼一回事,為的是減輕 lighter 的負擔,好讓他們可以專注在燈光上頭,為我們帶來美侖美幻的視覺呈現。(當然啦,如果他們實在因為人手與時間不足,無法盡全功時,我們還有最後一關:合成部門。)早期(其實也沒多久之前,就我進太極以來的頭兩年),我們一律是以「分 pass」來描述所有的事情。於是乎會聽到如下的一段話:
這個 scene,我要讓前景的三隻角色(嬰兒枕、僻邪、玉鴨)都個別分出 pass 來,然後背景部分,就分為地板、玻璃和其它。角色部分,請分出 beauty, specular, reflection,同時眼球還有多一組 rgb,而背景的話,就分出 beauty 和 specular 就行了,其中玻璃比較特別,請拆出前後,然後它還得要有 reflection pass…

2 minute read

cirque 是一個外接的網站案子,我使用了 Drupal 把它實作出來。
它是個 e-commerce 網站,但卻沒有購物車等買賣功能,有的只是賣的飾品的圖片與品牌介紹、友好網站和一些新聞,再來就是一般網站都會有的 About Us、Contact Us、版權宣告等之類的。換句話說,這是一個在網站的功能上,沒有什麼很特別的地方的一個網站。
因為整個網站的重點在於版型的設計與呈現,所以美術設計部分,由林小胖(Edward)負責,而我則是版型的套用與模組調校。整個網站都是使用 HTML + CSS + Javascript 完成,沒有任何 Flash 的影子。下頭是幾頁比較重要的設計:

由左至右,依序是:首頁(Frontpage)、品牌頁(Brand or Collection)、新聞頁(News)和一般頁面(About Us, Contact Us, …)。
內容類型(Content Types): 一般性內容(Normal):不需要什麼特別的調整,直接輸出即可。 飾品(Product):飾品會有的資訊,就只是一張圖而已,所以其實可以使用 Image Node 來表示,但這邊我使用了 Imagefield 和 Imagecache 來實作,主要是因為 Imagecache 可以根據設定的不同,很快地產生不同大小的縮圖。 商店聯結(Link):作法和飾品類似。 新聞(News):把新聞特別獨立出來,是為了讓它有不一樣的呈現方式。 品牌(Brand):這其實不是一個內容類型,而是一個分類(Category or Taxonomy)類型。同時,我使用了 Taxonomy Image 讓每一個類別可以有一張預設的圖片。 首頁
在整個網頁撰寫中,首頁算是比較費功夫,也比較多樣化的一個。首先,你不會在首頁上頭看到所謂的「最新的一篇文章或一個商品」,性質很接近的,也只有新聞這一欄(1),至於品牌(3)與友好商家(4)的內容是亂數出現,然後 About Us 與 Contact 則各是一篇 node。這有別於其它內頁的整個設計,為此,我給整個首頁一個獨立的 page-frontpage.tpl.php 和相對應的 css 檔,而它唯一和內頁相似的,就只有最上頭那個用手寫的 Cirque logo 及最下頭的版權聲明等。
在這邊,我把整個首頁分成兩大塊區域(region),然後把 News 與 About Us 放在一起,而 Collection, Shops 與 Contact 則是另一個,這樣做的目的,是要讓整個畫面看起來比較整齊,不會因為 News 與 About Us 的高度不同而破壞了整個畫面的平衡感。至於怎麼讓這 5 個區塊(block)都到位,那就是 css 的事了。

1 minute read

由商業週刊舉辦的「科技與人性的極致想像」,總計有兩場,我運氣很好地有票,參與了台北場。與談人是過去待過 HP,目前的頭銜是首席電子商務董事長的何薇玲女生,主持人則是商週的發行人金惟純先生。
這是一場讓人有那麼點興奮的活動,在當天獲得主管的首肯後,我不顧外頭的狂風大雨,還因此拋去了來自清大的教授與學生們,上了計程車就是往會場–中油大樓–奔去,一點兒都沒有遲疑,即使那時雨大得嚇人,感冒頭痛得煩人。
當天的活動分成兩個階段,第一階段是 Woz 的演講;第二階段是三位先生女士的論壇(panel?),自由發揮性質的聊天與討論,聽眾也可以參與發問(不過沒有回答這一部分就是了。這樣看來,還應該是 panel 吧,forum 的話,就任何人都可以發問,任何人都可以回覆了)。
Woz 說了不少東西,大抵的內容都可以在他的自傳性書籍 – 科技頑童沃茲尼克 – 中找到(不過其實我沒看過書,所以…這也算是道聽塗說來的),像是:他早期在「製作一台電腦」時,設計出了一個當時幾乎沒有人做出來的精簡版電腦,而且還用了比其它的設計還來得少的元件之類的;Steve Jobs 負責所有的事務,他只想當一位快樂的 engineer,用他的所學所會來改善世界;他樂愛挑戰權威,因為他深信「眾人覺得對的事情,不見得是對的,是可以被推翻掉的。」;他和 Steve Jobs 有次去了 Xerox 的實驗室,看到了 GUI 的雛型,從那時地他就決定一定要製作出一台非常 User Friendly 的電腦出來…等。
然後呢,他提到最多的,就屬「User Friendly」(對人很親切,一般指一台機器或程式的設計,要讓人可以一下子就上手,就像現在不管什麼電器,它們的遙控器一拿起來,大致只要一兩分鐘,你就可以掌握到常用的功能了)和「Humor」(幽默,這我就不知道怎麼解釋了,因為我是一個沒有幽默感的男人,整個就是無聊透頂了)了吧,多到讓我覺得,這兩點是他感到非常驕傲的事,而且是唯二的事。
草創 Apple 公司時,請來學教育的人合作,好了解一個人是怎麼教會自己一個新的事物,再把這個經驗延伸到 Apple 電腦的設計裏頭,使 Apple 成為一台不需要人教,也可以很會上手的機器;為了更了解人類的學習,在設計好 Apple 系統後,做了很多「人體實驗」,把一些不同背景年齡的人,關進一個實驗室(我猜,那個實驗室該不會是白色的吧…這樣的感覺更有「不人道的人體實驗」的意味在),裏頭放一台 Apple,然後觀察他(她)的反應與使用行為,做為回去修正的反饋;他們仔細研究那每一個小小的 icon,讓它們在很多情況下,可以達到「What You See is What You think is What It really Does」;他們做了很多 metaphor 的設計與 blah blah…
他還提到「memory」這個東西。他指出,人的 memory 存在的型式,並不是只有在大腦(brain)裏的,也會以不同的型式存在於不同的地方。這邊,他舉了一個「手」的例子。一位在工廠工作,眼面擺了一個超大的執行平台,上頭放了密密麻麻的按鍵,而他的工作就是在上頭敲敲打打,愈快,表示他的產能愈大,而他也的確可以非常地快,至於為什麼可以這麼快,是因為他手上的 memory,使得這位工人可以在幾乎不動腦的情況下(當然,這只是一種程度上的差別,沒有人可以不用腦做事的,除了反射神經以外),做快速的按鍵操作(PS. 這是個修正過的例子,因為我有點不大記得他說的細節,只知道有這麼個例子的印象)。也就是說,因為 memory 和 user friendly 習習相關,一個東西你說他很親切,有很高的原因是因為它存在的方式或行為模式,和你腦子裏想的差不多,更進一步來說,你腦子裏想的,有非常大的一部分是靠你過去的經驗與計憶得來的。
這個玩意兒,這點讓我相信,他真的是不折不扣的工程師(哈)。現成的 keyboard layout(鍵盤上,每個字母的位置),是在古老的過去決定出來的。(真的很古老,你不會相信的,是在 1860 年代的打字機上定出來的)現在常見的 layout 叫 QWERTY(是的,他們就是鍵盤上,數字的下一行,由左至右的六個字母),它被刻意弄成這個樣子,是為了讓人的打字速度變慢。真的,沒有在唬你,為的就是讓人打字變慢,因為那個時代的打字機速度很慢,人打太快的話,機器就會卡字,為了不讓機器發生這個缺失,於是設計一個非常沒有效率的 keyboard layout 出來。而 Dvorak 則是 1936 年提出,他有很多好處,重點是,他可以對打字速度有一定以上的提升,這對於要打很多英打的人(像是 programmer,editor)來說,是有很大的好處的。是的,Dvorak 是只有 computer otaku 到一定程度(hacker)的人,才會去考慮與學的東西,而 Steve Wozniak 很明顯是這一類的人。

1 minute read

在電腦動畫工業裏頭(Computer Graphics Industry)(或說是一個動畫工作室裏頭(Animation Studio)也行),Rendering 是一個把電腦資料(更精確一點來說,是一個包含了場景(set)、物件(prop)、角色(char)、燈光(light)、材質(material & shader)、動畫(animation)、特效(effects)…等的複合資料,在這我喜歡使用 Maya 裏的述語:a scene file)轉換成一張張圖的一個過程。而 Render Wrangler 這個角色的主要工作,則是監督(monitor)與控制(control)整個 rendering 的流程,同時,還得負責照料一下 Render Farm 的工作狀況。他們有可能在整個專案一開始的 PreVis 就參與,一直參與,直到合成(comp)部門為止。他們的工作非常的重要。
這是一連兩張在 flickr 上,搜尋 wrangler 這個字眼找到的「牛件褲」與「吉普車」。
Wrangler 的字面解釋有:口角爭論者;看管馬匹的牛仔。在這裏是借用後者的衍生意,強調的是「看管」。Wrangler 這個字眼,還可以在一些有動物出沒的電影裏頭看到,如果你運氣不錯且夠仔細看幕後工作人員(或感謝名單)(Credit)時,會看到 Animal Wrangler 或是 Animal Handler,他們就是擁有「看管動畫專業技能」的人了。Dan 還補充道:因為 Render Farm 裏的機器就像大猛獸一般,需要隨時有人照顧,於是我們需要 Render Wrangler」。
工作內容 一言以蔽之,Render Wrangler 負責監控(supervise)整個動畫部門的 Rendering。這句話指出很多重要的事。首先,Rendering 並不是燈光師的才會有的行為,還有像是 Shading 部門的 TD 在測試 shader 時,需要自行打幾盞燈,算一些圖;合成部門也會因為一個很複雜的 scene 需要計算;材質(Texturing)部門也可能會用到;甚至動畫師在做 PreVis 時,可能會也有算圖的需求。所以 Render Wrangler 要控管的運算,可能來自任何一個部門、任何一個人、任何一台機器…簡言之,會來自任何一個角落。為此,Render Wrangler 得像美國的中央情報局( Central Intelligence Agency )一樣,無時無刻地監聽來自四面八方的訊息,隨時確保正在運作的機器與網路正常。Render Wrangler 得面對的問題,可能有來自技術方面與機器方面的。
看作一個農場,那麼 Render Wrangler 就是這個農場裏的牛仔。換句話說,Render Wrangler 是因應 Render Farm 而生的:沒有 Render Farm 的話,就不需要 Render Wrangler。不過即使沒有農場,好像還是可以有牛仔,至少可以因此看到牛仔拔槍 PK,還挺過癮的。

Recent posts

Categories

About

You're looking at Drake's words or statements. All opinions are my own.