Tips

チュートリアル / How to系

れっつPoserFusion! − とりあえずFusion −

まえがき

「Shadeはバージョン7.5から、Poserのシーンファイルを読み込むことができるPoserFusionという機能が追加されました。加えて、Poserで標準的に使用されているWavefrontOBJ形式の入出力をサポートしたことで、両ソフト間の連携は大幅にとりやすくなったと思われます。ところが両ソフトの販売元が大々的に(?)謳っているこの機能、それなりにパフォーマンスを上げるには、Shadeをまったく知らないままでは厳しいようです。

というわけで、PoserとShadeの連携について、今の自分が把握しているところを何回かに分けて載せていきます。まずは、Poserユーザーが最初に気になる「Shadeでレンダリング」することについて。

ちなみにここでは、静止画のレンダリングを前提に説明します。書いている本人が、動画を扱っていないので……。

用意するもの

だいたいの手順

  1. Poserでシーンファイルを用意する
  2. Shadeでシーンファイルを読み込む
  3. グループ分けと材質設定をする
  4. 背景などを用意する
  5. カメラを調整する
  6. ライトティングと背景を設定する
  7. レンダリングする

Poserでファイルを用意する

図1
図1:Poserでポージング(0F〜30F)
まず、Poserでフィギュアにポーズをつけます。

今回は人物だけをPoserで用意して、背景などはShadeで簡単に付け加えることにします。ここでは、モデルの服にダイナミッククロスを使用しています。したがって、0フレーム目から始まって、30フレーム目に最終的なポーズを取っています。

ポーズをつけながら、だいたいのカメラアングルを決めてしまいましょう。厳密に決める必要はありません。PoserFusionはカメラの設定をインポートしないので、ここでカメラの設定を煮詰めてShadeで再現させるより、最初からShadeで決めた方が早いです。

図2
図2:見えないところは非表示に
「階層の編集」ウィンドウで見えないところを非表示にします。

おおまかなカメラアングルを決めたら、カメラに写らない部分を非表示にしてしまいます。PoserFusionは、Poser上で非表示になっているパーツを読み込みません。作成するのは静止画ですので、ポーズが変わることも背後にカメラが回り込むこともありません。データを軽くする意味でもカメラに写らない部分は思い切って非表示にしてしまいます。

「ウィンドウ」メニューで階層の編集ウィンドウを呼び出したら、目のマークをクリックして隠れた部分を非表示にします。

手首など、カメラに写るか写らないかの微妙な辺りは、余裕を持たせてそのままにしておきましょう。

ファイルを保存します。

Shade7.5.1のPoserFusionは、外部バイナリファイルやダイナミッククロスを読み込むことができません。ファイルを保存する前に、環境設定で外部バイナリファイルの使用をしないように設定しておいて下さい。また、ダイナミッククロスは、グルーピングツールの「新規小道具を作成」で小道具としておきましょう。

Shadeで読み込む

ファイルを保存したら、Poserを終了してShadeを起動します。

図3
図3:Poserフォルダの指定
Poserフォルダの位置を設定する

初めてPoserFusionを使用するときは、Poserのアプリケーションフォルダを指定する必要があります。「表示」>「PoserFusion」でPoserFusionパレットを呼び出し、「Poser...」ボタンをクリックして、Poser6が存在するフォルダを指定して下さい。Poserのバージョンは5でも認識します。

ウィンドウ下部のチェックは、そのままにしておきます。

図4
図4:シーンファイルを開く
「開く...」ボタンをクリックして、Poserのシーンファイルを開きます。

環境にもよりますが、読み込みが完了するまで少し時間がかかります。外部バイナリファイルやダイナミッククロスなどを使用していると、かなり待たされると思います。じっと待ちましょう。

図5
図5:読み込み直後

読み込み直後の画面です。0フレーム目の状態が読み込まれました。

目的のポーズは30フレーム目ですので、Shadeのシーンを30フレーム目まで進めます。

図6
図6:Shadeの時間を進める
表示メニューからモーションパレットを呼び出し、30フレーム目まで時間を進めます。

本当はShadeのフレームは0フレームから始まりますので、全30フレームなら29フレーム目まで進めればOKなのですが、考えるのが面倒なので30フレーム目まで進めています。フレームを変更すると、再び処理中となって読み込みに時間がかかります。どうやら、PoserFusionはフレームが移動するごとに再読み込みをかけるようです。もちろん、1フレーム目に目的のポーズがあるときは、この作業は必要ありません。

さて、30フレーム目のポーズが表示されました。「なんだか時間がかかったなぁ、とりあえず保存してしおくか」と思ったアナタ。なにはなくとも左薬指がCommand+S(Ctrl+S)と動いてしまうアナタ。

ちょっと待って下さい。悪いこと言わないから、そんな恐ろしいことはやめてください

グループ分けと材質設定をする

では、何が恐ろしいのか説明しましょう。

図7
図7:形状ごとにマテリアルが設定されている
Command+9(Ctrl+9)で、ブラウザを表示します。

ブラウザには、シーン内に存在するすべての形状が存在します。読み込んだ一つの形状をクリックして、Command+6(Ctrl+6)で表面材質ウィンドウを表示します。

一つの形状に、マテリアルが反映されていることがわかります。

Poserと異なり、Shadeではテクスチャマップはシーンファイル内部に保存されます。そしてそれは、(おそらく)非圧縮形式で保持されています。ここではその是非は問わないでおきましょう。内部に保持するのも外部参照にするのも、それぞれ長所短所がありますから。……個人的にはそろそろ外部参照にも対応して欲しいところですが。

ところで、ブラウザを見ると、フィギュアがずいぶんと細かいパーツに分かれていることがわかります。この区分けには見覚えがあります。そう、PoserFusionはObjファイルのマテリアルグループごとに形状をインポートするのです。

そして。

そのマテリアルグループごとに、テクスチャが貼ってあります。数千ピクセル四方の、非圧縮(多分)形式のテクスチャが。

これをそのまま保存しようものなら、どれだけムダに容量を喰うかわかりますね。今読み込んだJamesはまだ頭部に1枚、ボディに1枚、その他、という構成ですが、もし読み込んだのが高解像度テクスチャを使用したDAZフィギュア(これでもかと言うぐらいマテリアル分けされている)だったら、ファイルサイズは一気に数百MBを越えるものと思われます。

「なんでちゃんと読み込めないの?」とか「Shade使えねぇ」とか思うのはまあ個人の自由ですが、これは両ソフトの仕様の違いをそのまま飲み込んだものと割り切りましょう。データの欠損が起こるよりは遥かにマシです。

前向き且つ合理的なアナタは、保存する前に表面材質設定をシェイプアップしておきましょう。

図8
図8:新規パートを作成
ツールボックスのパートから、パートを作成します。

パートは空のフォルダのようなものです。このパートを入れ子状に使用したり名前をつけることで、見やすく分類します。新しく作成したパートは「Poser」とでも名前をつけて、PoserFusionで読み込んだパートの外に移動します。

図9
図9:オブジェクトを作成したパートに移動
PoserFusionのパートの中身(オブジェクト)を新しいパートに移します。

PoserFusionで読み込んだパートは、元のファイルとリンクされた状態になっています。この状態だと、元のファイルの更新を反映させたり、時間に沿って変形したりすることが可能ですが、中身を変更するのには向きません。中身のオブジェクトをリンクしたパートから出して独立させ、元ファイルとリンクしたパートは削除してしまいます。PoserFusionパレットも閉じておきましょう。

パートを作成して、形状をフィギュアごとに分類します。

口内や歯、舌などの形状もマテリアルごとに分割されています。ここでカメラに映らない形状は削除してしまいましょう。

さらにパートを作成し、テクスチャごとに形状を分類します。

カラーテクスチャは共通だがバンプマップが異なる、というような場合は、カラーテクスチャでひとまとめにしてしまいます。

パートの分類が終了したら、ここで共通するテクスチャをマスターサーフェスに登録します。マスターサーフェスというのは、複数のオブジェクトで共有できる材質のことです。Poserのマテリアルファイルと異なる点は、材質設定を変更したときに、マスターサーフェスを適用した全てのオブジェクトに即座に反映される点です。

図10
図10:マスターサーフェスの登録
目のパート内のオブジェクトを一つ選択し、表面材質ウィンドウの「登録」ボタンをクリックします。

名前を入力するテキストボックスが表示されますので、とりあえず「eye」と付けます。ブラウザの下の方に、マスターサーフェスというパートが追加され、登録した材質設定が増えています。

図11
図11:マスターサーフェスを親パートに使用する
目全体のパートを選択し、表面材質ウィンドウの「使用」リストから、登録したeyeを選択します。

パートにはマテリアルを設定することができます。これでIrisとEyeballの親パートにマスターサーフェス「eye」が適用されました。今、親パートのeyeとその中のIrisは同じマスターサーフェスeyeを共用していることになります。どちらか一方を選択して表面材質の設定を変更したら、もう一方の表面材質も変更されます。

図12
図12:子側の設定を削除
Irisを選択し、表面材質ウィンドウの「削除」ボタンで材質設定を削除します。

子パートの材質設定を削除しても、材質設定自体は残っています。Shadeでは、子パートは特に表面材質を指定しない限り、親階層に適用された材質設定をそのまま継承しています。次にEyeballの材質設定も削除してしまいましょう。Eyeballも同様に親パートeyeの材質設定を継承します。これで、一枚のテクスチャで二つのマテリアルを設定することができました。

図13
図13:項目別に個別設定できる

テクスチャは共通だが鏡面反射などのパラメータは個別に変更したいとか、ある形状にだけバンプマップを適用したいというときは、子階層の材質設定の該当項目にチェックを入れます。チェックを入れると、その項目だけ親階層から独立して設定することができるようになります。

図14
図14:表面材質設定ファイルの保存

この調子で、親階層に共通するテクスチャを適用し、子階層の材質設定を削除します。今後もよく使うと思われる材質設定などは、保存しておきましょう。

図15
図15:表面材質設定ファイルの適用

このモデルのBODYには、あらかじめShadeのパストレーシング用に調整した材質設定を適用しています。

不要なマテリアルを剥がしてしまったら、ようやくここで保存します。表面材質の細かい調整は後で良いでしょう。

図16
図16:ファイル容量の差

ちなみに、このシーンファイルを読み込み時のまま保存したものと、テクスチャを完全に削除したものとでファイルサイズを比較しました。約60MBがテクスチャの容量ということになりそうです。

長々と書いてきましたが、作業としては単純なのでそれほど時間はかからないと思います。パートも、自分で判別がつくなら名前を付ける必要はありませんし、表面材質設定ファイルに保存してあるものなら、親階層を選択して「全削除」ボタンをクリックしてから、ファイルを読み込むだけで終了です。

背景などを用意する

ではシーンを完成させていきましょう。まず見辛いので透視図のワイヤーフレーム表示をシェーディング表示に変更します。

図17
図17:背景を用意する
透視図上で「右クリック>表示モード>シェーディング」を選択します。
地面など背景を作成します。

地面は大きな長方形で作ります。周囲に何もないと寂しいので、球と長方形の回転コピーで適当なオブジェを作りました。

ホントに適当です(恐縮)。

カメラを調整する

図18
図18:カメラの作成

カメラはカメラウィンドウ(Command+3/Ctrl+3で表示)でコントロールします。透視図上でのSpace+ドラッグで、現在チェックが入っているパラメータ(視点や注視点など)を調整できます。気に入ったカメラアングルができたら、カメラウィンドウの「記憶」メニューから「カメラ」を選択し、現在のカメラ設定を保存してしまいましょう。

図19
図19:縦横比を決める
レンダリングサイズの縦横比を決める

カメラの見え方はレンダのサイズ(の縦横比)に左右されます。「表示」>「イメージウインドウ」でイメージウインドウを表示し、▼をクリックしてレンダリング設定の「イメージ」タブでだいたいの比率を入力します。ここでは、最終的なレンダリングサイズを600×800にするつもりでしたので、3:4になるよう入力しています。

Poserのフェイスカメラのようなものを使用したいときは、対象のオブジェクトを選択して、カメラウィンドウの「セット&連動」の中から注視点の「形状」ボタンをクリックすると、カメラの中心がオブジェクトを向くようになります。その形状専用のカメラを新規作成しておくと便利です。

ライトティングと背景を設定する

カメラが決まったら、試しにレンダリングしてみましょう。レンダリングしたいオブジェクトを選択してCommand+R(Ctrl+R)でレンダリングが始まります。デフォルトの設定ではレンダリングスタイルはレイトレースですが、Poserよりは早く終了すると思います。全ての形状をレンダリングするときは、Shiftキーを押下しておくと選択の手間が省けます。

図20
図20:背景とライトの設定
テストレンダリングを繰り返しながら、ライティングや背景を詰めていきます。

と言っても、今回は晴れた日の野外を想定して大域照明を使用しますので、ライティングは無限遠光源一つ、大体の角度で決めてしまいます。大域照明を使用する時は、環境光を0にします。

背景も、ちょっとしか写らないので、上半球に雲模様を設定しただけです。雲模様は設定の異なるものを2〜3枚重ねておくと、若干リアルに見えます。

表面材質の細かな調整も、ライトが決まった時点でテストレンダリングをしながら詰めていきましょう。服のテクスチャはPoserのプロージャルテクスチャを使用していたので、設定が残っていません。Shadeのプロージャルテクスチャを利用してそれっぽく設定しておきます。

レンダリングする

図21
図21:レンダリング設定
設定が終了したら、レンダリング設定を本番の設定に変更します。

レンダリングスタイルを「パストレーシング」、大域照明も「パストレーシング」、「その他」のタブで「レイトレーシングの画質」を70〜80程度に設定します。

とれぐらい時間がかかるか分からない場合は、イメージタブの解像度で、本番サイズの1/9か1/16でレンダリングしてみましょう。設定が同じなら、レンダリング時間はレンダリングの面積に比例します。大きな絵をレンダリングするなら、寝る前など余裕があるときにしましょう。

Command+Shift+R(Ctrl+Shift+R)でレンダリングを始めます。
図22
図22:レンダリングイメージの保存
終了したら、イメージウィンドウの「保存」でファイル形式を選択して保存します。

ちなみに、この設定で約4700秒(約80分)かかりました。大域照明なしのレイトレーシングなら80秒、スキャンラインなら30秒といったところです。

図23
図23:できあがり(クリックすると原寸で表示します)

というわけで、とりあえずPoserFusionとグローバルイルミネーションを使用したレンダリングができました。

▲ Tipsタイトルに戻る
◆ ホームに戻る