0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Houdini x APEX】Fuse Graph を使ったAPEXリギングの学習 覚書2

0
Last updated at Posted at 2026-05-07

はじめに

前回の続きです
https://qiita.com/maxima_hikky/items/8e7b0992b821f5c657a8

ここで扱うのは以下です

  • 親子付け
  • 抽象コントローラー、成分の分離

変更点

名前

Rig Doctorでつけた連番の名前だと分かりづらいので
skeltonの名前の変更をしました
image.png

APEX Configure Controls の追加

Graphの中でコントローラーの形や色の変更をするとノードが増えてごちゃごちゃするので
APEX Configure Controlsを最後に追加して変更するようにしました
image.png

コントローラーについて

  • Transform Object node がコントローラー
  • そのコントローラーを動かしたり表示するには必要に応じてt,r,sのいずれかをpromoteする必要がある
  • promoteするにはinputが必要であり、inputの名前はparmsが推奨されている

image.png

  • Transform Object nodeの名前
    APEX Configure ControlsでつけたControl group にpatternがマッチしていれば
    APEX Configure Controlsで定義したコントローラーの外観になる

image.png

作成したコントローラーは以下でトランスフォームを変更できる(テスト用)

T : 移動
R : 回転
E : スケール
N : リセット

パラメーター名の変更

一部のノードのパラメーター名は中ボタンクリックで変更できる
t t1 t2 などの名前だと区別がつかないので適宜変更する
image.png

Fuse Graphの便利なところ

Fuse_Graphの大きな特徴として

  • Transform Object nodeの名前を既に存在しているコントローラー名にしたとき
    既存のコントローラーを参照したノードになる(新たにコントローラーは作らない)

  • Transform Object nodeの名前を存在していないコントローラー名にしたとき
    コントローラーになる

image.png

この名前による参照のおかげで
テスト用のリグを本流に合流させるといったことが簡単にできる。

親子付け

リギングの基本になる親子付けを作ります

L_shoulderの親のコントローラーの作成

image.png

これで親子付けされているけど、勿論 L_shoulder_parentをL_shoulderの位置にしたい

restlocalの設定

Value Matrix4 nodeを2つ作成しそれぞれの名前を

  • L_shoulder__REST (こっちはこの名前の必要がある)
  • Ident (こっちは何でもいいが単位行列という意味にした)

L_shoulder__REST にはL_shoulderの rest_tranform(Matrix4)を取得するという意味がある
rest_tranform(Matrix4)にはリギングに入る前のskeltonのtransformが格納されている


L_shoulder__RESTを以下のように繋ぐとこうなる
image.png

何故か?
繋ぐと分かるけどL_shouderにもL_shoulder__RESTを繋ぐと先程と結果が同じ
image.png

つまりL_shoulder__RESTが二重に影響している結果

考えてみると、
参照で持ってきたL_shoulderのrestlocalはL_shoulder__RESTのはずで当然の結果と言える


そこでIdentを繋ぐと望みの結果になる

image.png

これは、
L_shoulder__RESTを変換をしないIdentで上書きしたことで
restlocalを親のL_shoulder_parentだけが持つように修正
したということ


shouder ,elbow, wrist それぞれにコントローラーの作成と
参照は緑色、新規は黄色とノードに色付けて分かりやすくして完成!
image.png

抽象コントローラー、成分の分離

既存のスケルトンとは関係なく、
コントローラーのX方向へのドラッグで、別のコントローラーを回転させる仕組みを作ります

タイトルなし-2026-03-16 03 23 32(copy)-2026-03-29 19 30 32(copy)-2026-04-02 08 46 21(copy)-2026-04-08 07 14 39(copy)-2026-04-12 13 32 37(copy)-2026-04-21 03 35 01(copy)-3.gif

Fuse Graphの準備

親子付けの下にコピペ後 graphの中身は消去

image.png

Abstract Controlの作成

rig::Abstract Control nodeを作成後、xをpromote
image.png


Abstract ControlをMatrix4を使って移動
image.png

コントローラーの作成と成分分離

image.png

Abstract Controlのドラッグで動かすx成分を
rotateというコントローラーのy成分の回転のrestlocalに接続

コントローラーの外観と制限の追加

Abstract Controlの最小最大制限が初期だと-10 10なので 回転にふさわしいように-180 180 に変更して完成!
image.png

Quaternionを使ったやり方

image.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?