note.x

[PV3D][Blender]レンダーベイキングでラジオシティもどき

bake_texture.swf(要:FlashPlayer9)

オレの環境だと△1000あたりが限界ということがわかったので、なるべく少ないポリゴン数で情報量を上げる手段を模索してみる。高品位なレンダリング結果をテクスチャにするっていうMayaか何かのチュートリアルがPV3D向けに公開されてたのを思い出したんで、Blenderでも同じような事ができないかどうかやってみた。使ったBlenderのバージョンは2.45。

■ザックリすぎるメモ

  1. とりあえずモデリング。ローポリで十分。
  2. UVマップを作る。UV/Image Editorは後でも使うのでそのまま表示しておく。
  3. ラジオシティの光源用オブジェクトを作る。法線の向きに注意。光源用オブジェクトのマテリアル設定 – Shadersパネルの「Emit」を「0」以外の数値にして、光源として定義する。
  4. 表示モデルと光源用オブジェクトを選択して、Radiosityパネルの「CollectMeshes」をクリック、Caluculationパネルが表示されるので、「GO」をクリックして計算開始。しばし待つ。計算が終わったら「FaceFilter」「ElementFilter」などで微調整。
  5. RadioToolパネルの「Add new Meshes」を押してメッシュ分割・頂点カラー焼き付け済みのオブジェクトを新規追加(この時、元のオブジェクトとは別のレイヤー選んでおく)
  6. 「Free Radio Data」を押して通常モードに戻る。
  7. Radiosityパネル使って出来上がったオブジェクトを選んで「UV Face Select」モードに切り替え。全Faceを選択。最初に作ったUVマップが継承されてるので、UV/Image EditorのImageメニューから「New」を選んで空ビットマップを作成。
  8. SceneのBakeパネルで「Bake」を押すとUV/Image Editor上にレンダリングされる。
  9. でき上がったテクスチャを保存、実際に使うローポリオブジェクトに適用しておしまい。

■参考情報
JBDP – モデリングツールとしてのラジオシティ
Blenderで3DCG制作日記 操作メモ – レンダーベイキング
python, mesh 3d coordinates to uv, texture baker

これイイかも。
ヘタにマシンパワー食う処理とか使わなくても十分見てられるし、フォトリアル系に傾倒してるわけじゃないけど、一手間かけるだけで随分と質感が変わるのがステキ。


Trackback URL : http://blog.r3c7.net/as3-software-rendering/123/trackback/

COMMENTS

  1. てんごく - 2007.11.09 15:23:11

    アイディアですね。
    イダタキです☆

  2. qreature - 2007.11.12 8:48:41

    ブログにコメントありがとうございます!
    びっくりしました(笑) いつも参考にさせてもらってまっす。

    実行する環境で大事なこと書き忘れてました。

    まずswfは上の方のobj_Stars_fps.swf
    んでマウスカーソルを視点がまったく動かない、一番中心に持っていって3~5分ぐらい
    待っていると、私の環境ではそうなります。マウスが中心でなくてもなる時もありますが。

    マシンの環境は WinXP Home, Athron64 3200+ Firefox2.0.0.9, FlashPlayer9,0,45,0 です。
    CPUとかかな~と思い、ノートPCでも試したんですが同じ現象。
    ノートの環境は WinXP Home, CeleronM 1.73G Firefox2.0.0.9, FlashPlayer9,0,45,0 です。
    暇があれば別の環境探して試そうと思います。

    人のソースにケチつけといて環境のせいなら申し訳ない;

  3. qreature - 2007.11.12 10:26:17

    すみません。テストを繰り返した結果、マウスとかじゃなくてFlashPlayerのバージョンが原因でした。
    FlashPlayerを9.0.47にすると時間に関係なく動くようです。
    逆に9.0.45だと、マウスがどこにあろうが、カメラが原点にあると数分でエラーを吐きました。

  4. rect - 2007.11.12 15:53:32

    >qreature さん

    レポートありがとうございますー。
    件の問題はFlashPlayer依存ということ(で良いのかちょっと不安ですけど)が解って大収穫です。コンテンツとして正式に公開するならSWFObjectなどで、キチンとリビジョンまでチェックしないとですね。

  5. qreature - 2007.11.13 7:52:15

    そうですね。リビジョンは確認しようと思います。でも見る環境をあまり
    限定したくないので、カメラをずらす方向で考えたいと思います。
    問題については私も自分で検証しただけでは自信がないので、他でも検証して
    もらえると確信が持てるんですが、FlashPlayerの古いのが落ちてるかどうか;

    でもアドバイスはとても参考になりました。感謝です!

  6. rect - 2007.11.13 18:37:41

    >qreature さん

    あらためて調べてみたら、r45だけじゃなくてr28でも、同じ問題が起こりました。なので、qreature さんのおっしゃる通り、原点にカメラを置かないことで対処するのが一番良さそうです。原点にさえ配置しなければ、リビジョンの違いに関係なく正常に動いてるっぽいので。(長時間耐久やったらわかんないですけど)

  7. whaison - 2009.12.02 8:47:22

    ClockMaker様のご紹介でこちらにやってきました。
    とても参考になりました。ありがとうございます。
    ただ目指しているのは

    CADデータをAUTOCAD系からエクスポートして
    六画大王でもBlenderでもMayaでもLitewave3D でも3DSMAXでもいいから
    ローポリモデリングし
    daeに書き出して 3Dデータの携帯電話の商品の3D表示という 

    PV3Dのギリギリを超えてきそうなうちの会社の社長の要望があったからそんな事をしらべています昇給するらしいのです。出来ると。(笑)

Leave a Reply