rendersan参加

Bernardさんに誘われてrendersanに行ってきました。

rendersanの進行プログラムとしては

・Bernardさんとrendersanの紹介

・平光さんによるレンダーマンシェーダーの基本

・PIXARのPeterさんによるPIXAR社内バーチャルツアー

・SGIジャパンさんによる商品紹介

・東京GAF Party(ビールパーティ)

平光さんのシェーダー講座ではRSL(Renderman Shading Language)の解説をしていました。今回はかなり基本的な事なんでしょうけど僕は全くシェーダを書いた事が無いのでどういうものなのか垣間見える事が出来ました。シェーダーの言語自体は比較的簡単そうですが、いざ色々なシェーダーを書こうと思ったら高度な数学も必要になってくるんでしょうね。

去年の映画プロジェクトで3Delightの開発者のAghiles氏が来日して質問会があったときに「アンビエントオクルジョンのパラメーターが足らない」と誰かが要望を出したときに、Aghiles氏がテキストエディターで5分くらいでその場で何か高速で書き足して。

「はい、今バージョンアップしました」みたいな事をやっていて、スゲー!ってなっていたんです。あれはRSLでパラメーターを書き加えたんだなと。

その後のPeterさんは、PIXAR社内のバーチャルツアーをやってくれました。僕がVE研に居たときにPIXARのワークフローの調査結果を聞くカリキュラムがあって(実際に行って聞いてきているらしい)、ワークフローなんかもある程度知っていたのですが、今回はPIXARの設備やスタッフの待遇なんかもいくつか聞けて楽しかったです。

PIXARが一度引っ越した事があるらしいんですがその理由が近くにあった石油工場がたまに事故で爆発するので怖くて引越ししたとかいってました。聞いていた外国人の人が爆笑してました。

Peterさんは日本語が話せないので杉山さんが通訳をしてくれました。

僕も日ごろの英語の勉強を生かそうとヒアリングしてみましたが1/3も聞き取れなかったです。まだまだ英語の道のりは長いですね。

SGIさんの商品紹介は数十個のコアが入るレンダーファーム(?)の紹介をしていました。quadoroが何枚か入るようにカスタムしてあるみたいで凄いモンスターマシンでした。廊下にO2やoctaneが置いてありました。最初にCG会社に入ったときはoctaneやO2でやっていたので懐かしかったです。

最後のTokyo GAF Partyですが、これはrendersanとは別でrendermanに興味が無い人でも集まれるようにGAF Partyという名前にして色々な人を呼んでいたようです。色々な人といっても、Game、Animation、FILMの業界限定のようで、その頭文字を取ってGAFなんだそうです。総勢60人以上はいたでしょうか。また、ここでも外国の方が沢山いて、正直尻込みしてしまいました。早く片言でも話せるようになりたいです。

参加者の中にSyoyo Fujitaさんや杉山明さん、PIXARの社員のPeterさんなど名だたる方々が集まってとても楽しかったです。特に杉山さん。僕は暇なときはSIのマニュアルを読むほどのsoftimage野郎で杉山さんのサイトには入り浸っていました。会社も技術サポート費をケチって色々代理店に聞けなったので凄く助かっていたんですよねえ。もっと色々な人と話したかったのですが店員にみんな店員に追い出されるように出て行きました。またTokyo GAFがあれば参加しようと思います。

最新のrendermanのribアーカイブはアニメに対応?

代理店の人に聞いた話ですがどうやら次のrendermanのRIB Archiveはアニメーションに対応しているらしいです。

ということはMAYAで作ったアニメーションをRIB Archiveで吐き出してhoudiniに持っていったり出来るという事みたいです。

逆にhoudiniで作った群集やパーティクル的なものをRIB Archive経由でMAYAに持っていって背景やモデルなどと一緒にレンダリング出来ると言う事じゃないですか。凄いじゃないですか。

同じ事がMAXとMAYAのvrayproxyで出来る事を先日ブログで書いたんですが、rendermanじゃあアニメに対応してないから無理だなーなんて言っていた矢先なのでビックリです。

RIBarchive可能な群集のレンダリングを爆速にするためのチェックポイント

The Making of World of Warcraft(http://www.cgchannel.com/news/viewfeature.jsp?newsid=8144&pageid=0#)の群集のデモが出たので思いついたようにtips。

「RIBarchive可能な群集のレンダリングを爆速にするためのチェックポイント」

・RIBarchiveを作るときはテクスチャーの形式はレンダーマン用マップ形式にすべて変換(例えば3delightの場合はTDL形式に変換)

・RIBarchiveを作るときのRIBのリンク先はレンダリングするマシンのローカルドライブにする。つまりローカルドライブのプロジェクトで作る。(後でスクリプトでテクスチャのリンクを一気に変えやすいようにRIBはバイナリ形式にしないのも手かも)

・最終的に集めたシーンにはRIBarchive以外のモデルは入れない。骨やコントローラーはOK。

・シーン内にマテリアルもテクスチャーも一切無いようにする。(これが一番重要。もしなんらかの理由でモデルが削除出来ず少しテクスチャがある場合もちゃんとローカルになっているかFileTextureManager.melなどで要チェックhttp://www.highend3d.com/maya/downloads/mel_scripts/rendering/misc/1012.html

・念のためレンダリング先はローカルドライブ。画像が壊れなければネットワーク上でもOK。

うちはこれで30分以上かかっていたレンダリングが2分とかになりました。

ただRIBarchiveを作るのってアンビエントオクルージョン用のRIBarchiveを作ってあげなければいけないからめんどくさいよね。

MAYAレンダーマン系のRenderPassについてまじめに考える

3delightというかレンダーマンは毎フレームRIBを吐き出さなければいけないという条件がある。

これがRenderPassが1つだけならいいんだが複数あるとそのぶんRIBを吐かなければいけない。今回出しているpassは

1、rgbaやreflectionなどデフォルトのパス群

2、オークルージョン、ノーマルなどののシェーダー用パス群

3、マスク用カラーパス

4、T光用パス

5、地面だけの落ち影用パス

と5つも出している。

もしこのカットが100fあれば1fにつきribを吐き出すのに5分かかるとするとそれだけで

5(min)*5(pass)*100(f)=2500(min)

            =約41.6(h)

とRIB吐き出しだけで42時間ほどかかってしまう。これにレンダリングの時間が加算される。当然ribアーカイブを使えば良いという意見もあるがスキニングやデフォメーションされたオブジェクトには使用出来ないので辛い。

ただし例えばvrayだと全くこんな事が無いかと言われればそんな事は無くてレンダーエレメントでオークルージョンを扱うことが出来ないし落ち影を出す場合もレンダーエレメントだけでは対応できない。

やはり3回ほどレンダリングしなければいけないので煩雑になるのは避けられない。

(たぶん続く)