因為我不幸的被我女朋友點到名了,
所以就要玩這個以幸福為名的??(請自由想像)遊戲.....
幸福點名,遊戲規則如下:
A. 被點到名字的要在自己的部落格里寫下自己的答案,然後去掉一個你最不喜歡的問題再加上一個你的問題,仍然組成20個問題,傳給其他8個人,列出其他8個需要回答問題的人的名字,還要到這8個人的部落格里留言通知對方——你被點名了,完成遊戲的人將會得到不可預知的好運。
B. 這8個人要在自己的部落格里駐明是從哪裡接到的,並且再傳給其他8個人,讓遊戲繼續下去,不得回傳。
C. 若同時被2個人點名,或先後被二個以上的人點名,可以只回答一次。
1. 你認為分手後的男女朋友還能做普通朋友嗎?
AnS:我不會因為我辦不到就說不行,世界上還是很多心胸開闊的人
2. 最近最鬱悶的事?
AnS:肚子越來越大了
3. 世界末日就在明天,你最想做的一件事是什麼?
AnS:把所有的奸商跟政客幹掉,世界末日有99%是他們造成的.
4.如果要被變成動物,妳要變成什麼?
AnS:貓,感覺每天都很慵懶
5. 如果你是1億元頭彩的得主?
AnS:那我會希望那張彩券是在英國買的,不是在印尼.
6. 你能為你的國家做什麼?
AnS:誠實納稅,希望這些腐敗的政客不要拿我的錢去綁庄腳。
7. 你的另一半做過什麼讓你最感動的事?
AnS:每逢紀念日的手工紀念品
8. 會介意戀人/老公/老婆有談心的異性朋友嗎?
AnS:不一定,要看那個異性朋友我喜不喜歡
9. 如果可以對過去你曾經傷害過的人說些話,你最想說的是什麼?
AnS:如果是無心的,請原諒我。如果我是故意的,那就沒什麼好說的,除非有一天我認為是我錯,才會想說些什麼話吧.
10. 和戀人/老公/老婆吵架後,通常多久/幾天和好?
AnS:馬上,因為生命不應該浪費在這麼負面情緒上,就算是爭論,也該是在理性的時候做討論.
11. 戀人/老公/老婆讓你最欣賞的優點是什麼?
AnS:有氣質
12. 春夏秋冬最喜歡哪個季節?為什麼?
AnS:冬天,因為泡熱水澡很舒服
13. 十年以後,你想過什麼樣的生活?你打算如何實現呢?
AnS:平平淡淡的生活,努力不要讓自己變得太功利,功利的人會不自覺的用有色眼鏡看待事物,
因而失去一些東西,而這些東西,恰恰就是平淡生活的基礎。
14.接下來想去旅行的國家或城市,為什麼?
AnS:帛琉,因為海跟夕陽很漂亮。
15. 如果可以自由選擇,你最想居住在哪個國家/城市?
AnS:台灣/中和,因為不管多晚出來,可以買到宵夜。
16. 如果要刺青,會選擇刺在哪裡/什麼圖案?
AnS:腳趾頭,刺人臉小圖,這樣以後還可以拿來當指頭玩偶逗別人玩
17. 會介意戀人/老公/老婆保留與前情人的照片/書信嗎?
AnS:我很阿Q,偷偷藏好不要被我看到就不會介意。
18. 最喜歡吃的美食/小吃/名產是什麼?
AnS:鹹酥雞吧
19. 最滿意你身上哪個部份?
AnS:眉毛(!?)
20.坐上時光機,你會如何?
AnS:趕快到明天,這樣就不用寫問卷了
小黃:雖然我覺得小黃不會鳥這種東西
白屎:這傢伙好像沒有blog
Jin:人氣部落作家,交給妳了
Clark:幫我剖析一下
飯塔:雖然妳好像有做過,可是還是要點你
水男:你應該可以寫的很好笑
bruno:誰叫妳有blog
點我名的blog: http://turnstone.spaces.live.com/
Tuesday, June 24, 2008
Monday, June 23, 2008
討厭的maya nurbs uv與renderman st
不知道為什麼,
maya nurbs的ub順序就是跟renderman的ST方向不一致,
如果UV沒有rotate,
那麼直接將ST的angle設-90度或者用mayaUV這個node,
不過如果uv有rotate就很煩人了。
以下是不負責任的maya uv轉換ST程式,
沒有仔細檢驗過,所以可能會有一些沒有mod或...的部分,
不過方向應該是正確的。
產生一個manifold類別的SLBOX,
然後定義一個float rotateAngle,
這個值跟texture2D的rotateUV填入相同的值,
這樣就OK了
float ss = s-0.5;
float tt = t-0.5;
float oAngle = atan(tt,ss);
float rad = sqrt(ss*ss+tt*tt);
float newAngle = oAngle - PI/2 - radians(rotateAngle);
result_Q = (rad*cos(newAngle)+0.5,0.5+rad*sin(newAngle),0);
maya nurbs的ub順序就是跟renderman的ST方向不一致,
如果UV沒有rotate,
那麼直接將ST的angle設-90度或者用mayaUV這個node,
不過如果uv有rotate就很煩人了。
以下是不負責任的maya uv轉換ST程式,
沒有仔細檢驗過,所以可能會有一些沒有mod或...的部分,
不過方向應該是正確的。
產生一個manifold類別的SLBOX,
然後定義一個float rotateAngle,
這個值跟texture2D的rotateUV填入相同的值,
這樣就OK了
float ss = s-0.5;
float tt = t-0.5;
float oAngle = atan(tt,ss);
float rad = sqrt(ss*ss+tt*tt);
float newAngle = oAngle - PI/2 - radians(rotateAngle);
result_Q = (rad*cos(newAngle)+0.5,0.5+rad*sin(newAngle),0);
Wednesday, June 18, 2008
利用Ribbox來製作pass
在動畫製作中,
常常需要給合成部門(comp)各種不同的pass,
假設我們將畫面分成兩層:前景(fg)與後景(bg),
也許comp需要
1.前景為matte,需要產生影子或反射在背景上。
2.前景不運算,但是需要產生影子或反射在背景上。
3. ....
其中就以1和2比較不能麻煩,
不能直接將maya的Primary Visibility還是cast shadow點一點就可以了,
這時候修改rib內容的ribbox就很好用了
在(1)的狀況,可以產生一個ribbox內容為
[if {$ELEMENTTYPE == "final"} {return "matte 1"}]
貼在前景的物件上
至於(2)的情況,
可以用visibility來控制,
一樣弄一個ribbox為
[if {$ELEMENTTYPE == "final"} {return "Attribute \"visibility\" \"int camera\" \[0\] "}]
大概這兩個是比較常出現又比較頭痛的pass,
其他pass就舉一反三吧 :)
常常需要給合成部門(comp)各種不同的pass,
假設我們將畫面分成兩層:前景(fg)與後景(bg),
也許comp需要
1.前景為matte,需要產生影子或反射在背景上。
2.前景不運算,但是需要產生影子或反射在背景上。
3. ....
其中就以1和2比較不能麻煩,
不能直接將maya的Primary Visibility還是cast shadow點一點就可以了,
這時候修改rib內容的ribbox就很好用了
在(1)的狀況,可以產生一個ribbox內容為
[if {$ELEMENTTYPE == "final"} {return "matte 1"}]
貼在前景的物件上
至於(2)的情況,
可以用visibility來控制,
一樣弄一個ribbox為
[if {$ELEMENTTYPE == "final"} {return "Attribute \"visibility\" \"int camera\" \[0\] "}]
大概這兩個是比較常出現又比較頭痛的pass,
其他pass就舉一反三吧 :)
Friday, June 13, 2008
Render with bleed
大部分的時候,
算出來的圖都要經過comp做一些defocus的動作,
這時候出血(bleed)就很重要了,
出血一詞是印刷的用語,
意指印刷裝訂的底色,須比裁切線多出一點,
這樣裁切時就不用怕邊邊是白色的底色。
comp也有相同的問題,
在做blur等動作時,因為邊緣的地方沒有足夠的資訊,
因此blur後會有問題。
假設原圖如下
在blur之後會在邊緣有問題
如果是有做出血
做完blur之後再裁切成原本尺寸則沒有這個問題
至於要怎麼設定出血才不會跟focal length等的設定跑掉,
這時候需要設定camera的cameraScale參數,
比如設定1.1,就是會比原來的畫面多出0.1倍的畫面,
這時候最好去更改render的解析度,改成原本的1.1倍。
例如原本是800x600,這時候新的解析度為880x660。
然後等做完comp之後在將圖crop成800x600就是原本camera看到的樣子,
(左右各crop 40,上下crop 30)
這樣的設定Renderman的mtor也吃,
不過如果是自己弄Rib的話,
是將原本的Format變大,
例如原本是 "Format 800 600 1",要改成 "Format 880 660 1",
然後原本的是ScreenWindow是 "ScreenWindow -1 1 -0.75 0.75",
要改成 "ScreenWindow -1.1 1.1 -0.825 0.825",
這樣就OK了,
至於為什麼是這個值,
是因為 600/800 = 0.75,所以原本的screen是-1 1 -0.75 0.75,
新的X部分是880/800=1.1倍,y是660/800=0.825,
所以是 -1 1 -0.825 0.825。
這樣出血設定就OK了。
算出來的圖都要經過comp做一些defocus的動作,
這時候出血(bleed)就很重要了,
出血一詞是印刷的用語,
意指印刷裝訂的底色,須比裁切線多出一點,
這樣裁切時就不用怕邊邊是白色的底色。
comp也有相同的問題,
在做blur等動作時,因為邊緣的地方沒有足夠的資訊,
因此blur後會有問題。
假設原圖如下
在blur之後會在邊緣有問題
如果是有做出血
做完blur之後再裁切成原本尺寸則沒有這個問題
至於要怎麼設定出血才不會跟focal length等的設定跑掉,
這時候需要設定camera的cameraScale參數,
比如設定1.1,就是會比原來的畫面多出0.1倍的畫面,
這時候最好去更改render的解析度,改成原本的1.1倍。
例如原本是800x600,這時候新的解析度為880x660。
然後等做完comp之後在將圖crop成800x600就是原本camera看到的樣子,
(左右各crop 40,上下crop 30)
這樣的設定Renderman的mtor也吃,
不過如果是自己弄Rib的話,
是將原本的Format變大,
例如原本是 "Format 800 600 1",要改成 "Format 880 660 1",
然後原本的是ScreenWindow是 "ScreenWindow -1 1 -0.75 0.75",
要改成 "ScreenWindow -1.1 1.1 -0.825 0.825",
這樣就OK了,
至於為什麼是這個值,
是因為 600/800 = 0.75,所以原本的screen是-1 1 -0.75 0.75,
新的X部分是880/800=1.1倍,y是660/800=0.825,
所以是 -1 1 -0.825 0.825。
這樣出血設定就OK了。
Thursday, June 12, 2008
善用filter
因為很懶,所以很久沒有新內容了,
最近因為算的東西用了許多的displacement,
而且displacement bound都開的蠻大的,
造成了運算的時間還蠻久的,
可是mtor預設是算shadow map也會算Displacement,
所以就造成了運算shadow map時間還比較久一點,
以目前我這個case其實shadow部分有沒有displacement並不是那麼重要,
是可以偷時間的地方,
所以就去看了一下文件。
在mtor產生rib的時候,會在一些地方加入filter來控制要不要加入某些元素,
就可以裡用這個架構來做一些修正,
利用加入Attribute來控制rib真正的內容,
幾個比較重要的有
RATFilterSurface, RATFilterLightSource, RATFilterVolume,
user:RATFilterSurface, user:RATFilterDisplacement
所以如果我們不要加入displacement資訊,
就可以加入一個ribbox取名frame或world,
然後內容填上
Attribute "user" "uniform int RATFilterDisplacement" \[1\]
這樣displacement資訊就會被filter掉了。
當然啦,這樣一定不只算shadow時不會有displacement,
連算圖的時後也不會有displacement。
所以如果單純只是要shadow不產生displacement,
可以改用ribboxAdapter,
這時候ribboxAdapter取名frame或world,
Controller選ElementType,
然後新產生一個condition,
將 * 改成 shadow,然後連上一個ribbox,
然後內容填上
Attribute "user" "uniform int RATFilterDisplacement" \[1\]
(記得這時候的ribbox請不要取frame或world)
同樣的這樣也可以也可以做surface的置換,
做shadow pass就不用拔來拔去了。
最近因為算的東西用了許多的displacement,
而且displacement bound都開的蠻大的,
造成了運算的時間還蠻久的,
可是mtor預設是算shadow map也會算Displacement,
所以就造成了運算shadow map時間還比較久一點,
以目前我這個case其實shadow部分有沒有displacement並不是那麼重要,
是可以偷時間的地方,
所以就去看了一下文件。
在mtor產生rib的時候,會在一些地方加入filter來控制要不要加入某些元素,
就可以裡用這個架構來做一些修正,
利用加入Attribute來控制rib真正的內容,
幾個比較重要的有
RATFilterSurface, RATFilterLightSource, RATFilterVolume,
user:RATFilterSurface, user:RATFilterDisplacement
所以如果我們不要加入displacement資訊,
就可以加入一個ribbox取名frame或world,
然後內容填上
Attribute "user" "uniform int RATFilterDisplacement" \[1\]
這樣displacement資訊就會被filter掉了。
當然啦,這樣一定不只算shadow時不會有displacement,
連算圖的時後也不會有displacement。
所以如果單純只是要shadow不產生displacement,
可以改用ribboxAdapter,
這時候ribboxAdapter取名frame或world,
Controller選ElementType,
然後新產生一個condition,
將 * 改成 shadow,然後連上一個ribbox,
然後內容填上
Attribute "user" "uniform int RATFilterDisplacement" \[1\]
(記得這時候的ribbox請不要取frame或world)
同樣的這樣也可以也可以做surface的置換,
做shadow pass就不用拔來拔去了。
Subscribe to:
Posts (Atom)