あまり情報がないようなので試行錯誤した結果を掲載します。最適な方法ではないかもしれません。
3dsmax9のmentalrayには8つのサテライトライセンスが付属しています。これを用いて手軽に分散レンダリングが可能です。
- アニメーションなど複数のフレームをレンダリングするときはbackburnerを用いて1フレーム目はPC1,2フレーム目はPC2と振り分ける方がはるかに効率が良いです。
- mentalrayはレンダリング領域をバケットと呼ばれる小さな領域に分けてレンダリングしていきます(デフォルトで48x48pixel)このバケットをサテライトノードに振り分けることで分散レンダリングを実現します。また、フォトンマッピング、ファイナルギャザーに関しても小さなジョブに分けてサテライトノードに振り分けて計算します。
- サテライトノードに振り分けるジョブの計算量が余り少ないと、通信にかかる時間の方が支配的になり分散レンダリングの意味がありません。
- 逆にあまり大きなジョブをサテライトノードに振り分けると、一番遅いPCに最後の一個のジョブが振り分けられてしまったときに他の早いPCが待ちぼうけを食らうなど効率が悪くなります。
- 従ってバケットサイズは1バケットの計算が3〜15秒ぐらいに納まるような大きさに決めるべきです。
- ファイヤーウォール、ウイルスバスターなどが悪さをしていることが多いようです。 全部シャットダウンしてから設定しきちんと動くのを確かめた上で、セキュリティソフトを再び動かします。
-
3dsmax9のインストールディスクを用いて分散レンダリングに使用するPC全てに3dsmax9をインストールする。
メインで使用する一台以外は30日体験版扱いになります。ところが3dsmaxのライセンスが切れていてもmentalrayのレンダリングノードはサービスとして起動しています。 3dsmax9が同時に接続できるmentalrayノードが8に制限されているので、ライセンス数に関係なく手持ちのPC全てにインストールすることも可能です。 緊急時にレンダリングノードを追加するのも、3dsmax9をインストールするだけで可能です。 3dsmax9をインストールせずにmentalrayのレンダリングノードだけインストールする方法はないようです。
- 3dsmax9(mentalrayを使用する設定にしておく)->シーンをレンダリングウインドウ->処理->ディストリビュートバケットレンダリング->ディストリビュートレンダリングにチェック。 マップを配布はチェックをつけない。全てのPCに同じディレクトリ構成でマップがコピーされていればマップを配布する必要はありません。 レンダリングノードはmax.rayhostsというファイルに列挙しておきます。"追加ボタン"をクリックしてIPアドレスを入力、ポート番号は既定値のままでOKを押すとmax.rayhostsに書き込まれます(メモ帳などで追加しても問題ありません) レンダリングノードのリスト上でノードをクリックし青くなると設定完了です。
- この状態でレンダリングするとフォトンマッピング、ファイナルギャザー、レンダリングバケット全てがレンダリングノードに小分けで転送されるようになります。(レンダリングノードでメモリ使用量やネットワークの受信パケット数を観察すると分かります)