!!!独り言日記 !!木造校舎(2007/11/30) 今月の独り言日記は画像だらけになってしまいました。これで今月は最後のアップ。 中学校時代に一時期1年間くらい木造校舎で授業を受けたことがありまして、なんかその雰囲気が(当時は何も感じなかったのですが)好きだなぁ、いずれはレンダリングしてみたいなぁというのがあったため、WinOSiにて試してみました。 もちろん、Maxwellのサイトにリンクがあった教室シーンにインスパイヤされたのもあります(^_^;;。 {{ref_image winosi_kyositu_20071130.png}} 今週、ずっとレンダリングしていたやつです。Pentium4 2.8GHz/Mem 512MBのWinXPマシンにて、114時間。 手前の机のノイズが消えてないですが、時間かけてもあんまり変わらないなということでアップです。 面光源として、前と後ろの窓の部分から2つ分、廊下側手前(教室の入り口)から1つ分、の計3つのみです。ほかの光源はありません。WinOSiでは四角形は三角形として認識してますので3 x 2 = 6光源として処理されてるようでした。 モデリング自身はShadeにて小一時間くらい。なんの参考も見ずに記憶だけで配置しているため、いろいろ(記憶が)抜けている部分がありますね。 今考えれば、天井はどんな感じだったのか覚えていなかったりします。床に関しては、木目のある木がイカダを真っ平らにしたみたいに並んでいたのを鮮明に記憶してます。 なんで、10円でも落とそうものなら木の隙間に入り込むことはしばしば。 椅子は背もたれ無しの椅子でした。 在学中に木造校舎は壊されたのですが、なぜ木造校舎に移動していたのだろう、その記憶は曖昧で覚えていないです。もしかしたら、一度木造校舎体験をしてもらいたい、という学校の計らいだったのかもしれません。 自分の世代はすでに木造校舎のない時代ですので(幼稚園でも)、貴重な体験ではありましたね。 ということで、記憶の片隅をうろ覚えでレンダリングするのは意外にも楽しいなと思いました。あんまりCGらしいCGでなくて、好きなものをモデリングしてレンダリングする、ってのも面白いですよ。今考えてみれば、これくらいならラジオシティで再現できるのかなという気もしてきましたが(^_^;;。 懐古好きな自分にとっては、空気感の出るレンダラはやはりおいしいなぁと。しかし、未だにemissionの調整がよくわからん・・・。 !!100時間突破(2007/11/29) {{ref_image winosi_dlg_20071129.png}} 3ケタ突破です。まだノイズが気になります、消えるのかなぁ。だんだんノイズの減りも鈍くなってきたような。PCがそろそろ心配なのでリタイアするか。 !!メタセコユーザになりました(2007/11/28) 仕事場で登録メールを送って自宅に帰ってくると、早くも返事がありました。 ということで、晴れてメタセコユーザに。個人使用だと2台までならインストールできますので、仕事場と自宅で使っていけそうです。 !!77時間経過(2007/11/28) まだまだノイズ消えず。気長に待ってます。手前の一部を除いてはノイズの気配すらないです。アニメーションしてもちらつきはなさげですね、というか、1フレームで数十時間かかるとアニメーションでもしようものならえらい時間がかかりそうです(^_^;;。 1秒24フレームとしても、1フレーム3日でレンダリングと想定すると、、2ヶ月。 けど、一度でいいから動かしてみたいなぁ。 !!45時間経過(2007/11/27) まだノイズ消えず、でも確実に減ってはきています。1週間はかけないといけないのかも。 と、WinOSiの表記が32ビットの境界を越えたからかバグってきました。 {{ref_image winosi_dlg_20071127.png}} !!FRAGILE(2007/11/26) 情報公開されてました。 http://fragile.namco-ch.net/ 廃墟ものでワクワクしてて、リアル系かと思ったらICOっぽい雰囲気ですね、これはこれでアリですが。 !!30時間くらいレンダリング中(2007/11/26) CPUの片隅でひたすらWinOSiのレンダリングさせているのですが、暗い部分のノイズがなかなか消えない・・。400x300 pixelのあんまり大きくない、かつポリゴン数がそんなに多くないシーンです。レンダリング速度は、エリアライトの大きさにも依存するのかなという感じが。後、明暗の激しいシーン(特に手前が暗いシーン)だとノイズ出やすいかな。ただ、徐々にきれいになってるようですので、できるまで寝かせてみよう。遅くても後数日、速くても明日の昼以降か(^_^;;。という見通しがつくのもこの手の終わらないレンダラの強みかも。 さすがに時間をかけているからかきれいな気がしてます、空気感というか写真っぽい雰囲気は出てるかも。 Maxwellの作品であったようなシーンをまねてみたのですが、ノイズが消えるのが楽しみです。 Shadeは静止画には強いんだし、中の人はカメラ好きでしょうから(GIはちとはしょり過ぎな気もするけど)、こっち方面に力を入れたらどうだろう。フォトリアルが今現在需要あるのか分からないけど、1週間くらいまでなら寝て極上品質が出るなら私みたいな気長で中途半端な趣味人間には満足だったりもする。 でも、たしかにレンダリングは時間はかかりますねぇ。でも昔は数日待つのが当たり前だったんですよ(苦笑)。それで球とか円柱のみのプリミティブなシーンだけだったりとか。いい時代になったもんです。 ということで、さらにMaxwellを買いたい気持ちがみなぎってきた気がします。どうも、複数のサブ光源を置いてそれっぽく、なんならIBL一つで天空囲ってまかなうべし、っていう今の主流(?)は苦手というか自分自身面倒だったりするので、素直なレンダラは正直ほしい、趣味でですけど。あくまでも個人的な意見ですが、、、高解像度のHDR素材を持ってる人がよりフォトリアルの高見に上ることができる、なんてのはセコいんではないかと(^_^;;。しかし、フリーで落ちてないもんすかね・・・。 !!メタセコ(2007/11/25) WinOSiのレンダリングの合間に。ペルソナ3のアイギスさんを習作として作ってたのがあったので、3Dアトリエから移行中。 {{ref_image meta_ig_20071125.jpg}} 3DアトリエからLWO形式でインポートしたのですが、メタセコ内で一つのオブジェクトにまとまってしまいますねぇ。ということで分離。 今のところ、3Dアトリエのほうが自分的には使いやすいのですが住めば都かな。しばらく修行することにします。 と、シェアウェア版が早速ほしくなったので購入しよう。ここぞという機能がみごとにシェア化してますねぇ(^_^;;。平行投影と透視図の切り替えがないと(一面でいいので)、自分としては頂点の位置あわせしにくいのですが、、、無料版では使えない、おぅっ。 追記:シェアウェア版の未登録状態でも三面図は機能しました。けど登録したほうがいろいろできそうですね。 !!やっぱりemissionがへん(2007/11/25) それっぽいシーンを作ってレンダリングしていますが、emissionに関して もうちょっと調整してみます。WinOSiでemissionの値を小さくすれば光が強くなることもあり、私自身大いに勘違いしているような気もします。 !!レンダリングリベンジ(2007/11/25) もう一度WinOSiにてミクをレンダリングしました。オリジナルのShadeでのパストレレンダリングです(レンダリングは5分)。 {{ref_image shade_miku_20071125.jpg}} WinOSi(Celeron 1GHz/Mem512MBにて12時間) {{ref_image winosi_miku_20071125.jpg}} 3時間くらいレンダリングしたところで経過を見ていたのですが、その段階で明るいノイズは出てませんでした(以前は妙に明るいピクセルが消えなかった)。重なっていたポリゴンを除去して純粋に閉じているポリゴンメッシュになったからかもしれませんね。 メタセコのインポータをブラッシュアップしたのが効いたような。 ただ、ちゃぶ台のティーポットの下の黒い部分が気になります。 なんか自身のレンダラ開発の勉強のためにWinOSiを掘っていたのですが、レンダリングすること自体が楽しかったりします(本来の目的からずれてますが(汗))。レンダリングしてみたいシーンがMaxwellの作品であって、WinOSiでもできそうな気がしますので試してみようと思います。MaxwellはSDKがあるので、あと機能も豊富でしょうからやっぱりほしいなぁと揺れてます(Maxwellはスタンドアロンなんで、たとえばShadeをシーンエディタとして使うならMaxwell形式の吐き出しをSDKを使って作ればいいわけですし)。 今はWinOSiで実験的なシーンをレンダリングしてるだけですが、現実的なシーンを作ればもっと説得力でそうな気が。妙にリアルな空気感(?)が表現できるのがすごいなぁと。 !!mqo Importer for Shade9(2007/11/24) [[mqoImporter|mqoImporter_shade]]を公開しました。 メタセコのmqo形式のファイルをShadeにてインポートします。Shade9専用プラグインです。Windows/Mac OS Xどちらでも使えます。 いろいろ実験する形状がメタセコ形式のほうが多いのと、仕事場でも メタセコを仲介したほうが都合がいいため開発しました(どっちかというとWinOSiの実験用なんで、Shadeはシーンの配置だけのためにしか使ってない(^_^;;)。せっかくなんでソースも梱包しています。 ここでは告知してないですが、常に視点を向くビルボードプラグイン「FakeFog」のほうは、一部仕事で使うソースを流用しているのがあるのでソースは非公開としています。 !!副産物 (2007/11/24) メタセコイアの形状。 {{ref_image metasequoia_img_01.jpg}} Shadeにインポート。 {{ref_image shade_mqo_img_01.jpg}} もうしばらくしたら公開予定です。WinOSiのときに暫定的に作ったやつをブラッシュアップ中です。ポリゴン形式はなんだかんだ言ってメタセコが使いやすいですので。 で、作ってて思ったのですが、Shadeは以下の機能が弱いですね。メタセコはもちろん対応されてます。 *頂点カラー(リアルタイム用の偽GIで使いたい) *片面のみレンダリング(トゥーン表現時に重宝) *マテリアルを面ごとに設定 一つ目と二つ目はShadeではどうしようもないため、無視。実験していたはちゅねミクさんは、背面カリングにて真っ黒としていた面があったので再度WinOSiにてリベンジ予定(あってはいけないポリゴンごとレンダリングしてしまってました)。 三番目のマテリアルを面ごとに、はShadeではそのような機能がないので1つのオブジェクトを別オブジェクトに分けて表面材質設定で対応してます。 私自身はメタセコは使ってなくて3Dアトリエを未だにモデリング用のツールで主に使ってるのですが、UV設定が面倒なのとやっぱりユーザがいないのもあって、そろそろメタセコに移ろうかと思ってます。 !!廃墟探索RPG (2007/11/19) http://fragile.namco-ch.net/ Wiiで発売するんだそうな。SIRENのような雰囲気で探検だけするのがやりたい(アクション苦手なんで)、なんて思ってたらどんぴしゃじゃないですか。 あんまりWii自身はやりたいゲームがなくて興味持ててなかったのですが、これは惹かれる・・・。 後、Shadeフォーラムでちらっと書いた霧系プラグイン(雲を突き進むようなエフェクト)は「FakeFog」という命名に決定。すぐにできるとは思いますが、今週に開発突っ走ってみようかと。すみません、仕事が立て込んでいたので土日はこれの開発できませんでした。 後、WinOSi関連のサイトはLiveSearchではご本家を抜いてこちらのサイトがトップになってました、順番としてまずいだろうとは思いますけど(^_^;;。画像もひっかかってきましたね。ということで、精度がよさげな検索エンジンはやっぱりLiveSearchなのかな? クロールは過疎ってる(失礼)WinOSiの画像で実験してみたのですが、さすがというか、一ヶ月もしないうちに画像検索できてますし。 テキストに関してはどの検索エンジンも数日で拾ってきてますね。 GoogleやYahooは、画像検索では数ヶ月単位のクロールでしたっけ?Google様サイコー、の私だったのですが、検索エンジンで決して強い(性能がいい)わけではないってのが分かったような気もしてます。 ミク検索騒動のときは陰謀論もありましたけど、、、なんか検索エンジンの性能の気がしないでもないなぁ(陰謀もありそうですけどね(^_^;;)。しかし、最近のニコニコのミク動画は飽きることがないです(歌に限らず)。すごい人が多いなぁと関心してます。歌手だったらすさまじいリリース数ですね。 !!徹夜+3日集中 (2007/11/15) 仕事の締め切りがもうすぐなのにもかかわらず、間に合うかというギリギリの時期に 新しい機能を実装中。むちゃくちゃ苦労しました(^_^;;。 スケジュールの線引きをミスったか、空いてるときにWinOSiをいじってる時間を仕事に回しておきゃよかったかな(汗)。でも期限には間に合ってるので万事OK? 物理衝突なんですがリアルタイムにしないといけないのと、めり込みと細かい揺れに 悩まされてました(ODEはとある部分(というか速度)に弱いので使えないのですよ)。 反復使わない理論ができるかも、と思ったのですがいろんな部分が線形ではないですねぇ。ということで結局反復で精度を上げることに。おかげさまで誤差は1e-4以下なんですが、今度は「揺れ」。 停止していても揺れるのはなんとか抑えられないかなぁということで、意外と物理的な「停止(接地とか)」って不安定なんだと再認識。 結局全体的に平均を取ってスムージングすればなんとか落ち着いた感じ。これにちょっと毛を生やせばクロスシミュレーションができるんだよなぁと思いながら、趣味方向に走らないように興味を押さえました。 ということで、なにをやっているのやらという内容でした。いただいているバグ報告にタッチする余裕がなかったのですが、実装優先で進めてからなんとか対応していけるかな。あと、もう少しでゴールです。 スケジュールは計画的に、と自身の肝に銘じました。このプロジェクトも自信作なので気合入れてます。 当たり前ですが睡眠したら解決策が浮かびましたね。やっぱり徹夜なんてするもんじゃないや(集中が途切れるのがいやなんで徹夜しちゃいましたが、爆睡してからのほうが効率が良かった(^_^;;)。 !!Mac版も予定してます (2007/11/14) 今、WinOSiの御本家を見たら、Downloadの下のほうにMac OS Xでビルドするための パッチがありますね。バイナリも公開してほしいなぁ。 vmdExporterはOS Xにも対応予定にはしてますので(ビルドするだけですが)、 また時間を見つけてOS Xでチェックすることにしてみます。 自宅・仕事場の両方のマシン数台の中で、今のところIntelMacマシンが一番速いですのでレンダリングには最適化もしれないですし。Leopardで動くかな? !!WinOSi vmd Exporter for Shade9 Ver 1.00 (2007/11/14) [[vmdExporterのページ|vmdExporter_shade]] にて公開しました。 今はWindows版のみです。ソースコードも同梱していますので勉強用にもご利用くださいませ。 マテリアル配置の最終テストのレンダリング中です。 {{ref_image winosi_material_img.jpg}} たぶん時間をかければ光沢のノイズは消えると思います。 しかし、GoogleやYahoo、LiveSearchで「WinOSi」で画像検索しても 実験画像以外はでてこないですね。それを打破できれば面白いかなぁというのもあって、 後、初音ミク検索騒動で起こったクロールのタイミングをちと見てみたいなぁというのもあって、下心あってのWinOSiエクスポートプラグイン開発だったりもします(^_^;;。 そのため、日記ではわざとWinOSiの単語と画像を連呼させてもらいました。 さてはて、どうなることやら。 ちなみにLiveSearchのサイト検索では、WinOSiのご本家の次にこのサイトが・・・。 いいのか、こんなレベルでランクアップされてしまって(汗)。 !!最終チェック用レンダリング・その2(2007/11/12) 間接照明の回り込みっぽい表現。 {{ref_image winosi_structure_20071112.jpg}} レンダリング時間 8時間(Pentium4 2.8GHz/Mem512MBの仕事場のマシンにて)。 ずいぶん現実っぽい感じになったかな。窓から入った月の光が室内を照らしている、ってのがやりたかったのでそんな感じで光源配置してます。 それと差し込む光はさりげなくGIでは苦手な表現ではあるのですが、きれいに出てますね。 Shadeでも同じのを試したのですが真っ暗になりました。 なんとなくですが、Shadeの性質として間接照明の反射は2〜3回で打ち切ってるんでしょうか?どうも回り込みが苦手な気がしないでもないです。 WinOSi試していて思ったのが、RedQueenのような感じでなんかワクワクしながら試してます。質感が似てる気がします。 できあがりが楽しみというか、ほとんどは寝てるときにレンダリングしてるのですが気になって起きて確認したりだとか。遅いけどきれいなのは自分にはぴったり来るのかなぁとも思ったりもしてます。 ただ、WinOSiのレンダリングが全体的に青っぽいのはなんでだろう?壁の色は限りなく白に近い灰色ではあるのですが・・・。でも、この色合いでも趣があっていいかも。 ちょっと仕事のほうの開発で小難しい実装が発生したので(衝突系のアルゴリズム練ってますが、、うまいこといかん、、、)、vmdエクスポータのほうはもうしばらくお待ちくださいませ。水曜くらいリリース予定にしてます。 後、仕事場のモニタが暗いのか自宅のノートPCと(この日記に貼り付けてる)画像の色合いがまったく違うのが気になってます。本日のミクレンダリングが仕事場のモニタではどす黒いんすけど・・・。 !!最終チェック用レンダリング・その1(2007/11/12) WinOSi光沢入り。 {{ref_image winosi_miku_20071112.jpg}} レンダリング時間 7.5時間。たぶんもう少し寝かせると明るいノイズも消えるかと。 Shadeではミク形状をメタセコから読み込んでデフォルトの表面材質適用、室内っぽい壁や床・お立ち台・鏡を配置、面光源を天井に4つ配置、というシンプルなものです。 !!続・光沢(2007/11/11) 画像ばっかりで重くてすみません。 レンダリングを仕掛けて仕事に出かけて戻ってきました。 失敗レンダリングなんですが、思わぬ効果が得られてました。 {{ref_image winosi_miku_20071111_01.jpg}} 金属っぽい表現が出来てますねぇ。 Specularity = 0.500000, Exponent 21 の指定を行ったものです。Shadeのデフォルトを渡したらこのパラメータになるように調整したのですが、あまりにも光沢効きすぎてました(実は1つ前の室内の廊下シーンも同じパラメータ。どうりでCGくさいわけです)。 後、光の強さ(emission)はShadeでの光の明るさ(intensity)がmm単位の距離指定なのでWinOSiに渡すときに(座標系はすべてmに変換してvmd出力してます)0.001倍すると、それっぽいかなということにしました。 ですが、Specularity成分が0.0(スペキュラなしのlambartな状態)だとemissionを変化させてもほとんど効きませんね。後、真逆向きの光源を追加すると打ち消しあう感じも。このあたりの挙動は怪しい気がしてますが、なんとなく複数光源時の反映手段も見えてきた感じです。 一応これで数点レンダリングしてそれっぽくなればリリースしようと思います。 !!光沢(2007/11/11) WinOSiでは Specularity = 0.500000, Exponent 4 のようにして「Exponent」を指定すると全反射ではない光沢(鏡面反射)ができるようでしたので、これを対応してみたのですが、、、とたんにレンダリングが重くなりました。 ちょっとテストシーンが試しながらなので違うのですが、以下は光沢なし(拡散反射のみ)。約6時間レンダリング。 {{ref_image winosi_structure_20071110.jpg}} 光沢あり。約16時間レンダリング。光沢要素を加えるととたんにノイジーになるので、ノイズが消えるのか心配だったのですが思いっきり時間をかけると緩和される気配ではありそうです。でも、やたらCGくさくなりました。もっと現実っぽくなるかと思ったのですが・・。 追記:光沢が強すぎました。「Specularity = 0.500000, Exponent 21」の指定なんですが、これだとほとんど金属表現に。 {{ref_image winosi_structure_20071110_2.jpg}} 上記は両方ともWinOSiです。 これのShadeでのレンダリングは以下のようになってます。 {{ref_image shade_structure_20071111.jpg}} あいかわらずWinOSiでのemissionの法則がよく分かってないので「似せてます」といった状態です。WinOSiにコンバートしたときに光は強くなってるようではあります(ということは間違っているかな)。1+1が2にならないんだよなぁ、自分の理解が間違っているのかWinOSiの複数光源の挙動がおかしいのか・・・(どうも後者な気がする)。 テストレンダリング中にWinOSiが落ちやすかったり、シェーディングされるべき面が真っ暗になったりしたのですが、原因はいろいろつかめた感じです。 落ちやすい部分での原因と思われるのは、 *直方体形状であるのにROUNDED指定していて光があらぬ方向に行く *ギリギリの距離で配置して隙間がわずかに(1mm以下とか)ある場合 前者はFLATにすることで解決、後者は無理やり重なってもいいので隙間を埋める、で落ちにくくなったような。 真っ暗になる面があるのは、同じくROUNDEDが原因でした。 後、今月はじめに試していたミク形状は表面と裏面が裏返ってました。 メタセコはポリゴンの時計周りが表なんですね。うっかりしてました。面の表と裏もWinOSiでは判断基準にしてるみたいで(DOUBLESIDED指定でも)、妙に明るくなる部分はこれが影響していたようです。 と、Shade9のvmdプラグイン自身は完成してテストレンダリングにて最終チェック中です。 (光沢入れるとテストレンダリングでも今までの2倍はかけないとノイズが消えない・・・) !!どこまでのポリゴン数を読み込めるか(2007/11/08) 7000ポリゴンくらいのテスト(10時間くらい)。吸収パラメータを指定したのですが吸収は透過時のみ影響するのかな、明るいノイズは消えませんでした。 {{ref_image miku_20071108.jpg}} 60000ポリゴンくらいのテスト(5時間くらい)。 {{ref_image bike_20071108.jpg}} ポリゴン数が多いと読み込めないと思ってたのですが、根気強く待っていれば読み込みできました。バイクのデータはShade9付属のものです。ブーリアンは対応できないのでそれはカット。 レンダリング自体はそんな遅くはないです(といいながら数時間どころでなくPCにがんばってもらってたのですが)。 と、仕事のプログラムをしつつ負荷テストをしてみました。 若干ピクセルがおかしいのは、面が同一位置にあるのが存在してるというのも絡んでいるようでした(ミクデータはトゥーンを意識してか、結構面が重なってるのが多かったです。ノイズの原因はこれかな?)。 後、面光源の向きが異なるのが複数あると光による影響が薄れて極端に暗くなる?この部分は調査中です。上のミクのシーンは面光源を4つ配置してるのですがすべて同じ向きです。バイクのシーンで複数光源をおいたら暗くなったので、一灯にしてレンダリングしました。はて・・・? !!自由曲面対応(2007/11/07) {{ref_image winosi_20071107.jpg}} 全然時間をかけてないのでまだまだノイズが乗ってます。 これで18000ポリゴン。実際はShade9サンプルのバイクなんですが 全部入れるとWinOSiの読み込みが完了しなかったため部品だけシュールに配置してます。 「視点方向を変えると真っ黒になる」というのはWinOSiを再起動すると問題ない場合もあり、どうもWinOSiサイドに何かしら問題があるのかなという感じでした。 仕事場のマシンで試しているのですが、仕事場のデスクトップは結構うなってるので レンダリングを放置したままにするのはやめておくことに。 !!透過・屈折・コースティクス(2007/11/06) {{ref_image winosi_20071106.jpg}} 30分くらいのWinOSiテストレンダリングです。 Material "material_4" { Reflection = RGB(0.000000, 0.000000, 0.133333) Specularity = 0.010000 Transmission = 1.000000 Emission = 0.000000 ior = 1.050000 + 9.5 / (w - 156.0) } のようにして、透過・屈折が実現できましたが、Specularityを0.0にすると透過がまったく効かなくなったりします。ロシアンルーレットの拡散・反射・透過のパラメータにも思ったのですが ちと違う感じです。Transmissionが透過だよなぁ。 iorは「index of refraction」のことでようは屈折率になります。 wはwavelengthで波長、156は波長にゲタを履かせてるのかな。うっすらと虹模様が出てるのが波長の効果っぽい。 一部ポリゴンが変になるのと(上記画像のマッピングは実は変になってます)、視点方向を変えると真っ黒になる、というのが未だ原因つかめず。 追記:ポリゴンのUVが変だったのは単なるこちらの実装のミスでした。 !!片面・両面(2007/11/06) 時間がかかるため1日一回しかレンダリングできないですが、WinOSiにて試していたシーンは片面(SINGLESIDED)だったため両面(DOUBLESIDED)にしました。 ほっぺ部分が白く飛んでいた部分と一部が反映されてなかったのはこれが絡んでいたようです。 {{ref_image miku_winosi_20071106.jpg}} 寝てる間に9時間レンダリング。後、一部色が明るいピクセルがあるのとほっぺ部分の白く飛んでいる部分が見えるのが気になります。 おそらく、ですが光のレイがポリゴンに衝突したときに減衰(ポリゴンの立場で言うと吸収)してないから延々と光量が保たれてしまってるのかなぁと思ってます。 ということで、吸収のパラメータをいじって再度リベンジしてみます。 牛歩前進なんですが(ほとんどがテストレンダリング。プログラムはたいしたことしてないです)、たぶん来週半ばにはWinOSi形式エクスポータとして公開できる、かな。 !!12時間経過(2007/11/05) 半日レンダリングで寝かしてみました。やっぱしきれいですね。 {{ref_image miku_winosi_20071105.jpg}} WinOSi(Celeron 1GHz/Mem512MBのWindows XPにて)。 後、やっぱり一部のUVずれてました。たぶん重なるUVを頂点増やして対応したときにバグ入ったのかと思います(WinOSiの問題ではないです)。 !!続・WinOSiのテスト(2007/11/04) UVマップのテスト。データとしてPhinox.netさんのはちゅねミクをお借りしてます。 メタセコのデータなので、それ用のShadeインポータを書いて取り込みました。 お立ち台に立ってもらって天井から4つの面光源を配置してます。 {{ref_image miku_shade_wire_20071104.jpg}} しかし、Shadeでのインポートできる形式ってえらい少ないですね。UVがまともにやりとりできるものがあればいいのですが・・・。 Obj形式もエラーが出てうまいこといきませんでしたし。 !Shadeでのパストレレンダリング イラディアンスキャッシュありのデフォルトです。 面光源が増えるとアウトですかねぇ。やたらCGくさくなってます。 {{ref_image miku_shade_20071104.jpg}} !WinOSiにてレンダリング(2.5時間ほど。Celeron 1GHz/Mem512MBのVAIO noteにて) {{ref_image miku_winosi_20071104.jpg}} 普通の拡散反射しか行われてないのですが、なんかリアルかもしれない。 Shadeのは結構バイアスがかかっていて暗くなるのは昔っからなんですが、一度他のレンダラでどうなるのか見てみたいところ。UVの指定ミスったかな、ヘッドホンの部分とネクタイの下あたりがテクスチャがおかしくなったような。 後、ほっぺのグルグルはアルファで抜いている部分になってます。WinOSiでは対応できない部分となってますのでベタ塗り状態です。 WinOSiは明日までレンダリングを寝かせてみようとずっとCPU酷使中です。 また半日経過後のものを日記に貼り付けることにします。 数点WinOSiの使用で気になった点。 !UV値は頂点ごとに割り振らないといけない(1頂点に1UV) 面の個々の頂点ごとにUVを指定する仕様ではない、というのはちと実用としては厳しいかも。 開発中のShadeからWinOSiのエクスポータでは頂点を増やして、UVが重ならないように細工してます(はちゅねミク形状で頂点数がオリジナルの2倍近くになってしまいました)。 リアルタイム系ではよくあるパターンなんですが、オフライン系ではこの仕様のものは少ないと思いますので、レンダラ書きの方は要注意かもしれませんね。何回かこの手のに出くわしてるのですが正直めんどくさい(^_^;;。 !UVのV値が逆 メタセコ→Shadeは座標系が同じなのですんなり行ったのですが、WinOSiはZ-upというのに加えてV値が逆転してました(DirectXもそうでしたけ?)。 とりあえずテクスチャの垂直方向を逆転させて出すようにして対応しようかな。 スペクトルの効果かどうかは分からないですが、空気感というか「そこにある感じ」がレンダリングできるのは非常に楽しいですね。IBLでごまかさなくても単なる面光源でこの品質ってのは自分としては革命的です(それで苦労しているクリエイタさんは多いと思いますので)。 後、この形状のレンダリングではWinOSiでも結構速いです。うさぎの形状よりポリゴン数はあるのですが、、、違いがあるとすれば凸凹が激しいかどうか、なのでしょうか。 これくらいならじっくり待っていてナイス画像が出るなら、まだ待ってられるかなぁと個人的には思います。 後、昨日の日記に書いた「光の減衰」なんですが、よくよく考えると「距離により減衰するのかなぁ」という疑問も浮かんだのと、昔パストレの実装実験をしてたときに明るさの指定ってしたっけ?距離減衰してたっけ?というのがあったのでちと悩んでみることにします。 もしかしたら、空気があるので距離で減衰したように距離の二乗でうんたら、が出てきてるのかもしれない。現実は空気によって吸収されて、近似的に見て「距離で減衰してるように見える」のかなぁとも思ったり(物理法則ではどうなるのかは知らんですが)。 後、一応空き時間(土日とか)に掘ってるだけですので、仕事はちゃんとしてます、ご心配なく(^_^;; !!WinOSiのテスト(2007/11/03) {{ref_image shade_20071104_wire.png}} のように、組木にして光が通りにくいようにさえぎってレンダリング。面光源を1つ天井より上に配置してます。 Shade9では以下のようになります。 {{ref_image shade_20071104_01.jpg}} WinOSiでは以下のように、結構光が入りますね。こっちのほうがリアルな感じはします。 {{ref_image winosi_20071104_01.jpg}} ただ、光の減衰はどう表現するんだろう。特に指定するパラメータはないので(Emissionだけ)まだつかめないです。 後、面光源としてPolyMeshをEmissionのマテリアルを与えて配置する場合に、視点から見て放射面が見えてしまうと全体が真っ暗になる?なんかWinOSiにて変な現象がありました。 どうも、球や平面だけだとポリゴンメッシュであってもあんまり重くはならず、 複雑な形状(といっても数百ポリゴン)を食わせるととたんに重くなりますね。 !!WinOSiの裏技?(2007/11/03) 偶然発見したので。 ドームライトを実装しようと思って、 Material SunLight { Emission = 1.0 Reflection = RGB(0.980000, 0.980000, 0.980000) Specularity = 0.0 Transmission = 0.0 } SPHERE SunLight { Material SunLight, Inverse, Start = 0.0, Distribution cos_z, VISIBLE -1 SCALE 5657.142090 TRANSLATE -150.000244, -224.999847, 549.999939 } のようにしました(これは、サンプルをまねて。でも、たぶんドームというよりも全球になってるのかも)。 ここの「SPHERE SunLight」のところの「VISIBLE -1」を「VISIBLE」とすると 以下のような表現ができました。 {{ref_image winosi_pointlight_20071103.jpg}} 面積を持ってない点光源は許されないと思ったのですがいけますね。 SCALEがTRANSLATEで指定した座標を中心とした半径になってるようです。 「VISIBLE -1」の表現はちと光が当たらない場合があったりで挙動がおかしい・・・。パラメータをもうちと見つめてみよう。 なお、WinOSiではMaterialの「Reflection」が拡散反射色に値するパラメータのようですが、反射時はというと「Specularity」が反射率になってるようです。 「Emission」は発光で簡単にエリアライトが実現できます。 で、Shade9の面光源はGI(パストレ)のときは結構厳しかったりします(ただ、デフォルトでやってるのでサンプリング数増やしたりGIのパラメータを調整すればもう少し詰めることができるとは思います)。 上から天井を覆うように面光源を当ててます(画面の少し上に面光源配置)。 {{ref_image shade_arealight_20071103.jpg}} これをWinOSiで試してみると、、、 {{ref_image winosi_arealight_20071103.jpg}} さすがというか、きれいですね。 WinOSiにてかなりつまったのがあったのですが「PolyMesh」の「ROUNDED」による丸め表現、無条件に頂点を共有する面法線の平均をとっちゃいますね。 円柱や直方体での反射がぜんぜん違っていて、「あれ、Shadeと自分レンダラ間違ってる?」なんて思ってしまいました。 なんで、WinOSiでのPolyMesh形状で角がある部分は「FLAT」でしないと正常にはなりません。 !!vmd形式エクスポータ(2007/11/01) 本日の仕事ノルマが一段落したのでWinOSiをいじってます。 形状を配置するのが面倒なので、WinOSiのvmd形式をはき出すプラグインをShade9にて開発中。とりあえず、配置だけはなんとなくできました。 {{ref_image shade_winosi_20071101.jpg}} 左上のレンダリングがWinOSi、右下がShadeのイラディアンスキャッシュなしのパストレです。 ただ、マテリアルはWinOSiでの仕様がまだ分からないのが多いのでぜんぜん同じにはなってません。 試行錯誤した結果「吸収」ってのが大事っぽいですね。 あくまで仕事とは関係のない実験用ですので、完成したらソースごと公開します。<エクスポータ しかし、WinOSiはポリゴンメッシュ形式は著しく重いです。 このレンダリング(320x240、1200ポリゴン程度)で1時間以上。仕事中に放置して様子見してるのですが、なかなか進みませんねぇ。