Drake's Weblog

animation

1 minute read

拖同事 LuLu 的福,今晚跑去大腕影像參加一個「電影【海角七號】導演與視覺特效的對談」,據說是要預約報名的,只有五十個名額。而且,被「記者會或座談會」嚇到了的魏導,熱情站台。到了會場,才發覺數位內容學院的人好多呀…然後也發現,原來還來了資策會副執行長許清琦!!! 我記得他在台大資工時,我還修過他的「必修課」…
去到別家動畫公司,感覺很開心,大腕算是我的第一家,因此格外地注意他們的人與四週環境。人一樣很和氣,年齡層一樣很年輕,地方小小的,所以大概是二三十人的團隊,然後攝影的小姐很漂亮(不過這不是重點)。
座談會中,有一段他們特別準備的「實拍、CG 模型、特效、光陰…到合成」的影片,感覺做得不錯。(聽說花了兩個禮拜準備)第二次看這些片段,看得比較仔細,發覺到有一些明顯的瑕疵,像是海面的反射與亮點好像可以再加強一些;船的「老舊」感,還是有太多的塑膠感,如果可以把 specular 再加把勁兒,然後再利用 reflection 來營造成海水沾在船身上的溼潤感,就又更優了。不過就像魏導和大腕負責人說的:「時間太趕」
座談會什麼時候結束我不確定,我只知道我在九點多時就溜走了。沒有聽到很多我想聽的,像是製作期多久,總共做了幾卡,rendering 資源用了多少,以及最最重要的,在預算有限下,他們怎麼處理與下決策的。不過也沒辦法,這部片子雖然有一陣子了,但實在是「台灣之光」,太多人想問問題了,這也是沒辦法的,呵。
回來後我在想,這算是一個不太成功的座談會。從大腕的角度來看,這個座談會的眾多目的之一,應該是讓更多人認識與了解大腕,進而提昇大腕的形象。必竟這是難得的一個機會,要等多久才會有一部非常賣座又很有話題的國片呢? 可惜焦點還是集中在魏導身上,實在很可惜吶~~
聽說大腕負責人只比我多兩歲,真是一位可敬的人,大家一起加油吧。好好經營每個 animation studio,讓更多人有好的工作環境,讓大家吃得飽做得開心,然後再做出更多讓人看了會開心的片子吧。

1 minute read

Bruno 最近寫了一篇關於他在 SIGGRAPH 2008,自 Pixar 那排隊拿到的 Walking Teapot 的文章,建議去瞧瞧。
重點是,他拍得照片挺漂亮的 :)
PS. 今年我好像沒有拿到 Pixar 會場發的 walking teapot,雖然有那麼點兒小遺憾,不過這種東西,有就是運氣好,沒有其實也不會怎麼樣,就只好期待下次囉~~

PS. 上圖是竊取自 Bruno 的拍攝,版權所有皆屬 Bruno 所有,請不要亂用 XD

1 minute read

原來預計這個週六要參加鎧尹發起的讀書會,突如其來的 CG Professor Retreat,把行程整個打亂了。由陳炳宇教授與 Phoebe 主辦,以休閒聚會為名,邀請了台灣的圖學教授們,一同聚集在鹿橋山莊,由太極的黃董來作客。我們這一匹國防役(八位)也被抓過去參加。
颱風天,為期二天一夜。

鹿橋山莊位處偏僻的小山丘,入口處是條極其窄的小路,就像回鄉下老奶奶家會經過的路一樣,彎彎曲曲,小巷子兩旁不時有樹枝叉出來,滿地落葉的羊腸小徑。喔…就是羊腸小徑,這個突然想到的詞兒,非常的貼切。
來了很多位教授,即使是在這麼一個颱風天。我運氣非常的好,因為歐陽明教授的徒子徒孫在台灣圖學界不少,所以有不少位教授都是我的學長,所以我自然地就可以融入交談,或至少不會怕生,敢與他們同坐聊天。事實上呢,我非常喜歡我這樣的一個態度。我是這麼想的,如果我自己是一位年長的長輩或教授,我一定非常希望小夥子們可以非常自然地和我聊天,不要因為我年紀大而不敢,因為不過就是聊天嘛,能和不同年紀,不同背景,不同的生長背景的人,自在的聊天,是件多麼讚的事 。
同時也見到了阿茂與小黃他們倆的指導教授,還真的是非常安靜的一位教授吶,李教授真的和傳言一樣,是一位不擅長社交的教授,不過他是一位好教授,這件事實並不會因為不擅長社交而有所影響。
聽教授們聊『教授一職的升遷制度』,才體認到教授真是不好當呀。助理教授,副教授,正教授,還有特聘教授與終身特聘。然後還有所謂的每幾年就來個評比,評比不過的話,得被叫去約談。然後呢…很菜的教授,就得被抓去開一些必修課,像是「作業系統」或是「組合語言」這種,根本不是你專攻的課程,也是得硬著頭皮去開課…教授一職挺不容易的吶。不過好像也挺好玩的就是了 :)
雖然在行前就被通知,我們這群人要代表太極影音,給個正式但輕鬆的 talk,分享我們在太極做了些什麼,遇到了些什麼問題,然後進而拋出一些可以產學合作的研究來。因為大家實在太隨興了,所以就免啦。對於還沒準備好的我來說,實在是個好消息吶。不過我非常開心,可以在這個時候和阿茂聊聊一些 rendering / lighting 的事,得知他在 lighting 部門看到的問題與想法,十足珍貴。我們雖然閒聊了一下,沒有什麼明確的結論出來,不過我隱約覺得,未來我們就會有某種不錯的解決方案出來。
「與大師有約」,同時也是我們這八位國防役的一次一同出遊,雖然沒做到什麼事,也沒有玩到小黃專程帶下去的 Wii,更沒有在那邊過夜,喝酒配下酒菜,不過呢!!!誰說不可以有下次這類的活動的? 就來自太極出遊不就行了?
啊…如果有個康樂股長就好了~

1 minute read

The following is from Dan Maas:
I just query the camera attributes using the normal Maya MEL commands. For example “getAttr cam.worldInverseMatrix” gives you the camera transform and “getAttr cam.focalLength” the focal length. You can call these from the code that generates your procedural.
Maya->RenderMan conversions are as follows: 1. invert the 3rd column of the worldInverseMatrix to convert from right-handed to left-handed coordinates (i.e. multiply m[2] m[6] m[10] and m[14] by -1) 2.

1 minute read

如果因為一些原因,你需要自行在 RIB 裏頭產生一段 camera 相關的參數來(像是使用 prman 的 multi-camera 這個 13.5 才有的新功能),那這篇文章就是在提示你,怎麼搞懂 RIB 裏頭,camera 會用到的 transformation, perspective 參數乃至於 screenwindow。
Transformation 取出 camera 的 worldInverseMatrix 這個屬性出來(用 mel 或 python 都可),它是一個 matrix。然後因為 RenderMan 是使用左手座標系統,而 Maya 是使用右手座標系統,所以你還得把這個 matrix 的第三行(直行橫列)的值變為相反數,亦即把第三行的值(m[2] m[6] m[10] and m[14])乘上 -1。
Perspective RenderMan’s “perspective” camera FOV = rad_to_deg(2*atan((xres/yres)*12.7/cam.focalLength))
ScreenWindow 這部分,可以參考我的好同事 Mao 所寫的一篇 blog。
感謝 Dan Maas 的解說 :)

1 minute read

一封來自公司福委會的信:
各位同仁大家好:
瓦力(WALL•E)是皮克斯(Pixar)的第九部動畫長片,由海底總動員(Finding Nemo)的導演Andrew Stanton所執導,是一部描述一台打掃機器人「瓦力」的動畫。
皮克斯的動畫一向都是有著好口碑、老少咸宜、適合全家觀賞的好電影,其動畫的技術與技巧更是同仁們值得學習觀摩的好對象。為了讓各位同仁有機會在第一時間觀賞到這部皮克斯的年度鉅作,並給予各位同仁最好的觀賞品質,公司及職工福利委員將於電影首映日7/25晚上包下西門町的今日數位影城第一廳,並且提供爆米花及可樂,讓大家吃的安心,看的盡興。
為了能讓各位同仁可以跟親朋好友一同觀看「瓦力」,此次活動將會發給每位同仁兩張該場次的電影票,除了各位同仁自己以外,還可以另外邀請一位您的家人、朋友、伴侶一同前來。
由於本電影欣賞會屬於包戲廳的性質,因此自由入座,毋需劃位。
詳細的場次時間(會在晚上7:00~7:30之間開始)及交通資訊,將會在下週初另外公佈,並且同時發放電影票。敬請
各位將時間空出來,感謝各位。
職工福利委員會關心您

1 minute read

Quick Answer:
from pymel import * # Is the object.attr a source of a connection? len(object.tx.inputs()) > 0 # Is the object.attr the destination of a connection? len(object.tx.outputs()) > 0 # List an object.attr's source connection, meaning, list the input connection. # This will return a single object.attr. object.tx.inputs() # List an object.attr's destination connection, meaning, list the all output connections: # This could return multiple object.attrs. object.tx.outputs() # In other words, you can just use inputs() and outputs() to get if there is a connection # (source or destination), how many connections there are, and what they are!

3 minute read

The quick answer is as below:
from pymel import * filter( lambda n: 'light' in n.classification(), ls(sl=True, dag=True, leaf=True)) In pymel’s google group, there are 2 people giving different opinions for this and the following are from their post:
take out the ‘sl=True’ by using pymel’s “selected()” function by Ofer Koren
from pymel import * filter( lambda n: 'light' in n.classification(), selected(dag=True, leaf=True)) Doing it through the API requires more code but is considerably faster by Dean Edmonds

Recent posts

Categories

About

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