APEX
All Purpose Execution Graph
#Houdini 上でアニメーションのフレームワークを提供するオペレーター群、ネットワークコンテキスト だがむずすぎる。コンセプトを理解し実用に進むまでか~なり学習曲線は険しいフレームワークに思える、、
階層としてはSOPと同一階層に存在しており、SOP上にstashSOPなどAPEXを有効化するノードを置くと、APEXGraphが作成されコンテキストが使えるようになる
Graphノード一つと対応
見た目はVOP
(CHOPはもういらないのかな)
SOPとは独立した評価グラフ
評価グラフそれ自体がSOPとして表現される(おもしろ)
このため、Rigとは異なるAnimationの伝播図(APEX)もGeometyとして操作できるIOとなる
評価グラフの作成とグラフの実行(invoke)の分離
APEXグラフ自体へパラメータを渡すためには、dictionaryを使いバインドする
attrib adjust dictionary
辞書アトリビュートを作成するSOP
detail に param アトリビュートをつくり { foo: 0, bar: 1 }みたいな感じでいれる
用途としては、複雑なIK,FKチェインによるリグをつくり、アニメーターに対して操作しやすいインターフェースを提供するまでの作業を担っている
アニメーション作業は、scene animateとscene viewのUI操作で行える
リグが複雑でない、またはSOP内のパラメータのアニメーションのみで表現可能な場合は、そこまでAPEXに固執する必要はないのかも
SOPノード
stash
SOPをstashしてAPEXに持ってくる
APEXコンテキストへのIOっぽく振る舞う
APEXコンテキストからRigをつくり、SOP(KineFX)化する
SOP(KineFX)コンテキストからAPEXコンテキストをつくる
skeletonのようにcookが常に走るわけではない
graph
stashと似ているが、SOPを直接APEXで解釈したり作成するようなイメージ
APEXグラフをかくコンテキストが与えられる
invoke graph
APEXグラフを実行して、SOP上に結果を書き込む
APEXグラフへのパラメータのバインドもここで行う
attrib adjust dictionary
auto rig component
skeletonとskinを用意した後、fk、ikなどのリグを自動でいれてくれる
入力はskeleton、skinなどをpackして名前付けしたものを character streamとして読み込む
通常はpack folderを用いる
.shp, .skelといった拡張子をつかう
紫色のピン
Rigなどを操作するためにSceneViewにAPEXコンテキストのUIを用意してくれる
リグ操作する対象はGroupなどではなく、tagによって行う
attrib adjust arrayでタグ管理を事前にする
このノードのチェーンで、fk -> ik -> boneDeformのように連続して設定する
scene add character
scene animate
APEXグラフの制御点にキーフレームをうつ
APEXコンテキスト
SOPのノードに対応したAPEXノードがあり、SOPをgraph+invoke graphで代替できる
Ref
TestGeometry:Electraには設定済みのAPEX Componentが入っているのでこれを触ってみると良いかも