On this page |
エージェントレイヤー
レイヤーは、個々のエージェント毎に対して、いくつか利用可能な異なった表示ジオメトリを選択することができます。 これにより、単一のエージェントクラス内で群衆に多様性を加えることができます。
レイヤーの作成
キャラクタからエージェントを作成すると、Houdiniはオリジナルのキャラクタの可視ジオメトリからデフォルトレイヤーを生成します。 Agent Layerジオメトリノードは、さらにレイヤーを追加することができます。
例えば、全体的に異なったキャラクタスキンのレイヤーを作成するには:
-
Crowd Sourceジオメトリネットワークで、Agent Layerノードを追加します。
-
Layer Bindings の隣りにある Addボタンをクリックして、バインドを追加します。
-
SOP Path に新しいキャラクタスキンを表現したジオメトリノードを設定します。
-
そのスキンの Shape Name を入力します。
-
Transform Name メニューで、リグのトップレベルのトランスフォームを選択します。
-
現行レイヤーの設定
個々のエージェントプリミティブには現行ディスプレイレイヤーがあります(またコリジョンレイヤーもあります。このレイヤーは、ダイナミクスの衝突に使用されるジオメトリです)。
-
高レベルのCrowd Sourceジオメトリノードには、群衆に現行ディスプレイレイヤーをランダムに割り当てるためのオプションがあります。
-
Source Network内にAgent Editジオメトリノードを使用することで、選択したエージェントの現行レイヤーを変更することができます。
-
WranglerまたはVOPネットワークで現行レイヤーを設定したいのであれば(例えば、エージェントがあるステート(状態)の時にエージェントのレイヤーを変更したい)、setagentcurrentlayer VEX関数またはAgent Layer Name、Agent Layers、Set Agent LayerのVOPを使用します。
Tip
レイヤーを使用すれば、低解像度のプロキシジオメトリを表示することができます。例えば、ローポリのキャラクタスキンを作成し、それをエージェントのレイヤーとしてセットアップしてから、そのローポリレイヤーをすべてのエージェントの現行レイヤーとして設定するAgent EditをCrowd Sourceネットワークのブランチに組んだとします。そのブランチをディスプレイフラグにし、"本当の"ブランチをレンダーフラグにします。
レイヤーを使ってパーツを取り付ける
各レイヤーは、まったく異なったジオメトリではありません。 各レイヤーは、リグのトランスフォームと一部のジオメトリ(形状)間に異なったバインドを設定しているだけです。 つまり、ベースレイヤーを基本に、例えば、ハンマーや剣をキャラクタの手に取り付けるバインドを追加したレイヤーを作成することができます。
-
Crowd Sourceジオメトリネットワークで、Agent Layerノードを追加します。
-
Agent Layerのパラメータで、 Source Layer をオンにして、既存レイヤー(
default
レイヤー)をベースにします。 -
Layer Bindings の隣りにある Addボタンをクリックして、バインドを追加します。
-
SOP Path に取り付けたいパーツを表現したジオメトリノードを設定します。
-
そのパーツの Shape Name を入力します。
-
Transform Name メニューで、その形状を取り付けたいトランスフォームを選択します。
-
Tip
バリエーションを加える強力な方法は、loop blockを使用して、色々なパーツ(例えば、色々な帽子)を取り付けたレイヤーを複数作成することです。
Crowd Sourceをランダム化する
Crowd Sourceノードには、 Randomize タブがあり、単一のCrowd Sourceノードでバリエーションを自動化することができます。例えば、guy
のグループですべてのエージェントに名前を付ける代わりに、 Randomize のコントロールにより、各エージェントにguy1
、guy2
、guy3
の中から1つをランダムに割り当てることができます(なお、これらの名前はそれぞれ異なるキャラクタクラスで、一連のアニメーションクリップを独自にベイクアウトする必要があります)。
アトリビュート
-
入力ポイントにエージェント関連のアトリビュートがあれば、それらのアトリビュートが新しいエージェントプリミティブにコピーされます。 これにより、上級ユーザーは複数のエージェントに対して、異なる開始条件や外観などを手動で、またはランダムに効率的に設定することが可能です。
-
Crowd Sourceジオメトリノードで、ノードの Randomize タブの制御を使用して、エージェントのスケールを変更できます(
pscale
を設定)。 ソルバはスケールを考慮し、エージェントのゲート速度を適切に変更します。エージェントの動きを遅くするには、最大速度のランダム化を試してください。 Crowd Solver DOPの Allowed variance を100%に設定すると、エージェントの速度を変更できます(これを実行しない場合、ソルバは、エージェント速度が元のゲート速度から変化する量に関して制限を設けてしまい、足が滑る原因になります)。
マテリアルスタイルシート
マテリアルスタイルシートにより、レンダリング時にエージェントのマテリアル設定を変更できます。 例えば、エージェントのテクスチャ設定をランダム化して、いろいろな外観を表現できます。