2019/02/23

A dance with dragons

想像這一天會是什麼樣的心情想了好幾年, 此時此刻卻出乎意料的平靜. 就算在一年前, 大概也沒料想到今天我沒有在夢工廠工作室跟大家一起慶祝馴龍高手3在美國上映. 人生總是有些不確定, 是福是禍, 又有誰知道?

2011年三月八號晚上, 為了準備夢工廠的面試, 在舊金山唱片行Rasputin(RIP)買了兩片DVD: 功夫熊貓跟馴龍高手. 半夜看完熊貓沒力再追馴龍, 心裡想說: "面上了就看, 沒面上就把這張DVD折了!". 事後才知道面試官如果聽到你只講夢工廠的作品會想辦法問你有沒有別的喜歡的動畫, 確定你不是刻意諂媚(現在想到這點會笑了)


2011感恩節前一天, 在Hugo夫婦那時San Mateo的公寓裡喝酒, 背景放的電影是馴龍. 醉眼迷濛中, 看著Stoik跳進海中先救Hiccup再救Toothless, 一人一龍飛向最後大決戰, 滿滿的羨慕忌妒恨:"為什麼他們第一次搞出這麼棒的電影, 我卻沒有辦法參與到." 憑良心講, 那是我第一次真心覺得夢工廠端出不輸皮克斯的名人堂作品(結果奧斯卡還是被Toy Story 3拿去:| )


2012年一月, 菜鳥TD上工, 說明會認識了未來同事: 遊戲業轉戰電影業的Mark. 第一份工作是給剛成立的TV部門架pipeline跟寫Maya shelf scripts/plugins. 當時在忙的影集是馴龍的第一季, 品質跟電影自然不能比, 但也算是給了這個IP出上第一次力. 中間短暫被調回去做conditioning TD, 啃噬靈魂的工作, 小朋友千萬不要碰...

2012年七月, 回到電影部門做lighting TD, 參語的電影是Turbo, 上工第一天被shader組組長Feng老大電到飛起來(wing blur shader depth buffer). 透過海龜知道了寫ray tracer當興趣的UPenn雙傑Peter跟Karl, 才知道外國小孩可以把做興趣的ray tracer推到什麼程度. 聽著當時組裡的首席lighter Lok吐槽自家的renderer, 讚頌外面閃電般竄起的新星Arnold. 深深覺得自己的學生生涯過的蒼白無力, 買了個kindle決定認真啃PBRT(那本磚頭書揹著都能當重訓)


2013年二月, 由於Guardians票房慘澹, 夢工廠大裁員. 一個當時被颱風尾掃到的TD前輩邊找工作邊跟我抱怨了句:"我已經十年沒寫C++了.他們要我面試寫個memory manager是想怎樣?"突然有被嚇到, 認真開始想是不是要轉換職場跑道. 五月Turbo殺青, 工作之餘開始決定要寫個比學校作業再認真一點的ray tracer. 七月SIGGRAPH, Pixar秀出了Optix based ray tracing lighting previewer, 看著公司內部同事一邊轉貼一邊哭說我們還在石器時代時, 不經意看到Karl出現再demo的credit名單...


2014年四月, 一次外出吃飯認識了強者大學長Matt, 才知道台灣也有人在國外做rendering. 跟shader組同事Jon聊天才知道人家沒念大學還是跑來做graphics ("不要學我. 這條路太辛苦了") 問Mark要做什麼樣的準備才有可能轉換到rendering跑道:"多寫相關project, 再寫blog紀錄" 十月中受邀到Disney Animation open house見證人家全新打造的毀天滅地凶器Hyperion以及試刀首航Big Hero 6. 十一月夢工廠參賽代表Penguins of Madagascar被Big Hero 6打成豬頭(劇情跟畫面都潰不成軍)


2014年十二月, 透過Mark介紹面試了夢工廠rendering team, 認識了可以聊重金屬的未來老闆Rob跟irradiance caching奧斯卡殿堂級名人Eric. 由於Penguins票房重挫人事凍結, 當下沒有拿到offer. 聖誕節滑雪之旅與Siyang學長夫婦長談之後, 決定留下來等等看有沒有機會

2015年一月, 三年TD contract期滿前一天. 夢工廠宣布關閉北加分部PDI, 取消兩部電影, 裁員五百人. 當時嚇到魂飛天外, 跟同事喝悶酒喝到最後在廁所馬桶旁暈死 :| 大浩劫後第二天在食堂遇到Mark跟Eric, Eric問有沒有興趣跟他做些比較好玩的projects. 開始了rendering team打工仔之路(順道一提, 兩個projects opacity masked shadow跟procedural shader api現在都還活在renderer code base中)


2015年五月, 正式加入夢工廠rendering team, 成為組上最小的程序猿. 新renderer正式定名為MoonRay. 該年主要負責領域為hair intersection kernel跟procedural shader api. 年底shader組參戰,某天晚上跟Feng老大南北加遠端, 看到了初代的hair procedural成品的當下, 應該是2015最開心的一刻

2016年年初, 接手ray traversal scene graph, geometry instancing, particle rendering, alembic procedural. 公司內部開始出現:"這東西搞不好可以拿出來做電影"的聲音. 年底, 陣中volume大將離職, 接手volume rendering.



2017年年初, Disney新作Moana立下了未來兩年內動畫界無法逾越的特效高牆. 三月, 馴龍3特效總監Dave Walvoord向上級請命啟用MoonRay. "沒有一個ray tracer, 我沒有辦法作出與Moana抗衡的視覺", "我們是敗戰之犬, 要打一場逆風的反攻!" 如果說有人看到馴龍3 Tuffnut大喊那句:"I'm with you! Who else!?"那時我大概心底就是在那樣吶喊吧:) 四月, 上級批准正式啟用MoonRay. 下半年, 為了displacement map, 砍掉重練subdivision mesh跟加寫adaptive tessellation, 完成大部分MoonRay初代volume rendering系統(single/multiple scattering, emission importance sampling, LPE AOV)


2018年, 以戰養戰, 馴龍3到最後三個月都還在接收新features, 包括Mark的臨別贈禮adaptive sampling. improved emission sampling跟volume motion blur都是到年中才加進去. 雖說跟Disney Hyperion的十八個月暴徒計畫比起來還是溫和的多, 這應該是夢工廠玩過最狂野的一次技術推進. 感恩節前夕, lighting宣告完工. MoonRay順利完成第一部長篇電影.


做為一個馴龍高手的忠實支持者, 能夠以自己最擅長, 最希望貢獻的方式送這個系列最後一程, 我滿心感激. 視覺技術方面, 我相信夢工廠此時此刻已回到最前線, 能夠與Pixar/Disney/Sony再度一較長短. 衷心希望, 在講故事這一部份, 夢工廠能迎頭趕上, 讓觀眾知道, 美國作動畫的不是只有米老鼠.



2013/12/15

Maters of Doom

書, 是去年就看完了. 但是一直沒有寫心得- - 不知道為什麼最近相關事件陸續發生, 今天索性來打讀書報告.

Master of Doom, 講FPS鼻祖id software跟創辦人兩個John的故事, 算是傳記文, 可大概是故事真的太精采了吧, 讀起來比看電影還熱血, 從兩個人的童年, 講到認識合夥, 大紅大紫, 拆夥, 前半段當考古文, 後半段有些開始跟我的學生歲月交疊, 也是別有番趣味.

必須承認我對id software的印象在大學畢業前都還是一連串支離破碎的蒙太奇, 我是有玩過Doom一代, 七八歲左右的時候吧.......結果從此對FPS有玩了會頭暈想吐的陰影= = (還有開電梯一定要先後退兩步防怪獸出來嚇人). 高中時CS當道, 那時看遊戲雜誌報導幾乎所有FPS清一色都是用所謂的Quake3引擎. 玩重返德總時, 才知道這遊戲的上一代是史上第一個FPS. 高三升大一時Doom3發行, 記得一直看到廣告叫大家升級硬體才操得動這隻怪獸, 那應該是第一款讓我覺得遊戲畫面怎麼可以好到這麼嚇人的遊戲吧. 大二修組語時cyy有拿出幾本課外教材, 提到作者是Doom的開發人員(應該是Graphics Programming black book或是Zen of code optimization吧...)大三開始有修些圖學相關的課了, 歐陽老大在講BSP tree時, 提到這是某個FPS很出名的優化技巧(那次期中考有一題是手寫build/travel BSP tree, 我還記得.......) 批踢踢上不知道在哪邊爬文提到了Quake3有段近乎黑魔法的inverse sqrt優化函式, 讀完的心得真的就像source code comment上寫的: "WTF......." 某次在圖書館讀到Times對id的訪談: "id的程式組只有十三人", "我只會雇用那些擁有我不了解的技術的人"......

綜合以上: "美國有個FPS的技術狂公司, 由某個技術狂人領軍, 規模不大, 但每次出了新遊戲都在強迫消費者硬體升級" 大約就是我對id的印象

在ETC念書, 暑假給Adrien老大打工時, 某次在討論可以用的open source game engine, Eric有提到Doom3快要open source了. 基於好奇去wiki查了一下...這個叫John Carmack的傢伙是哪個星球生出來的妖怪= =大學念兩個學期就沒念了, 然後寫出Doom引擎時沒有學過正統的3d數學, 德總的software renderer居然是ray casting based的, 土法煉鋼自己研究出stencil shadow volume.......還是個freeware的掌旗大將. 對這人一下子憑添了不少好感. 之後在ngmoco, 在bigpoint, 發現這個名字似乎在遊戲業已經是種近乎神的存在了, 每個人在講到這名字時, 都好像空氣中會有無形的挪抬(以示尊敬.......)

弄Ethereal時, 跟這些美國同學也有聊到id, 不過他們提到更多的, 是另外那一個John Romero, 以及他那個聲名狼藉的海報"John Romero's about to make you his bitch". "所以後來的結果咧?" "喔它們兩個鬧翻了, 然後Romero離開id, 出了款近乎笑話的作品Daikatana" 我是沒玩過大刀啦, 在bigpoint時的server lead Ron講到這遊戲:"oh don't even try, you didn't miss that much"........聽起來是真的挺慘的= =


一個game designer跟game programmer鬧翻, designer要去尋找以設計為核心的理想國度, 最後摔了一個大跟頭, 真的很像遊戲業午餐時段會拿來講的寓言故事......

等到把書拿起來看後, 對這個John的好感也是大增: 熱愛heavy metal跟暴力漫畫的叛逆少年, 掃台家裡方圓十里的街機記錄, 自學組語的硬派programmer, 把人家的demo遊戲拔出來放進自己hack過的改良版拿到骨灰傳奇Origin的offer.....  活脫脫就是個搖滾巨星! 另外一邊Carmack的青春, 也讓我覺得自己的青春好蒼白..... 自製土製炸藥去學校偷電腦, 柔道好手(好到可以反過來修理霸凌他的惡霸)大學中輟後就在當freelancer: "If he could simply program the computer, fix up his car, and play D&D for the rest of his life, he would be happy" 兩個人都很叛逆, 而且很有叛逆的本錢.
主持人好可憐= =


書的筆調很浪漫, 天時地利人和缺一不可, 這樣浪漫的故事要再發生一次的機會也不高. 現在沒有人需要在周六日把公司電腦幹回家做自己的遊戲, 也不會有人在湖水暴漲時游泳游到湖心小屋去工作, pizza, diet coke, rock n roll 其實加班時也是這個模式, 只是身在其中時我也沒覺得那麼浪漫. 會覺得感動, 就是這些人那種對全世界比中指, you don't like it then get the fuck out的態度, 卻真的拿出讓世界對他們俯首稱臣的作品, 我沒那態度也沒那身手, 看得痛快, 卻只能在旁邊悠然神往.

兩個人分道揚鑣的描寫, 也非常的有戲劇張力. Carmack不再是gamer, Romero不再熱衷技術, 明知道結局是怎麼樣, 隨著情節一步步的推進, 還是覺得很揪心. 然後再看Romero高調的另起爐灶, 高調的翻船, 看Carmack變成獨裁的暴君(雖然最近的訪談看起來他變得很親和, 大概是有了家庭的關係吧= =)最後跟大學對id的印象(那個技術狂公司)接了起來, 鼻頭有點酸酸的

2012 QuakeCon keynote

除此之外, 有些是有趣的考古: 在這個free 2 play歪風當道的年代, 其實早在九零年初就有類似的like it then pay more to unlock的概念了. 原來曾經有那個年代你想要玩遊戲, 得自己一個字一個字把雜誌上附的程式碼打進電腦編譯才能玩(硬派到爆表了!前陣子跟senior同事考證過後確認屬實!因為他幹過一模一樣的事!!!)原來Trent Reznor是Doom的超級迷弟, 原來那個年代你只要開個提供遊戲連線的server你也有機會撈順手財成為百萬富翁.

有些則單純是geek的熱血: "Abrash chose Carmack over Gates. The potential at id was too great, he thought; he wanted to have a front-row seat to see that breakthrough virtual world, that networked 3-D world, evolve. Furthermore, he was touched by the subtext of Carmack's invitation. Carmack seemed lonely, Abrash though, like he didn't have anyone who appreciated the beauty of his ideas." 英雄的相知相惜, 讀到這段時都快要哭出來了

有些是火鳳燎原式的驚鴻一瞥: 講到跟freeware時期的東家說再見時, 對方有個剛加盟的年輕人Tim Sweeney(Epic創辦人, Unreal之父), 世界怎麼可以這麼小!!!(看GPU gems裡面Tim寫序提到當初是受了Carmack的Doom感召, 寫出了第一代的UE, 談到software based renderer轉到硬體加速的fixed function pipeline又回到近代的programmable shader. 遙想公瑾當年,  雄姿英發~) 講到Ion Storm在E3時被另外一款後起scifi RTS修理, 那個遊戲叫星海爭霸......(跟這篇對著看效果加倍 )



EPIC Tim Sweeney, DICE Johan Andersson, Id John Carmack 三雄Nvidia論劍

也提到了Doom與科倫拜槍擊事件, 我曾經一直認為, 不要因為那些腦包玩射擊遊戲跟聽重金屬, 就牽拖這兩者有正相關. 最近看著Call of Duty一段又一段的廣告, 明星們笑著開槍, 笑著中彈, 看著MGRR中雷電把對方切成兩半的清晰斷面, 不自覺內心一陣發寒: 難道是我老了嗎.......搞不好真的是有正相關.......

2013/08/07 Carmack出任Oculus CTO
2013/11/23 Carmack離開id software
2013/12/10 Doom滿二十歲

儘管不是從頭開始看到尾, 這大概也標示了一個時代的結束吧. 因為這歷史性的一刻, 我把Doom1又拿出來品味了一下, 還是五分鐘就開始motion sick......

2013/03/22

我又看了遍亞瑟王(2010/10/24)

想要重看一遍的原因還是Zimmer. John Williams或許是老一輩的電影配樂之神, Hans Zimmer卻給了我這種小孩子'史詩'的定義. 從The Rock, Lion King, Gladiator到最近的Pirates of The Caribbean, The Dark Knight, Inception, 撲天蓋地的低頻音壓, 摩登的電子樂器點綴, 哀戚但不流於狂灑狗血的壯美旋律, 在我的耳機裡一次又一次的播放. Zimmer跟久石讓的音樂, 在匹茲堡那段時間陪我走過好多次的情緒低潮. 一首Barbarian Horde催下去, 馬上就是一陣'俺什麼都不怕, 通通放馬過來!'的豪情壯志. :P

Maximus!!

Jan在弄Ethereal的配樂時, 我在旁邊起哄"去聽Zimmer找靈感!" 幾個組員在網路上翻了下, Dan的反應最直接: "天啊! 這傢伙根本就是史詩的代名詞" 第一版的選單沒音效時, 基於個人私心偏好我放了Tell Me Now(What You See)暫時當placeholder. 點開遊戲時聽到Moya Brennan空靈的嗓音在背景繚繞, 那時真的蠻有感覺. 這張原聲帶聽了那麼多遍, 電影內容我反而是沒什麼印象了. 那陣子自從Gladiator拿到奧斯卡之後, 有段史詩片連發的流行, 只記得亞瑟王是其中一個, 只記得票房不怎麼樣, 只記得琪拉奈特莉超正.......有天在Murray經過Exchange看到一片5USD的二手片, 就買回家溫習了, 不期不待, 只是希望把旋律cue點的畫面補進腦海裡.

King Arthur主題曲Tell Me Now(What You See)

結果開場五分鐘眼淚就掉下來了= =........第一次看這片還是高中生, 對少年蘭斯洛被徵召,十五年離鄉背井沒有什麼感覺. 現在當然也沒那麼慘, 可是看到蘭斯洛父親大喊一聲Rus(google了一下, 其實就等於我們大喊'台灣人!!!'), 部落振臂齊聲那一聲雄吼, 淚腺就失守了, 突然好想家......

快轉曲目大不敬, 不過基本上02:27開始醞釀, 03:23情緒爆發

不只是開頭, 整部電影看完印象完全翻盤. 模型跟特效用現在的標準來看都相當老舊了, 七武士人字陣型縱馬衝入敵陣那畫面看起來卻還是好過癮. 克里夫歐文那種有點迷惘的憂鬱眼神好迷人, 更別提綺拉奈特莉那個野性十足的女武神裝扮了("你們要七個擋幾百個?" "八個, 你可以換一副弓" 阿阿阿阿阿怎麼可以這麼帥!!!!)  問題當然也是有, 看得出導演有努力想要經營角色, 只是大概這個人數有點尷尬, Warrior裡面表現亮眼的 Joel Edgerton在這邊完全淪為路人. 亞瑟心路轉換的過程我也覺得太硬很難買帳. 撇開這些, 娛樂性依舊在, 很享受的兩個多小時.

沒什麼新梗的故事, 偏偏我的熱血就是很容易被制約的那型, 看到只剩亞瑟一個人留下, 用膝蓋想也知道其他人會回來. 但夥伴們互看一眼, 輕輕的笑一笑, 最後勒馬並肩站在一起的那一刻, 又是雞皮疙瘩掉滿地. 可能在我的心底, 也一直在渴求這種可以互信, 共生死共患難的夥伴吧.

正翻

2013/02/24

大概是2010/8/23-2010/9/22吧

學期一開始, 之前在SV校區的三個組員在大阪展覽他們的成果, 這邊只剩Mark, Kent, Ji跟我, 為了不讓這一週空轉冗掉, 在Pennsic時大夥討論了第一個禮拜的進程: single player基本操控, 關卡menu銜接測試, 基本的combat mechanics. Advisor Chris Klug在開學前一直扮著黑臉澆冷水的角色,每當Ji生出新的concept art時,都會提出一些design decision的質疑: 怎麼做collision detection? 哪部分用shader cover? 跟環境的色調如何整合? 有沒有在控制面數? ......最後乾脆直接撂下話:先讓我看到兩個placeholder能在平面場地上互砍再來跟我談別的東西. Ji涵養好, 很禮貌的說馬上準備placeholder讓programmer有素材可以測試. 我脾氣可沒那麼好, 看到Chris這樣對Ji形同找碴的問候, 心想咱就是要幫Ji出口氣, placeholder互砍? 一個禮拜就生出來給你!

留在這裡的四個組員, 最後決定將目標設定為完成一個有bot的tutorial. 分工就定位, 各自上工. Unity真得是很容易上手的引擎, 一開始會覺得有點特別的component base scripting, 用習慣後個人相當喜歡, 很直觀的scripting做法. editor介面也比panda之前那個爛到極點的定位器好用多多多.其他的tools如terrain system, skybox, 內建的物理引擎, previewer......輕鬆到整個人都有點不自在:"怎麼可以這麼好用!這後面到底有什麼陰謀啊........"Kent比較晚開始, 兩天後也就進入狀況,一個人弄combat mechanics,一個人弄environment interaction跟GUI, 馬上弄出一個寥具雛形的小關卡, 週末順手加了一隻小怪的AI跟音效, 算是完成了跟組員討論出來的進度.


第一周進度, 簡單的教學關卡

第一次跟Ji合作, 能有一個這麼強悍的artist當後盾實在是一件很幸福的事, 永遠掛著溫和的笑容,永遠都是"沒問題",永遠都是"馬上給你".......從concept art到model到rigging到animation, 包山包海效率驚人. 再者,他的業界經驗也都給我們這些菜鳥很大的幫忙: particle的billboard應該幾塊為限, 人物的面數, FPS慣用的model擺位.....有問題都可以問他, model/animation import pipeline也完全不需要programmer操心,他都可以自行處理. 整個組對Ji只有欽佩! Kent粗曠的外貌常常會嚇到不熟的學弟妹,可跟他相處一陣子發覺他是個心地相當柔軟的大男孩,溝通時態度之客氣會讓人沒法跟他的長相聯想在一起= =, coding時垃圾話滿嘴, 加上designer Jan跟我,人稱Ethereal髒話鐵三角.他同時也是這個學期BVW wood shop的TA,掌管那間木工小屋.最意外的是......兩個組員都是金屬咖!我們常常在project room大聲放送metal radio, 惹人側目.



Ji用Kent凶狠造型合成的project海報, 相當煞氣

好像是只要有Mark在的project都會有華麗的project room. 他跟Ji在空閒時就拿一些絨布跟道具布置這間project room. 房間放了一個出氣沙包給我們拳腳交加(木刀斧頭也擺在旁邊= =), 冰箱裡面都會有定期補貨的飲料, 一罐四毛錢. 門口架著Kent跟Mark在Pennsic時穿戴的護甲及盾牌, 回頭再看那個房間, 還真的是蠻囂張的........一周後其他組員歸隊, 我們跟Chris展示了目前的進度. 雖然沒有講什麼話, 我可以感覺到Chris是有點意外的. 上一個學期受盡adviser的鳥氣, 讓這時的我對faculty態度相當不友善, 大抵上我已經不怎麼在意"他們覺得該怎麼樣"的評價. 我想去做AAA, 如果說對方跟我要demo, Ethereal就是我的demo. 所有什麼教育意義, 創新想法通通干我屁事.(講白點, 你看過幾個AAA有這些東西了?) 我只想要華麗的畫面跟玩起來舒服的遊戲, 你們沒法教我這些東西, 好我自己學自己搞. 對找工作沒有幫助的東西我為什麼要花時間去做? 


囂張

組員到齊後大致上的分工:
Dan: scripting, designer
Kent: scripting
Wayne: scripting
Martin: art
Ji: art
Jan: sound, designer
Mark: production management
嗯......大致上......學生project, 分工相當的鬆散, 我們不在意 其他人自然更不在意 有daily standup, 有daily report. 但我好像一個學期寫了不到十次. 遊戲機制通常都Dan提出來(佐以滿滿的簡報跟圖表), 我們看了討論一下大家的分工, 就各自悶頭下去做. 有version control, 沒有code review, 加上一天到晚的conflict強行overwrite, 旁邊的人看來應該會狂冒冷汗, 那時覺得很瀟灑浪漫. Dan軍人出身的背景, 很會鼓舞士氣, 我們每周都會找家餐廳聚餐, 或是看個電影, 一群人在電影院肆無忌憚的狂笑, 然後在半夜繼續回系館上工.

小梁回Pitt了, 三不五時會跑下去他的project room閒晃, 玩茂凱的公仔跟Evelyn的Nemo, 拉他出來打街霸. Project ACG經過兩周的考慮後, 棄UDK轉Unity, 我們成了友隊, 約定好每週互相試玩對方的遊戲, 這學期也來了不少講中文的學弟妹, 有聚餐有火鍋, 匹茲堡變得很熱鬧. Hugo跟Cynthia去了矽谷弄project, 跟Hugo在gtalk上垃圾話還是一直沒有少過. 小延雖然在本校區coop, 還是一天到晚回系館哈拉. 比起上學期, 真的是從地獄昇天堂, 但找工作這件事, 講來講去還是最讓人焦慮的東西.

某次亂入學弟妹聚餐

Adrian老大好心收留了我跟小延一個暑假, 也真的很感激老大教了我們很多東西. 但履歷上一些同學已經加了Disney, EA這些業界響噹噹的大名字, 那一行CMU Graphics Lab RA到底會不會讓HR的眼光在紙上多停半秒鐘還是個問號, 我很緊張, 小延應該也蠻緊張. 依舊是像台北車站發傳單那樣的投工作, 依舊給他石沉大海. 

這家Ne***ke記得是主動上來問的, 在回信表達非常樂意後開了如下回應:
A couple of questions:
o Would you be comfortable working remotely? (We don't have the means to relocate you to the bay area.)
o Do you own/access a MacIntosh
o Do you own/access Unity for Iphone
Given our timeline, it might be best to let you work with your own equipment, rather than sending out a company machine.
Drop me a note when you can.

我的回應是, 我不在意, 我可以借, 我可以買, 隨傳隨到. 然後就沒下文了......

也記得在學期初job fair時, 跟小延擠進人山人海丟履歷. 填了SCEA的表單, 從此每隔一兩個月寄來一些奇奇怪怪的位子(像是We have an opportunity for the position of Game Audio Intern-02517 that matches your profile.  Please check out the job and apply online) 也試著跟Demiurge的顧攤聊天(一個黑黑壯壯的engineer), 不知道是不是坐攤位也很無聊, 我們聊得挺開心的, 最後他的講法是"我們不大收剛畢業的學生(那你們來job fair幹嘛.......), 我覺得你OK, 會試著跟老闆談一下你" 當然, 期待回音是不太實際的= =

因為這個job fair我miss掉Animation of Natural Phenomena(以下ANP)第二堂課的前五分鐘, 照老大的講法每堂課報paper的人選是大家在黑板自決, 所以我很理所當然的被擠到了第一個 :P 這好像是第一次英文報paper......依稀記得是某篇用stencil buffer弄的collision detection, 內容不難, 準備投影片比較花心思, 在準備時Dan在旁邊給的建議: 圖片越多越好, 文字越少越好. 現在想來還是蠻受用. 過程算順, 蠻訝異自己在腎上腺素高分泌時講英文可能比平常還high還順. ANP的難度講實話比起老大的CG是真的高了挺多, 課前有人報paper, 課後有open question的分組討論加報告, 內容相當硬. 開學三十來個躊躇滿志的學生, 到學期中大概只剩十來個= =

quarter present前一晚順手拍下的照片

Ethereal的進度到目前為止相當順利, 到quarter present時, 我們已經完成1v1的一個關卡prototype, 舉辦了一場請同學跟學弟妹過來試玩的playtest. 有隔擋, 有進攻, 單這兩樣大家其實就已經玩的蠻開心了. 前一天又順手加了點motion blur跟bloom, 看起來挺像回事. 有faculty在問我們真的四個禮拜可以做到這樣? 還是暑假有偷跑? 聽了心底又再犯嘀咕: "這種廢物到底是怎麼有辦法來當教員的.......還憑什麼來給我打分數......" 茂凱私下跑過還跟我說我們給他們組長很大壓力= = 學弟們的精神領袖Ian跟Greg(well至少在學期初看起來是這樣)很熱烈的在跟Jan討論關卡設計. 甚至聽到一句, 有call of duty的fu耶.........(這太超過了) 自然, 整個小組對於這般正面回響相當開心. 樂觀派的開始提出規劃: 期中前要完成兩個關卡, 8V8, 期末四個關卡32V32! 其他還有什麼鎖定對決視角, 第三人稱過肩視角, 團戰加成氣場, 斧矛劍互剋系統......如果能再重來一次, 我希望我能鼓起勇氣出來澆冷水說我們只有一個學期, 只可惜當時雖然覺得不太對, 也不想掃大家的興. 之後發生了什麼事, 就像老梗的八點檔劇本......我們都是學徒, 我們仍然一直在從錯誤中學習.


playtest實況 這張照片看到好多一陣子沒碰面的同學了

2012/10/29

Maya plugin wizard setup step by step


{MayaDir}: maya installed dir(ex: C:\Program Files\Autodesk\Maya2012)
{VCDir}: VC++ installed dir(ex: C:\Program Files\Microsoft Visual Studio 10.0)

With the SDK that comes with Visual C++ 2010, it does not work with 64-bit
targets. If you gonna build 64-bit plugin, install Windows SDK:
http://www.microsoft.com/en-us/download/details.aspx?id=8279

1.Unzip maya plugin wizard( {MayaDir}\devkit\pluginwizard2.0.zip )

2.Copy MayaPluginWizard under _MayaPluginWizard dir to
  {VCDir}\VCWizard, which should then looks like:
  {VCDir}\VCWizard\MayaPluginWizard\1033
  {VCDir}\VCWizard\MayaPluginWizard\HTML
  {VCDir}\VCWizard\MayaPluginWizard\Images
  ...etc

3.Copy the other 3 files under _MayaPluginWizard dir

  (MayaPluginWizard.icon, MayaPluginWizard.vsdir, MayapluginWizard.vsz)
  to {VCDir}\VC\vcprojects, if you use VS express then
  to {VCDir}\VC\express\vcprojects

4.Open MayaPluginWizard.vsz and modify this line:
  Wizard=VsWizard.VsWizardEngine.9.0
  If you use VC2008, stick to 9.0, if VC2010, change to 10.0

5.If use VC2010, open
  {VCDir}\VCWizard\MayaPluginWizard\Scripts\1033\default.js
  change all the 'vcproj' to 'vcxproj'

6.open VC, File –> New –> Project, choose MayaPluginWizard from
  installed template

7.name your project name, next next next(enough for this helloworld plugin)

8.DeclareSimpleCommand( HelloWorld, "Wayne", "2012");
  MStatus HelloWorld::doIt( const MArgList& args ){
  ......
  ......


9.if you gonna build 64bit plugin:
  project->properties->configuration properties
  change top left Configuration: to All Configurations
  select Congigure Manager on the right
  in Platform scroll, select
  select x64 for new platform, Select Win32 for
  "Copy settings from" . Click OK
  Under Configuration Properties/General, set "Platform Toolset" to
  Windows7.1SDK.

10.F7 build it, your .mll plugin should be in your {ProjDir}/Debug(or Release)

11.open MAYA, Window->Setting/Preferences->Plug-in Manager

12.browse and check on your .mll plugin

13.in the shell window, mel tab, type in HelloWorld,
   you should see:
   // Result: MayaPlugin Test command executed!

筆記備忘, 大部分都是參考Priscilla學姊的這篇文章(http://prilisa.com/2012/01/my-first-maya-2011-c-plug-in.html) 有些步驟硬是有出入, 兩次在x86跟x64的環境上也不大一樣, default.js好像網路上也沒什麼人提到, 東撞西碰紀錄一下希望日後可以少做一些笨事...... Anyway, 下次再搞時我猜這篇也過期了= = 各憑天命





2010/08/15

學如逆水行舟

螢幕拆下來,桌上剩餘的書本收拾收拾,看看此刻空蕩蕩的CGlab,結束啦!新的挑戰又要開始啦!

接續著緊湊刺激的上半場,七月前半的任務是pipeline之前serialize的作業流程。對一個OS/系程/資結全部隨便修的死大學生來說,也是給了我一個真正實戰的機會打磨一下這些書本上曾經看的見摸不到的知識。第一次真的需要用上UML來設計架構,第一次認真的將自己的扣當成會給人拿去繼續用的product,第一次......multi-thread不是拿來做一些不痛不癢純刁難synchronization的考試題目,第一次.......大量的使用STL,第一次........真的覺得眼下要搞定的東西非OO不可,第一次........要考慮跨平台相容性的問題。好多的第一次,每天上班前都能有個明確的目標:今天要搞定哪個部分,一邊在溫習/補強,一邊馬上拿眼前的專案來試刀。每天都能打磨自己的C++基本功,這段日子真的很充實很快樂,看著server/client端火力全開(也是第一次看到CPU四顆核心都被操到滿格= =),將frame rate推高到兩倍左右,成就感自是不在話下。

下學期的programmer搭檔Kent 陽光燦爛
producer馬克爵士 打不死的勇者
七月底開始,卻又是掉入了一個可怕的混沌裡,老闆希望我們將這個研究整合到遊戲引擎中.......一句話,帶出來的問題卻是一環扣一環,彷彿走入了走不出去的八卦陣。遊戲引擎用了blender內建的BGE,我要說那個logic editor用起來實在有夠不舒服,半外露的架構或許給一般用戶來說較容易入門,但是對眼下這種用途極超出常理的東西,完全找不到切下去的點。在人家已經外包了好幾層的post process shader的遊戲畫面,又是如何跟他們作depth composition?python要怎麼建module包住我們的扣(這邊我承認真的是我菜,完全沒研究過這項python最為自豪的膠水特性),老闆又不希望我從shader去著手,希望我直接去改blender的render核心..........老闆= =姑且不論blender大搞cross over的機車原罪........我要是能去當黑手一個月把引擎核心給改成rasterize/billboard共生,我就去id software追隨John Carmack大師的腳步了.......你把我想得太偉大了......我只是個平凡的打字不快的打字工讀生啊~~~~~~~~~~
吟遊詩人與騎士的合影L-R:Martin, Kent, 芭崎, Mark, Ji(前), Jan
開幕儀式留影紀念
此刻的狀況,有點像嬰兒還不會爬,就希望他去表演馬戲團特技。我連blender都還不大會用(操作方式跟MAYA大相逕庭,沒有什麼辦法移植現有的3d modeling常識= =),卻希望我去換它的心臟.......看著網路上密密麻麻卻又沒怎麼即時update的document(偏偏最近介面又大修,API大改),學,又是覺得這東西沒法速成,一個月熟練blender操作都嫌難,更別提老闆的目標。幾次跟老闆講說這個東西太大,我沒辦法handle,又不知是口氣不夠強硬,還是老闆在外面開會,沒看到我猙獰扭曲的表情,直到最後兩週才鬆口說改用prerender的方式先完成一個visualized demo clip。
帶著你的長槍跟盾活著回來吧

看著老闆這般積極的要贊助跟準備行銷,我只能說我錯估了這project的立意,本以為是個純學術研究的項目,現下居然是打算開公司銷售。但我也想跟老闆說一句:進軍遊戲市場的競爭之激烈,可能超過老闆您的想像。超高速render high complexity model在學術界遊戲界都會是個很吸引人的東西,但遊戲界各種以巧勁取勝的撇步早可做出更可怕更誇張的視覺效果。當老闆看著yo-frankie的low polygon tree,驚訝的覺得為什麼low polygon可以有這麼好的效果時,我心底是嘆了口氣:"老闆!別整天做研究了!更變態的遊戲還多的了......crysis的樹比眼前這棵樹好看不知道多少(疑似連subsurface scattering都用上了,不知道crytech是用了什麼神奇的技巧)還可以給你一槍折斷來玩.......去一趟GDC吧,或是去買一台PS3稍微看看近代的遊戲長什麼樣子"prerender video相對簡單的多,但要拿去行銷........你應該是請一位好的animator幫忙做這個而不是讓兩個blender苦手在這邊呆呆的設key frame吧(這跟玩三國叫荀悠跟呂布單挑有什麼兩樣........)
既然都提到了就來看看超病態的Crysis Tech Demo吧
可能是個性使然,遇到完全看不到頂的目標就會萌生退意。儘管硬著頭皮去做,但很明顯最後這三個禮拜的工作效率相較之前是異常的低,很討厭這樣的自己,討厭不事生產缺乏貢獻,討厭沒有進步的感覺。看著延通那種找不到大路拼命挖個地道也要鑽過去的蠻勁,真的是很羨慕他對自己這樣的要求,前兩個月稍稍覺得有點樣子了。這三個禮拜又再次發現:"什麼都不會!什麼都不懂!"爬過一個山頭後面是無盡的山頭,學如逆水行舟不進則退,絕對沒有辦法夠停止學習的,振作積極一點啊!!!!!

攻城戰
Ethereal學期前的第一發大動作:由中世紀研究組織SCA舉辦的Pennsic War,完全復刻十五世紀的騎士戰爭,野營。Mark跟Kent經過了大約一個月的訓練,SCA同意讓他們參戰,就像是Medal of Honor小組去打生存遊戲體驗戰爭的氣氛,Far Cry組去非洲蒐集建模的場景跟材質素材(其實你根本就是想玩而已吧= =),Ethreal此刻也要去感受一下千人會戰的氣勢啦!Mark前幾日還趕工在他的盾牌上嵌上迷你攝影機,捕捉戰爭的第一人稱視角(你這樣跟Heaven Shall Burn叫人頭盔綁著攝影機去mosh pit又有什麼兩樣= =)周六Ethereal小組相隔數月的第一次會師(差一個Dan,戰友在阿富汗中伏陣亡,去致悼辭,美國軍人........)驅車前往Ohio跟Penn中介點的Cooper Lake。換上Katie幫我們準備的長袍(只有兩個是戰士,其他人都是吟遊詩人= =),一切一切,都顯得那麼有趣。有點像.......參予人數破萬的cosplay........白天打生存遊戲,晚上狂歡party(啤酒要用中世紀那種Mug去裝,超殺!)。換個角度來想,算是一種癡迷中世紀文化的美式宅男聚會吧........每個人的工作行程不同(我跟老闆請了周一的假),來來去去,到頭來一路打到禮拜一的老班底就是Mark, Ji跟芭崎(Dan也在周日晚上風塵僕僕的趕過來了)
Mark隸屬小隊的指揮官Elena 一臉英氣(懷疑她是現役軍人 口令好標準)
大太陽下,小帳棚前,Ji在素描,我在翻書,面對著這位ETC2011最強modeler,說真的合作壓力不小= =他這學期結束就要畢業了,為了這project沒有接下RIOT的offer,只希望他的熱血付出能得到應有的回報。兩個人到後來索性都放下手邊的事開始閒聊,聊到他的工作:"我那時是美術組的頭子,手下只有三個人,從concept到rigging跟animation都要一手通包。有一整年時間我沒回過家,我女朋友說我都沒時間陪她,最後不要我了........""在Nexon做了三年,在Samsung做了三年,SK做了三年.......一邊念書一邊工作,Siggraph遇到了Don,他跟我的老師建議我過來,於是乎,我準備了一下托福,就過來了......." 一邊噴了一口菸,朦朦朧朧,Ji的身影看起來好滄桑.......好悲涼的故事,聽到最後都忍不住要為他掬一把清淚.......在CGlab的工作相較之下真的實在是太輕鬆太開心了,我真得好沒用........
給Ji老大打一下廣告吧 超病態的NURB/polygon modeling!

週一的千人會戰是一個極誇張的體驗!只有一個Epic能形容!長槍的激烈衝撞,近身肉搏戰,攻城戰,打了整整兩個鐘頭,在旁邊看了都覺得累。混戰的場面,任憑你如何身懷絕技,在這邊都是完全無濟於事,我跟Dan笑著說:"如果你希望我們的遊戲復刻這樣的的場面,player大概五秒鐘就被送到respawn point去了(而且可能還不知道自己是怎麼死的)"。Mark隔日又參加了叢林會戰,週五更是單槍匹馬再闖Field Battle,拼戰精神令人敬佩,這個producer應該是ETC最認真的producer!隨著Katherine的離隊,終定版project list沒有給我們補上任何artist,美術確定是要由Ji一個人硬扛下來,也該是將原本過大格局的目標稍微縮小下來了。開學第一週的gold spike是基本的人物操控互動及關卡連接,有半數的人馬要去日本開會。任務很明確,應該也是我還能handle的範圍,來吧!
混亂瘋狂的肉搏戰
實習的最後一晚,老闆請我們吃飯,閒聊之下也總算確定CYY跟老闆是老相識(啊!那個英文破破然後講話很大聲的學長!我們在同一個lab啊= =)少數幾次跟老闆有比較感性的深度談話。這暑假對我來講是夠充實刺激了,只是這project路還很長,看看歸隊的戰神Eric跟David如何攜手跟延通搞出一番事業吧。短程目標基本算是完成,我們也是幫您跟Nvidia要到了四張server級顯卡,現在的硬體條件應該可以搞一些像樣的東西了。老闆也提到希望畢業後可以過來幫他做,不管是不是客套,這份抬愛芭崎心領了。"既然沒有什麼東西不可失去,也就沒必要有任何顧忌,放手去闖吧!天下之大,我的身手又不可能餓死"老闆的這份生活態度我很欣賞,也祝老闆好運!
MAYA自修之路:芭崎號終於完工了
很簡單但效果很好的旋轉複製
回顧BVW round2 我們應該可以做出更炫的Texture Swaping!
Motion Blur的動感還蠻不賴!
打完這篇文,學期也差不多要開始了,台灣的學弟妹感覺準備比我們當時充足的多,希望兩位都能在ETC馬上展露頭角。我要放個假去放空放空啦~~~下學期應該也會是個很精彩的學期!

再會啦! CGlab! 我會懷念你們的!


2010/07/02

這輩子最充實的暑假


很高興此刻還能活著上來寫點東西= =,已經上工快兩個月了.........這段日子.........應該是我這輩子到目前為止過的最緊湊的歲月. 上半場結束,現在中場休息,距離下半場開打大約有三天的時間,可以把思緒回憶稍微整理一下,下一次再寫文可能就是八月中了吧= =

照片與內文風馬牛不相關 5/8 As I Lay Dying的現場
第一個禮拜,基本上就是David跟Bo把任務交接給我跟研通,這兩位現在一位在微軟實習,另一位要去stanford念碩士了.那段時間還有SCS帳號,沒辦法使用CGlab的電腦, 每天兩個人就龜在CS的電腦教室裡做事, light field算是image base rendering的一種, 基本概念很簡單, 簡單到有點弱智.........給你兩個角度的影像,你如何生出中間某角度的影像?答案: 內插.................我靠!第一次看到paper整個傻住........ 還stanford發出來的paper咧.............老闆的想法也很蠻橫:老子就是vram多不用錢!只要有一百個人需要同時使用這玩意, 這東西成本就形同百分之一,賺!
Mosh!!!!!!!!
於是乎,一張顯卡上塞滿了各個角度的模型圖像, 隨要隨找, 就算你是八十萬面的模型, 我也給你瞬間生出來! Bo幫我們ren圖,研通跟我就在用glsl把這個演算法試圖implement出來. 兩天後看著樹在一個狹窄的三角視野中轉動時, 一百多張圖片真的產生出有視差效果的3d畫面!我倆那一刻是又興奮又有點不可思議:"真的才給我們兩天就把他給implement出來了?" David那邊則是嘗試另外一種作法: Volume Billboard.這作法就文明多了,簡單來說就是生出一分3D貼圖,像切蛋糕一樣隨要隨切,四個人跟老闆在週四meeting時,因為David即將啟程,我來接手這作法的最後一道動作:使用geometry shader在GPU完成切蛋糕的手續,研通則是使用icosahedron的均勻分佈性質佈署ren位置,下一週決定要使用哪個方法作為render的基底,老闆此時語出驚人:"geometry shader, 一天學一天implement應該相當充裕. Icosahedron, 50行扣就解決了吧?" 老闆.........你是認真的嗎...................
樂手表現中規中矩 觀眾捧場度100分
開工第一個禮拜的週末就開始加班了..................禮拜天在延通的幫助下總算搞清楚geometry shader的語法( 不是用法..........三個小時卡在少加一個_EXT, compiler大哥你又不跟我報錯是存心跟我尋開心嗎? )禮拜一老闆一進教室馬上問:"明天要結果,OK嗎?"= =只能說人類潛能無限,第二天中午真的在咪挺前十五分鐘把結果生了出來, 只是效果不如預期, 老闆已經打算把注押給lightfield了, 儘管在Eric緩頰下爭取了一天來作geometry shader優化, 最後我們還是使用了lightfield這個超暴力的演算法作為project的基底."禮拜五之前, 我希望看到Icosahedron成功run起來!" T_T從第二周開始,下班時間自動下修為晚上十點, 每天出去吃晚飯時, 有被害妄想症的芭崎總是在幻想要是今天沒把東西做出來會遭到甚麼樣殘忍的毒手(抖).禮拜五早上報進度時,兩個人皮皮挫的跟老闆說還在找辦法把unsigned int餵進GPU的方法,整個房間氣氛冷得像冰一樣..........老闆一直打字.寄信.打字.寄信.半晌後才抬頭說:"我不明白,你們為什麼會被這種東西給卡住?我的意思是........有這麼難嗎?usample應該就可以做到你要的效果啊"(事後網路搜索結果只有兩筆這東西,而且只有提到名字,怎麼用到最後全都是用猜的.............)禮拜五晚上, 看到結果成功(事後才發現這個成功只是個假象.........)的在螢幕上出現時, 兩個人真的是興奮到有點語無倫次了(教室裡的人都在青我們= =)
基督教乖小孩metalcore聯演
第三周老大去渡假, 兩個人跟Eric大致討論了一下program的架構後, 開始分頭進行更進一步的工作. 研通去把light field擴展到360度, 我去寫server/client/封包框架...........打從大三上修完計網後再也不知web programming為何物, 現在要我寫出AAA級的堅固server= =,還要先將interface給大家過目討論再實作.........曾經在火狐待過,CG首席助教,CMU電玩研究協會高幹,大四才剛畢業的Eric所展現出的霸氣,整個要把我給轟飛出去:"啊啊啊............這才是..........CMUCS本系生的真正實力啊...........好強大的氣勢!!!!!!!!"他的扣結構清晰,條理分明,trace起來很舒服,環繞在那縝密的framework下,會讓人覺得:"這扣真的像工藝品一樣啊!"可惜的是他暑假也在西雅圖實習,很多時候,我卡在各種詭異的bug時,想不出封包要怎麼拆時,都在想:"Eric若在旁邊鐵定笑翻,居然卡在這種腦殘的地方"
ETC學生自辦郊遊falling water
"啊!如果你覺得不大會拆,又願意等的話。我這方面的經驗算蠻充足的,周末給我半小時,我可以把它寫完給你"芭某人再厚顏無恥,自尊也還是有的,讓人花錢雇的傭兵居然還要請遠在西岸實習的學生無薪抽空幫忙,不!整天在google上東翻西找,一點點試,一點點拆,camera, stream header, pixels,工作站跟本機互連,明滅起伏的紅色棋盤,終於.........看到了兩個畫面同進同退,雖然只有5FPS,但請讓我這個腦袋只有花生大小的打字員興奮個五秒鐘...........研通那邊因為浮點運算精度及vram上限的問題陷在一個爬不出來的泥淖中, 貝式三角,sphere intersection test, index number的各種交叉比對,螢幕上浮現著鮮黃,鮮紅,宛似精神病患的五彩內插...........在旁邊都忍不住頭暈目眩起來,一開始完全沒有頭緒的GPU壓縮,一周要生出來,每天晚上走出lab時,兩個人都像瘋子一樣的囈語:"完蛋了完蛋了.........要被fire了要被fire了..........老闆會殺了我老闆會殺了我....................."
吃麵吃得很開心的小溪跟Hugo
"為什麼那樹看起來像陀爛泥巴一樣?" "呃.......這螢幕本來就比較暗........上次因為alpha blending出了點問題,現在用手動算看起來有好一點.........." "I don't care! It makes no difference to me. It must be much much much better than this!!!!!!" Nvidia七月一號的參訪,將是這場激戰的分水嶺."我們到時要展示給他們的,絕不能是這樣的東西,我希望要呈現的是,陽光從樹葉中透出來!地板上斑駁的光影!任意的加減移動樹木" "等到日後人們提起你們兩位,只有陣陣的嘖嘖讚嘆!你們要以此自栩!" "要呈現的東西,只有完美( nothing less than perfect )!" 我這輩子,大概第一次被逼到這麼緊的地步.............object analyzer, compositor, image clipping............幾乎是以一天一feature的速度往上面添.............這時真的覺得:跟這份工作比,要在CG拿個A,跟吃飯差不多輕鬆..........."頻寬是瓶頸,那就壓縮啊!" DXT5, huffman tree, quantization,有損的.........無損的.........全部都給他丟下去啦! "CPU不夠快,那就搬到GPU上面啊!" 要是在ETC,我可能就兩手一攤白眼一翻:"說的這麼簡單,你來做啊" 但眼前的老闆是真的高手高手高高手,他是真的覺得很簡單...............給他做他是真的做得出來.............註解裡面的TODO, HACK一層一層的堆,舊東西都還不確定有沒有問題便一直加新的東西進去,此刻真的有萬丈深涯走高蹺的感覺..............
趁還能笑的時候趕快笑吧..........
一直到demo前一個禮拜,還是那團黑忽忽的樹,FPS的滑鼠操控模式,破破的草皮地板,禮拜四咪挺完又被老闆刮了一頓:"this stuff starts to embarrass me now, we can't show this kind of things to Nvidia!" 真的不是不認真不用心,冤枉難招啊~~~~兩個人都不是美術出身的,MAYA, mental ray都不是我們的本科專長,我們真的不知道要怎麼ren出比較漂亮的樹啊~~~~vram就是1G,新裝備還沒到前256X256X2xxx這樣真的已經是極限啦!!你怎麼能要求256X256撐到1024X1024還能看到"一片一片葉子",這是逆天而行啊!!!!!!!!!!!!!!!!!
project開始第一個月大概就是這副德性............
老天大概是覺得玩我們玩夠了,在我們兩個又再抱著頭呢呢喃喃時(整個CGlab大概都很困惑:那兩個中國仔每天在那邊用堆聽不懂的咒語念咒幹嘛= =),熱心的MAYA好手Ben出現幫我們對這棵樹進行大改造。raytracing, HDR, color bleeding, ambient occlusion, subsurface scattering...........Ben本身對程式沒有任何研究,他用的是"感覺"跟"經驗"!看著他對MAYA這些render選項熟練的操作,儘管早就知道MAYA是model神兵,此刻心中仍是會發出一陣陣尖叫:"這個MAYA也有!這不是之前Siggraph那篇!原來已經implement到商業軟體裡面了!!" 老闆看到新ren出來的樹,興奮的對我們兩個說:"看到沒!這才是樹啊!" 之前我是不敢小看artist,現在我是對artist抱著崇高的敬意。ETC一直宣揚的科學與藝術的互補,真的要我被逼到生死關頭時才能體會...............

周五AO map生出來卻因為alpha值的關係blend不起來,兩個人又是嘎嘎阿阿不停,這時是背後的女孩子伸出援手:"我看看可不可以用photoshop弄弄,你們快要demo了吧?辛苦辛苦"聖母瑪莉亞~~~觀世音菩薩啊~~~~CGlab平時大家各忙各的project,整個實驗室一整天聽不見幾句閒聊,這時大家的雪中送炭,只能說人間還是有溫暖的啊T_T。周六早上起來又收到老闆的追魂信...........說他有點擔心demo的進展..........Wayne!影子咧!影子咧!影子咧!= =|||下午用了各種blending參數,該死的影子就是不給我乖乖的blend進地板上。急中生智請研通把整張圖反白過來,新ren的樹,換過的地板,嬰兒藍的背景,重新佈署的位置,盤旋式的camera,影子.........上去了!就好像魔法一樣,齊了!整個畫面瞬間level up!!!! 35FPS!!!週日老闆一進來,興奮的大喊:"You guys did it! it's so beautiful! Mo!! You got to see this!! This is the future of video game!!!" 連續數週的緊繃,總算在這一刻稍稍舒緩下來,兩個人都是常吁一口氣= =
脫胎換骨之絕地大反攻!
之後,老闆又更興奮得提出各種加速的方法: pipeline, thread pool, vector field streaming甚至是各種近乎邪魔歪道的image access. "or there is a even better one!"每次聽到老闆又有新主意,就是一個哆嗦:"這個........做得出來嗎........= =" "可以給我點時間先把那像亂草的扣先清理清理嗎........" 值得寬慰的是,老闆終於說出了:"We are ready for the demo!"

Nvidia的訪客Jonathan Cohen,是奧斯卡08最佳特效獎的得主,蜘蛛人三的砂人特效就是他的手筆,之前在Nvidia官網上的鬼樣流體模擬,也是他的傑作。這樣恐怖的角色來襲,老闆點頭說OK,我還是整天都在幻想當天demo橫死當堂,回頭被老闆剝皮的血腥劇情= =,所幸當天demo在一片安祥和諧的狀況完成。大師鷹眼一看馬上將我們的作法摸透透,口頭嘉勉稱許,並表示有認識的人從事類似研究,以及願意提供一些裝備上的幫忙,當天他本人在CMU的演講結束後,我們兩隻小實習生跟老闆客人一同到了Craig的Luca進餐,燈光美氣氛佳,賓主盡歡,下午四點客人離開,警報解除,老闆龍心大悅,說這周末我們可以休息一下,刺激的上半場終於在這邊告了個段落..........


Jonathan老大驚世駭俗的流體模擬........有神快拜!!!!!!!!!

大概進程是這樣,很多細項記不清了,還是要重申一次,我這輩子從來沒被逼到這麼緊過!!!!!我要感謝我的好隊友研通,他真的比我老練很多,程式架構,技巧都也比我成熟很多。這段時間如果沒有這麼可靠的隊友,我應該會急到哭出來吧..........兩個人一天到晚龜在CGlab (Mo:這兩個每天從早到晚都在這裡 鬍子哥:是啊!好恐怖(creepy)喔..........),找不到bug時灰頭土臉,面色枯槁,完成feature時士氣高昂,眉開眼笑。老闆已經問我們倆下學期要不要繼續留下來做coop,研通答應了。我...........project ethereal............我還沒開始準備那一邊的東西啊!!!!!!T_T看著Ji的model跟concept art一直迸出來,我也希望趕快進入熱身賽啊!!!!!

自己練功的部分,把C++ primer搬出來看,好書一本!很多非常細膩實用的技巧,一路看下來越來越不敢在自己履歷上寫自己會C++...........shaders for game programmers and artists,也是好書一本!筆觸親鬆,內容實用,經過這一個月工作這邊的凌虐,看這本的shader真的只能說像看閒書一樣輕鬆..........也稍微接觸了HLSL跟render monkey的操作(以前render monkey真的只被我拿來當shader compiler用............)。MAYA........沒錯!MAYA!下學期要跟ETC首席MAYA好手合作,經過了Ben跟Mo的援手相助,自己只不過想給個地板上張貼圖也要請人幫忙的窘境,終於忍不住了,這種程度的東西都無法自己handle,programmer也不該只會寫扣其他什麼都不會吧.........(而且自己又不是頂好的programmer),亞馬遜都有敏馬血馬之別,如果頂級全才programmer當不成,求職的需要技能稍微都點一點應該不過分吧(很多公司TD都要求有基本的MAYA操作能力),我不喜歡說自己什麼都會的人(通常那意味著什麼都不會),但我更不敢講我自己是本科具有絕對優勢的人,我以:"能與artist良好溝通合作的programmer"為自我期許,為目標邁進!
MAYA自修之路:芭崎的第一個完成品model
我決定叫他芭崎號!



坐墊看起來蠻舒服的>////<

絕對是這輩子最充實的暑假(有假期可言嗎= =),累死人!但我可以感受到自己的進步!我希望進步得更快!我要變得更強!玉潔跟我閒聊時談到:"沒有溫情的地方 才是邁向神的領域的道路"成神是不指望了,只求知道神的道路是什麼樣子,只求自己能走過一遭!