2017-12-19

Game Dev Impostor Tool


ここでは Impostor ツールを用いた アニメーションテクスチャの作成方法を紹介する。アニメーション以外の Impostor テクスチャの作成はこちらを参照のこと (結構簡単)。また Impostor ツールの使用例はこちら (3.3 IMPOSTOR (替え玉) ツール)でも紹介されていた。

なお、この記事は Houdini Advent Calendar 2017 の 19 日目の記事です。


使用したビルド: 16.5.323 (これ以降を推奨)
使用した Game Development Tool: 1.8 (以降を推奨。 1.7 では Game Terrain Tools が漏れています。)
シーンファイルへのリンクは一番下にあり。

1. インストール

Impostor ツールの Animation 機能を使うには、2017/11/7 以降の Game Development Tool の Development Branch をインストールする必要がある。 インストールに関する詳細はこちら

2. シーン作成

ここでは、Characters シェルフにあるプリセットからシーンを作成。

  1. Characters シェルフの Mocap Biped 3 をクリック。シーンにキャラクタ一体が作成されるが、パラメータを以下のように変更。
    1. Animation Type を Zombie に
    2. Zombie Clips を SideFX_Male_zombie_walk_001 に
        一つ下の Number of Frames が 24 となるクリップであればどれでも良い。
    3. Material タブ以下の Texture を 4 に (好きなので良い)。
  2. タイムスライダの最終フレームを 24 に設定。
  3. Realtime Toggle をオンにして再生すれば以下の通り。
この 24 フレームのアニメーションを 8 フレームのアニメーションに変更する。それには Time Warp ノードを使うが、HDA である mocapbiped31 の中を編集して行う方法もあるが、ここでは HDA に手を加えずに、別ノードから参照する方法を取る。
  1. Scene レベルに Geometry ノード (geo1) を追加。中に入り、そこにある File ノードを削除。
  2. Object Merge ノードを作成 (object_merge1)。
    1. Object1 に /obj/mocapbiped31/geo_skin を設定。
    2. Transform を Into This Object に設定。
  3. object_merge1 の出力から TAB->Time Warp を作成。
    1. Input Range を 1 から 24 に
    2. Output Range を 1 から 8 に
    3. Post Extend を Cycle に
  4. タイムスライダの最終フレームを 8 に設定。
  5. Scene レベルに戻り、mocapbiped31 の表示フラグ(青) をオフにし、geo1 だけが表示されるようにする。
  6. シーンを保存。ここまでが 01_setup.hip
  7. なお、このスキンジオメトリを poly reduce したい場合、Mocap Biped 3 の Geometry Type を PolySoup から Polygon にする。

3. Impostor 設定

Impostor の設定は、カメラの作成とレンダリング用の ROP ノードの作成と設定の二つで賄われる。最初にカメラを作成する。

  1. Scene レベルで、TAB->GameDev Impostor Camera Rig を実行し作成。
      出来た obj_impostor_camera_rig1 には Impostor ROP を指定するパラメータがあるので、これを次に作る必要がある。
  2. /out に行き、TAB->Impostor Texture ノードを実行し作成。rop_impostor_texture1 が出来た。
    1. Base Settings タブ以下の Render in One Image をオフ。
    2. Impostor Type を Animation
    3. Source Geometry に /obj/geo1
    4. Sprite Resolution は 128x128 (大きくしても良い)
    5. Animation Around Z Rotation は 9 (にすると45° ずつの回転となる)
    6. Animation Frame は、1 ~ 8
    7. Output Picture はデフォルトのままではなく、$HIP/render/${HIPNAME}_${OS}_${WEDGE}.$F4.png
    8. とする。
        デフォルトのままだと角度が変わっても前の角度のファイルが上書きされるだけ。
    9. Atlas の中の Pre Multiply と Beauty Map はオフにする。
    10. レンダリング時間を短縮したければ、Sampling タブ以下の Ray Variance Anti-Aliasing はオフにする。
  3. /obj に戻り、obj_impostor_camera_rig1 を選択、Impostor ROP パラメータに上で作った ROP ノード (/out/rop_impostor_texture1) を指定。
  4. シーンを保存。ここまでが 02_impostor.hip

4. Impostor レンダリング

次に実際にレンダリングを行ってみる。

  1. /out に戻り、rop_impostor_texture1 を選択、Render ボタンをクリック。
      8フレームのレンダリングが9回実行され、72枚の画像が出力される。必要なのは最後の8枚を除いた64枚。
  2. 出力した画像をまとめる方法は次回紹介したいが、ファイルはこちらにあり。

まとめ

Impostor チュートリアル

シーンファイル h165_impostor.zip (750KB)
  • 01_setup.hip: Impostor ジオメトリの設定ファイル
  • 02_impostor.hip: Impostor ROP を設定したファイル
  • 03_impostor_cop.hip: 出力した画像を1枚にまとめる COP ネットワークがあるファイル


作成: 2018-01-12

0 件のコメント:

コメントを投稿