htVRMapMerge ver.1.1

イラディアンスマップのマージ。バージョン少しアップです。機能は変わらずで実行に必要な各ファイルが入力されていない時の対処だけです。

ダウンロード:htVRMapMerge11

動作確認はmax9ですからねっ!

あまり使いどころはありませんが、複数選択できるファイルダイアログを.Net オブジェクトで対処してます。スクリプト作成の参考にはなるかも。

使い方。

「#maxroot/ui/macroscript」へコピーし起動したら「ユーザインターフェースのカスタマイズ」です。「CANPLAIZE」カテゴリにあります。

0.) imapviewer.exeのパスを指定(初回のみ)
1.) マージしたい.vrmapをリストに追加(選択ダイアログではCtrlやShiftで複数選択可能です。)
2.) 出力ファイル名を指定

で「Merge」ボタンです。

初期設定を「htVRMapMerge.ini」というファイルへ保存します。場所はユーザ毎のプラグイン設定ディレクトリになります。場所はどこかと言うと、スクリプトリスナーから、

getdir #plugcfg

を実行すると判ります。


htVRMapMerge.ms – merging Irradiance maps

大急ぎで作成です。複数のイラディアンスマップをマージします。実際にはV-Ray付属のimapviewer.exeを起動してマージ処理をさせるだけ、、、

突貫工事で

マクロスクリプトです。「#maxroot/ui/macroscript」へコピーし起動したら「ユーザインターフェースのカスタマイズ」です。「CANPLAIZE」カテゴリにあります。

0.) imapviewer.exeのパスを指定(初回のみ)
1.) マージしたい.vrmapをリストに追加(選択ダイアログではCtrlやShiftで複数選択可能です。)
2.) 出力ファイル名を指定

で「Merge」ボタンです。

エラーのチェック部分を作っていませ~ん。0~2の項目が設定されてなくても「Merge」ボタンは押せちゃいますし実行しようとします。また、imapviewer.exeへのパスは半角スペースが含まれていても動きますが、読み込みするvrmapや書き出すvrmapのパスにスペースがあると動かないんです。ダブルクォーテーションで囲ってみたりしましたけどダメ。

リストボックスに横スクロールがつかないとか、max9環境でつくりました、とか、、、

つまり僕以外にはガラクタですね。お好きにドーゾ、実行も改変も再配布もね。全て自己責任でお願いいたします。

htVRMapMerge.zip

最新版はhtVRMapMerge ver.1.1

初期設定を「htVRMapMerge.ini」というファイルへ保存します。場所は環境によって異なりますが、MAXScriptリスナーで

getdir #plugcfg

を実行すると分かります。


V-Ray: Irradiance map interpolation

似たようなタイトルで以前にも書いてますね。

今回の制作で初めてフレーム補間使ってみたのですが、昨日も書いたとおり問題が発生です。

テストシーン

ウォークスルーアニメをレンダリングする場合、アンチフリッカーのためにイラディアンスマップ(.vrmap)をあらかじめ計算して保存おき、それをフレーム間で補間させて本レンダリングします。

下はテスト用に出力したvrmapです。1ファイル2.5MB程度ですが、本制作で使用するvrmapのサイズは約30MBになります。

あらかじめ計算された.vrmapファイル

「Interp. frames」を「2」に設定しているので、前後2フレームと現在時のフレームとあわせて5フレーム150MBになります。10台のPCでネットワークレンダリングすると、vrmapを収めている共有ストレージは時間差はあるものの1.5GBものファイルの転送要求を受け付けることになります。

とまぁ計算が適当ですが、実際、ファイルの転送が追いつかなくって効率が落ちレンダリングが始まらない事態になっちゃいました。残念ながらvrmapの共有はあきらめ、各レンダリングPCのローカルへ配置してやる必要が出てきました、、、というお話です。

バッチファイルを書けば事足りるんですけどね。今後もこういうことがあるならGUI付のフォルダ同期ソフトを作る必要があるなと。同期ソフトはたくさん公開されていますが、動作が逆なのが必要なんですよね。

1つのサーバがあって複数が同期しにくれば同じ問題におちいります。1対1で順番にしかも『こちらから』同期をしてあげるそんなやつ。

どっかにないかなぁ。