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);

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就舉一反三吧 :)

Friday, June 13, 2008

Render with bleed

大部分的時候,
算出來的圖都要經過comp做一些defocus的動作,
這時候出血(bleed)就很重要了,
出血一詞是印刷的用語,
意指印刷裝訂的底色,須比裁切線多出一點,
這樣裁切時就不用怕邊邊是白色的底色。
comp也有相同的問題,
在做blur等動作時,因為邊緣的地方沒有足夠的資訊,
因此blur後會有問題。

假設原圖如下
1
在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就不用拔來拔去了。

Thursday, June 28, 2007

UberLight parameter mapping

width -> tan($CONEANGLE)
height -> tan($CONEANGLE)

將ShapeLightVolume函式中呼叫clipSuperellipse的參數由
clipSuperellipse(...,width, height,width+wedge, height+hedge, roundness); 改成
clipSuperellipse(...,width-wedge, height-hedge,width, height, roundness);

再將
wedge -> tan($PENUMBRAANGLE)
hedge -> tan($PENUMBRAANGLE)

$CONEANGLE 為 maya中(coneAnle+penumbraAngle)/2/360*PI

How to determine shader working in slim icon preview or normal prman render

通常Shader如果在rat slim palette中做一些事情會讓整個rat crash掉,
例如bake3d這個function,
或者是需要在preview的時候做一些取巧的小步驟,
這時候就需要判斷現在是rat的internal render還是一般的prman render,
比較傳統的做法是shdader code是genrate出來的,
這樣就可以利用Context來做一些區分,
可是這樣的Shader要寫一堆的output,
而且如果本來的shader就不是這樣寫的就需要花很多的工夫改寫,

這時候可以用option()這個function來作弊,
仔細看preview產生的rib內容,
會發現他會設定 Option "user" "int PreviewRender" [1]
這一般的Render並不會這個otion,
所以可以藉由 option("user:PreviewRender", isPreviewRender) 來做判斷,
這樣應該大部分的情況都可以適用吧!

---------------------------------------------
Some operations will make rat crash in rat slim internal render, like bake3D().
Sometimes we also want to do some trick in preview render.
How to determine shader working environment become very important.
In general case, we can use "Context" to get the environment.
If we want to use this approach, we will write very output to generate code.
If the original shader is rsl shader, it spends a lot time for converting to slim TCL code.

We can do some trikc by using option function.
The preview rib code contains such line:
Option "user" "int PreviewRender" [1]
General prman render didn't set this option.
Therefore, option("user:PreviewRender", isPreviewRender) will get the setting.
I think it would work fine in general case.

Wednesday, June 20, 2007

沒有計劃的旅遊:鶯歌 & 石門水庫

2007/06/16 (午後雷陣雨)

難得的端午4天連假,
一定要好好的玩一下,
原本計劃要去搭火車去花蓮玩,
不過我實在太小看返鄉的人潮了,
竟然在開始預訂火車票的當天就賣光光了,
所以想了一想,就改變目的地,
來去拉拉山。

因為麗玲有一個很好的朋友要結婚了,
所以我們想說也許可以去鶯歌找一些有意義的陶瓷藝品,
可以當作新婚賀禮。
因此就決定第一天去鶯歌做陶瓷,
然後夜宿拉拉山附近,隔天一早就可以去拉拉山逛逛神木區,
下午再去大溪晃晃,然後就可以很完美的結束這個旅程。

如果一切都可以這麼順利,就不會說是沒有計劃的旅遊了。
一開始的打算是要騎摩托車出發,
一來機動性高,二來沿路風景優美,不想要困在汽車這個鐵箱子。
可惜天公不做美,
星期六出發的時候天氣雲層超厚,
感覺就像會下大雨的樣子,所以摩托車計劃就被腰斬了,
第二選擇就是租汽車,
當然啦,細心的我一定會檢查一下需要帶的東西,
結果頓時發現---- 我的汽車駕照剛好過期..... :(
這樣子就應該沒有辦法租車了,
跟麗玲討論了一下,
鶯歌陶瓷老街從火車站步行過去一下子就到了,
所以就臨時決定先搭火車出發到鶯歌,
之後要往拉拉山就搭小黃,錢也不會比租車多多少。

很順利的,在台北車站買到了兩張往鶯歌的坐票,
在火車上瞇一下,不用半個小時就到了,
到了鶯歌就開始今天的重頭戲:挑結婚賀禮,
因為結婚的新人正好一個姓郭,一個姓牛,
取諧音正好就是 "蝸牛",
所以我們尋找的目標就是以蝸牛為主題的藝品,
結果整個鶯歌老街逛下來,
只有找到一個以蝸牛為主題的東西,
還是一個青銅蝸牛造型的水龍頭,
可是誰會結婚送一個水龍頭,
再加上造型實在不佳,所以就放棄了。

這時候只好執行B計劃了,
鶯歌老街上有很多的手拉坏教室,
可以自己做東西,所以就改自己捏好了。
在來之前也是有稍微做個功課,
有一家"龍軒手拉坏"評價不錯,
所以就決定在這邊捏一個蝸牛造型的結婚賀碟。

因為燒窯陰乾都是需要時間的,
一般是要三個禮拜,
可是我們的朋友再兩個禮拜就要結婚了,
所以我們就要求一下老闆幫我們趕一下,
老闆也很阿沙力的答應了,要在兩個禮拜內燒好給我們,
真是好心的老闆。

老闆先讓我們開始從拉坏開始做起,
麗玲要做盤子,那我想了一下,我做最普通的杯子好了,
所以老闆就教我們一步步慢慢把型拉出來,


因為拉坏有特定的手勢,用力的地方也不同,
所以只見老闆不停的叫我手夾緊一點,這樣型才會出來。


這就是半成品的樣子,

看起來很不賴,可是其實大部分都是老闆拉的,
我們只是負責把手放在陶土上,
不過雖然如此,還是很有成就感。


之後就是開始放裝飾的部份了,
這時候就換成另外一個老師上場,
我們也有問一下老師要怎麼捏出一個簡單的蝸牛,
老師當場愣了一下,
他一定在想這兩個傢伙的品味怪怪的,
怎麼會想捏蝸牛,所以他不時的轉換教學,
試圖讓我們捏像天鵝這些比較有美感的東西,
不過在老師得教學下,我們也完成的奇怪的裝飾,
我的蝸牛爬藤

麗玲的蝸牛盤


麗玲的盤子下面還要加上玻璃釉,
不過就要等要燒出來才能知道了,
希望到時候能夠有信心拿出來送人當作結婚賀禮。


寫到這邊感覺還像是有計劃的旅遊,
不過再來就是沒有計劃的開始,
因為可能會下雨,所以麗玲媽媽很擔心,
說去拉拉山會比較危險,
所以我們討論一下之後就決定不過去拉拉山,
改成明天在石門水庫玩好了,
因為這時候天氣不錯,
所以我們想說到中壢或桃園租摩托車到大溪,
因為直覺中壢比較繁華,
就想說坐火車到中壢再去租車,
這樣正好租一天就可以了。
想不到這就是漫無目的的開始~~~

到了中壢,到處都是吃東西的店家,
可是就是沒有租車行,
這時候我們看到一台往大溪的客運,
就想說,那我們坐客運過去,
然後到時候再坐小黃去玩。
所以我們就坐上往石門水庫的客運,
還很厚臉皮的跟司機說我們要去石門水庫風景區玩,
要在那一站下車,最好那一站還有很不錯的旅館,
我想司機大哥也被我們兩個打敗了。
應該是第一次看到這麼沒有計劃的人吧!!

不過司機大哥還是很好心的帶我們到石門水庫的福華飯店,
我們下車的時候還很好心的告訴我們可以跟旁邊的商家說,
請福華開車來載我們。
可是我們想說天氣很好,空氣也很舒服,
再加上跟旁邊當地人問路的結果,只要走10分鐘就可以到了,
所以就打算慢慢散步過去,反正是出來玩 :)

結果走了20分鐘之後,
忽然覺得大事不妙,
因為原本以為是福華的建築物竟然只是蓋的很漂亮的民宅,
幸好旁邊有一家 "遊戲人間" 餐廳,
我們就跑過去問路了,
老闆超級好心,還請店內的工讀生騎車載我們過去,
這才到了睡覺的地方....

福華不愧是為飯店,多了很多民宿沒有的設施,
像是三溫暖,水療室,游泳池....
只可惜我們沒有帶泳衣,
所以只能用個三溫暖。




第二天一早,
因為飯店有蛋糕DIY的活動,所以我們就跑去參加了,
到那邊一看,都是爸爸媽媽帶小朋友,
只有我們兩個算年輕人,
我們需要做的第一步就是打鮮奶油,
材料飯店已經調好了,把鮮奶油打到發泡就可以了。


其實這樣打好就可以吃了,
然後看你是要做巧克力鮮奶油還是芋頭鮮奶油就加不同的料,
我們是選擇巧克力,蠻好吃的,沒有一般鮮奶油膩膩的感覺。
之後在用模子將蛋糕做成不同的形狀,
我們選了一個小象跟太陽形的模子。


最後再將辛苦打的鮮奶油塗在上面,
然後在做一下造型,就完成了。




這時候時間也快中午了,
我們想說昨天受到遊戲人間老闆的照顧,

今天中午去那邊吃好了,
說也奇怪,今天走過去很快,10幾分鐘就到了,
因為這家店是點菜的,我們又只有兩個人,
所以就點了古早味肥腸跟乾扁四季豆,
肥腸酸酸的又很Q,感覺是有一點客家薑絲大腸的改良版,
比較沒有那種酸到不行的口感,
所以雖然很大盤,我們兩個人還是喀光光。

乾扁四季豆感覺是稍微過個油後快炒,
撒上蔥花跟胡椒鹽,
十分爽口,沒有一般過鹹與過老的問題,
也不會因為太生而有一股青菜的臭青味。

老闆的女兒也在我們吃飯的時候也有問我們等會要去那裡玩,
我們就跟他說要坐小黃去石門水庫玩,
聊了一下,他就說要把摩托車借我們,
說這樣我們會玩的比較盡興,
真是超級熱情,
我們覺得很不好意思,想說要付個租金,
他卻堅持不收。
後來老闆煮完菜也有來聊一下,
他還不知道我們已經從他女兒那邊借了台摩托車,
結果他聽了我們的行程也說要把他的摩托車借給我們,
真是豪氣的父女倆,
我們想說要押個證件之類的,
老闆也說不用,真是讓我們感受到濃濃的人情味。
下次有機會一定還要品嚐他別的美食。


最後我們就借了老闆的車前往石門水庫了,
大部分的時間都是騎車逛風景,
它的道路騎起來很舒服,
會讓人忘了時光的流逝,所以我也忘了騎了多久,
不過快到阿姆坪的時候,開始飄了雨滴,
正好旁邊有看到大溪湖畔咖啡,
這家算是非常有名的店家,
所以我們就想說去那邊避避雨順便休息一下,
想不到裡面排了一堆人,
所以我們就去另外一家店:Tony House,


這家店的外觀真的不太佳,
還好裡面真的好不錯,
因為我們中午吃很飽了,所以我們就只有點飲料,
他有一區是專門喝飲料的地方,
那一區就只有我們兩個,感覺很棒,
而且沒有食物的味道,更可以感受到空氣的清新。

這時候雨開始變成超級大雨,
整個湖面都灰濛濛的,這樣一邊喝飲料,
一邊看著雨中的景色,真的很不錯。


後來開始停了,就很慶幸今天有下麼一場雨,
因為整個湖面上的小山頭都纏繞著雲霧,
很漂亮,所以我們記在這個沒有在計劃中的景點呆了很久。
唯一比較可惜的是我的相機不能把這些美景拍出十分之一美,
所以只能夠把這份感動留在心中了。



Thursday, April 26, 2007

One Light with multi-shadow

有時候需要燈光是從遠方照在空曠的地方上,
而需要產生影子的物體距離很遠,
shadow camera必須要將這些物體都涵蓋進去,
儘管已經調了angle of view物體在shadow map佔的大小還是很小,
這時候就可以讓各個局部的物體使是個別的shadow camera。
---
In some case, we want to light spacious scene.
Objects which create shadow is far far away.
Shadow camera must contain all these objects.
Therefor, object will be very tiny in shadow map.
Even we adjust angle of view...
We will want each grouped objects use there own shadow camera.


這樣做必須在燈光下面產生若干個camera,
每個camera負責不同的部份,
然後都為她們貼上shadow(MapGen->Shadow),
這樣就會產生shadow map了,
---
First, we create several camera.
Each camera contain different objects.
Then attach a MapGen->Shadow on these camera.
After these step, these camera will create shadow map.

然後在燈光的shadow部份連上一個Combine Color List,
然後每一個Element就是一個Shadow Map,
將Frequence設為never,
File由[shdmap $OBJNAME] 變更為 [shdmap cameraShape] (cameraShape為需要產生影子的camera shape名稱)
最後降這些shadow map累加起來就可以了。
---
Second, our job is to reference these shadow map.
We connect light shader shadow parameter a "Combine color list".
We add element for each shadow camera.
Each element connect a "Shadow map".
Then, set shadow map frequence as "Never".
File value change from [shdmap $OBJNAME] to [shdmap cameraShape].
(cameraShape substitute the cameara shape name )
Finally, sum all the element.


我利用這個方法做了強燈會造成多個影子的測試,
效果還可以.
---
I still do a test for multiple shadow when very strong light.
The result as follows.

maya

renderman render

Saturday, April 21, 2007

宜蘭 綠色博覽會&傳統藝術中心

2007/4/21 (晴)

這個禮拜是久違的好天氣,
也是我們規畫要去宜蘭旅遊的好日子,
成員很單純:
我,麗玲,麗玲大姊跟旻璟。
旅行的目的地也很簡單,
就是第一天去傳統藝術中心,
第二天完綠色博覽會。


因為我想每個點應該都可以玩很久,
評估了一下,
決定這一次不開車了,
改搭火車,然後去宜蘭當地租摩托車趴趴走。

不過決定得太晚,
等買到車票的時候,
只剩下兩張坐票,
還好宜蘭不遠,站一下下就到了。

到了宜蘭的時候正好12點,
該是吃午飯的時候,
來到宜蘭當然要吃肉羹啊!
我們鎖定了肉羹番,
想說租到車之後就要直接殺過去了,
但是租車行的老闆跟我們說我們住的地方 "戀戀小站" 很近,
因此就想說先去放行李好了,
這樣也不用帶著大包小包的去吃東西。

老闆果真沒有騙我,
一下子就到了住的地方,
嗯~~外觀相當舒服,瞬間就給他偷偷加了5分。
進了大門之後,
老闆娘(?)就開始很親切的為我們介紹房間的設施,
從擺設看的出來老闆相當花心思,
雖然不是很華麗,
但是處處都可以感受到老闆的用心。

老闆是走英式田園風,
因為我沒又去過英國,
無從得知像不像,
但是可以感受到一種恬靜悠閒的感覺,
另外,據常去歐洲出差的權威大師 - 旻璟的說法,
整體的用色是相當的歐式,
一般台灣是不會用這樣的裝潢配色,
果然行家一出手,便知有沒有,
老闆娘馬上透露出一道 "知音人" 的眼神,
馬上跟旻璟聊起裝潢的心得。

這時時間也到了下午兩點,
本來是想說想說去吃有名的林場肉羹,
不過看到住房有提供一份下午茶,
就臨時決定要吃完下午茶之後在前往傳藝,
至於肉羹就等晚上夜市再光顧他吧!!

結束了悠閒午茶時光,就前往了傳藝,
上次到傳藝是員工旅遊的時候,
因為行程很趕,
所以很多地方都沒有逛到,
因此這一次特地留了一個下午的時間,
打算好好探索一番。

這時候傳藝正在舉辦竹藝大展,
很多東西都很漂亮,
光逛展覽就花了很多的時間,
同時他也有搭建了一個竹子迷宮,
很不幸的,我們完全的被這個迷宮打敗了,
原本可以很快的就走出來了,
可是走的路途中,
發現裡面有很多可以蓋紀念章的地方,
所以想要蒐集到所有的章,
就幾乎走遍迷宮的每一個角落,
現在想一想,真是完全中了園方的陰謀(?)了。


後來又逛了舉人宅

裡面還有一個以前武舉人考試用的關刀,
因為已經鏽蝕了,所以很好舉起來,
不過他旁邊就有放一個等重的鐵塊,
超級重,連想要把它推動都很難了,
更別說要舉起來了,
只能說古代人真厲害。

不過在這邊花的時間都是小case,
等到了商店街才是重點,
麗玲一下子就被木頭小蛇所迷惑,
它是一隻可愛的小蛇,
有著完美的身體曲線,
麗玲很心動,
那是她看過最"親切"的小蛇,
她很想要將它買下,
可是大家卻一再地勸阻,
所以麗玲只好作罷,
直到我現在偶爾還是會被她蠻怨一下,
其實,我也挺喜歡那隻木頭小蛇的,
當時真不該阻止她。
雖然沒有買小蛇,
但還是有買一個小孩子一邊推就會一邊敲鼓的木製玩偶,
就是我背上那隻,

這個玩具還真的很有意思,
不過如果再加上木頭小蛇就更好了。

結果商店街才逛到一半,就快六點了,
總歸來看,比上次員工旅遊逛的區域還小,
連竹藝大展的展示館都還有兩三個沒有逛到,
看來下次還可以再來一次,總有一天會全部逛完的。

晚上照例就是羅東夜市,
吃完之後我們還殺到親水公園去看星星。
不過下次要學乖,要11點之後再去,
因為河對岸的探照燈很亮,
會照得眼睛很不舒服。

第二天一早,
吃過戀戀小棧的早餐就驅車前往綠色博覽會了。
扣除展覽的部分,
我們還玩了踩高撬,

在工作人員講解撇步之後,
我們四個人都成功的上高撬,
亂有成就感的。

在蝦秘館外面還有教學製作吸管蝦,
果然女生的手都很巧,
做得都比較好看,
反觀我跟旻璟,
都做得還挺奇怪的。


原住民館可以射箭,
是用那種傳統弓箭,
射起來很好玩,尤其聽到箭"咻"的一聲從指間飛出,
有一種莫名的衝動,

想說去當個獵人也不錯,
不過這個念頭走出展館之後就消失光光了。

我們在綠博停留的時間並沒有很久,
因為這次的綠博充滿了濃厚的商業氣息,
展館有很多空間都是由販賣部所佔據,
感覺並不是很好。

後來我們又去了蘇澳泡冷泉,
因為是臨時起意,
所以只有泡腳ㄚ子,

那邊的天氣讓人覺得非常舒服,
所以還小小瞇了一下~~
在涼風的吹拂之中,
踏上回家的歸途,
也結束了在宜蘭的旅程。

Tuesday, April 17, 2007

週記-2007年4月第一週

2007/4/7 (六)

天氣很不好的一個禮拜,
枉費這個禮拜有四天的連續假期,
可是天天都下雨,
看到這種濕瘩瘩的天氣,遊玩的興致都被澆熄了。
原本計劃的金山踏青也無法成行,
總之,這個鬱悶的星期。

也許是太多天窩在家裡,
麗玲終於受不了了,
加上今天只有小小的毛毛雨,
所以今天決定不要呆在台北市區,
要出去走走,正好士林官邸的玫瑰季正好在舉辦,
所以就決定跟麗玲兩個人去士林官邸走走。


我從沒來有去過士林官邸,
所以一直幻想她是一個十分幽靜的地方,
所以雖然那邊還是很漂亮,
可是到處都是吵雜的人群,
但是總覺得不是我心中的感覺,
所以都是快速的帶過,
只有在邊邊的一個竹林步道,
因為也比較少人過去,
清幽的小徑在加上一絲絲的濛濛細雨,
感覺相當慊意,
是我這次最喜歡的點。

離開了官邸之後,
就跟麗玲兩個人在附近亂走閒晃,
走著走著看到一座橋,
就在想說要不要走橋,走到天母那邊,
想想也沒有什麼事,就走了過去,
橋的下方有一座河濱公園,
整片綠油油的,感覺非常舒服,
頓時就跟麗玲兩個人衝下去了。

到了下面,看了牌子的說明,
原來這邊叫作 "雙溪河濱公園",
佔地相當的大,橫跨了五座橋,
不過腹地並不大,是相當峽長的公園,
河岸的兩旁都有規劃的綠地,
也有一些運動跟親子設施,
我們兩個也有去玩了一下下,
相當有心的一塊綠地。

我們就這樣一邊聊天,一邊沿著河濱步道散步,
沿途看到有人在河中間溪釣,
有人在慢跑,一切都那麼的悠閒自得,
讓我們不知不覺得就走到公園的盡頭,
因為這種感覺太舒服了,
所以我們還走到靠天母那邊的河岸,
從反方向在走回原點,
這一邊的河岸感覺比較有歷史,
靠南邊的河濱公園感覺是新規畫的,
花草樹木都是很年輕的感覺。
而北岸感覺很久,樹種大部份是榕樹,
有點年齡的那種,
常常走道上方就是一大片的的榕樹,
看著垂下來的鬚鬚,
別有一番滋味。
唯一美中不足的是今天沒有出太陽,
不然陽光灑瀉的樣子一定很美,
不過也因為如此,
我跟麗玲也約定了下次要在一窺她艷陽下的風貌,
感受一下雙溪河濱公園的另一風味。

結束了雙溪公園的拜訪,
我想我們兩個真的是走上癮了,
又一起手牽手走向了天母的方向,
原本是想走到天母新光三越,
可是迷路了,只有晃到大業高島屋,
就往德行東路一路走過去,
不過在迷路總會帶你找到未知的東西,
我們就在德行東路跟中山北路看到一家有排隊的中式麵點的店家,
正好也8點,該是吃飯的時候了,
這一家的豆沙小包很好吃,
是用一班小籠湯包的皮跟包法,
裡面滿滿都是豆沙,再加上皮QQ的,
相當的好吃,
也為今天的旅程畫下了句點。

Tuesday, March 20, 2007

Baking is easy

原本我要將已經算出來的occlusion或shading color bake成2D的texture都需要自己兜一堆SLBOX跟RIBBOX,
可是剛剛發現了Bakeable這個好用的shader。
----
It's a trouble for baking calculated occlusion color or some shading color as 2D texture.
I must write some SLBOX and RIBBOX for indicating what I want to baking.
Now, I fund Bakeable for dealing this routine.


在slim中的Color/Utility可以找到Bakeable這個shader,
可以在Color連入想要bake的內容,
然後將Bake Style換成texturemap,
BakeManifold的space設成ST,
render之後就可以在rmantext下找到算出來的ptc檔,
他的命名規則為${BakeAltas}_${FileContext}.ptc,
要bake的東西會存在該ptc檔的_color channel中。
可以用ptrender -size w h foo.ptc _color foo.tif 產生圖片,
簡單吧!!
----
You can find Bakable shader in Slim Color/Utility menu.
Connect the color you want to bake to the "Color" property.
Set "Bake Style" as "texturemap".
Set "BakeManifold / space" as "ST".
After render, baked ptc file will store in remantex fold.
Baking color stores in "_color" channel.

If you want to see picture, render it by ptrender.
example: ptrender -size w h foo.ptc _color foo.tif
See!!! What a easy way.

Monday, March 19, 2007

Pointbased Occulsion

在Renderman的rsl function列表中,
occlusion函式並沒有列出pointbased這個參數,
但是他確是使用pointcloud based occlusion不可或缺的設定。
--------------
In Rendernman rsl function document,
you can't see nothing about pointbased description at occulsion part.
It's very important when using pointcloud based occlusion.


如果你已經將area資訊bake到ptc檔案中的__area channel,
可以使用occlusin(P, N, samples, "filename", "xx.ptc", "pointbased", 1, ....);
這樣就會用pointbased的方式算出occlusion,而不是用raytraced的方式。
這樣的方式在連續圖片的Occlusion較不會閃。
--------------
If you have calculate area value and using bake3d to store it in a ptc "__area" channel.
When having a ptc file which stored area() information in __area channel(using bake3d function),
you can get pointcloud occlusion value by occlusion(P, N, samples, "filename", "xx.ptc", "pointbased", 1, ....).
This way will reduce image sequence flick.

Saturday, December 09, 2006

輕輕鬆鬆上傳圖片到Flickr

不需要在一張一張的用Flickr網頁的上傳方式,
一個一個browse,
然後最多上傳六張實在是太鳥了,
趕快去用Firefox的Extension: Fotofox
美美的介面,又可以加入一堆圖片,真是太爽了,
趕快去把他加入我的必裝firefox extension清單中。

安裝之後在navigation bar按照相機上傳的那個圖示
fotofox00
然後sidebar就會出現fotofox,
先選Login,然後Service選Flickr,按下Continue。
就會彈出一個視窗,
耐心點,他會連接到Flickr,
然後在按下 "OK I'LL ALLOW IT",
等網頁要求完成後再按下Finish這個按鈕。
fotofox01

然後就可以盡情的選擇圖片了,
最後在選上傳就可以了
fotofox02

Maya在windows xp不能 playblast畫面大小超過1k

今天阿喬問到我這個問題,
雖然我會解決,
不過方法都是在自己腦子裡面,
想想好像不太好,
應該是要把這些東西訴諸紀錄,
這樣不認識我的人也可以找到解決辦法

其實方法很簡單,
就單純是XP的問題,
  1. MAYA的捷徑上按右鍵選內容
  2. 選擇相容性這個tab
  3. 將"已相容模式執行這個程式"打勾
  4. 選擇Windows 2000

不要懷疑,這樣就可以了。

Friday, December 08, 2006

在Blogger beta也可以Read More...

很多人都有寫,
不過我覺的angelo的教學是寫的最清楚的!

OcculisionMap render error with super frame

如果在OcclusionMap中使用[occmap camShape otf]這個function來取得Occlusion所產生的tex,
可是如果在super frame或是Dist+Render的情況下,且輸出的圖片長寬比不為1:1,
會將Screen算錯,就會變成有上下變形的情況,
看來OcclusionMap是廢掉了,雖然Pixar說他解決了了這Bug。

目前試過的解決辦法:
  1. 懷疑是occmap有問題,不使用occmap這個function,直接打rmantex/$JOBNAME.camShape.$F4.tex
    • 失敗
  2. 於palette中加入一個名為frame的ribbox,修改ScreenWindow的值,使他不為-1 1 -0.75 0.75
    • 失敗
  3. 將Occlusion的image type設成Final image,然後先算一次,取得occ image,然後將他手動轉成tex檔,在access設定為normal然後用Image File來讀圖。
    • 成功,可是比較麻煩,要render兩次
  4. 綜合1和3的方法,在OcclusionMap中填入[txmake rmantex/$JOBNAME.camShape.otf.$F4.tex -smode black -tmode black -resize up-]
    • 成功

txmake on local

Preflight commands can now be run remotely, based on compute location in RenderMan Globals.

In previous releases, even when selecting distributed rendering, preflight operations and resultant texture and shadow creation always took place on the local processor. In RAT 5.5.1, if the compute location is set to "remote", the standalone mtor preflight job will be run remotely. The resultant commands from the preflight expand (generally txmake commands) will run either locally or remotely depending upon an entry in the mtor.ini file.

In order for expanded commands within the preflight to run remotely you must define a service key entry for

"TxMakeSvc"

in the mtor.ini file. This is not set by default.

Leaving the TxMakeSvc defined as {} in the mtor.ini file (default configuration) will cause the txmake commands to be run on the local processor.

A suitable choice may be pixarRender (although a render slot will be consumed during txmake in this case) or simply define a custom service key and allocate appropriate servers in the alfred.schedule file.

Monday, November 27, 2006

手環王 - 遼西小戟 ★★★☆


老套的開始,嶄新的創意

書名還蠻俗的,照理來說是根本不會拿起來看的那種類型,
我也不知道那跟筋錯亂了才會把他拿起來,
翻了一下,嗯...還好有把他拿起來,
不然就錯失一本不錯的小說了,
故事的開頭很老套,跟他的書名有得拼,
就是一個小乞兒-凱西洛洛 揀到一個神奇的手環,
然後就開始他神奇的一生,
唉~要不是實在沒有什東西可以看了,
一定會把他放回原位。

不過他接下來的設定不錯,
手環裡面住著一個五百年前令人聞之色變的盜賊-老鬼莫飛斯,
因為去偷這個手環而被封印在裡面,
衝著這個被封印進去的靈魂(?)是個老頭子,
不是個年輕貌美的小姑娘,
心理瞬間對他的評價迅速提升,
我最討厭那種寄宿個劍靈之類的設定,
天天主人長,主人短的叫來叫去,
搞的那麼西斯...

反正老鬼就一心想把凱西洛洛培養成小偷,
還不斷的告誡他一些行規,
例如小偷遇到另外一個小偷,
要請他吃飯一定不能用身上的錢,
不然就是瞧不起對方,
要用扒來的錢包裡面的錢來付賬。
這些設定都還蠻有趣的,
目前出到第二集,
有越來越好的趨勢。

Thursday, November 23, 2006

褻瀆 - 煙雨江南 ★★★★☆


一本可以隨之起舞的小說,拙者認為是最近以來網路小說最優秀的


褻瀆是我非常喜歡的一本小說,
不過這本小說倒是毀譽參半,
喜歡的人很喜歡,不喜歡他的人非常排斥,
因為他的內容並不是那麼的光明面,
不是那種正義必勝的熱血內容,
也不是無腦式暴強的幸運主角。

主角的性格簡單的來說就是世儈,
然後就是非常的死心眼,
就是一般的雜魚腳色的性格,
不過整個世界的設定非常的好,
不像許多小說單純的為了好掰,
或是讓主角無限的爽而去架空世界,
他的故事有意思就在於他的世界觀,
探討神、信仰、空間與普羅大眾之間的關係,
非常的有意思。

作者的文筆也非常的好,
不是那種拼命記流水帳的小說,
常常一小段文章中就有一些比較飄逸(或是抽象)的詩句??
加深了許多想像。
至於量的部分我覺得還蠻洽當的,
不會太多會讓我覺得只是單純的在玩詞藻堆積。
非常推薦,目前已經全部完結。

Renderman ribgen & remote render

最近因為在寫毛的ribgen,
通常毛隨便也是幾十萬幾百萬根,
所以gen rib要花很久的時間,
因此就把腦筋動到remote gen rib & render,
然後慘劇就發生,一直render失敗。

我本還還以為remote不支援ribgen DSO,
可是看他原本的mtorFur又可以正常的work,
結果今天下午就在debug中度過了,
最後發現,我在這個ribgen中有呼叫一個自己寫的maya command plugin,
我在裡面有印一些訊息在standard output,
然後這些訊息,被寫入到alfred的script中,
當 alfred想去執行這個script時就會執行這些debug message,
把他當作command處理。

後來我把他都mark起來,就可以跑了,
確記,以後不要在把訊息輸出到stardard output,
丟到standard error,
這樣才不會在renderman remote render才不會有問題。