APEXのkinefx::characterblendshapescoreはIDを用いて適用する頂点を指定出来ますか?
758 10 0-
- kurosaba
- Member
- 38 posts
- Joined: July 2018
- Offline
お世話になっております。
APEX Autorig Componentで作れるBlendshapeは、kinefx::characterblendshapescoreで変形していることを確認しました。
これには、sop::blendshapes::2.0のように、ptidattrパラメータがありませんでした。
sop::blendshapes::2.0は、ptidattrを用いることで、ブレンドシェイプメッシュによってデフォームさせたいメッシュの頂点を、
IDによる頂点番号の照合で指定することが出来ます。
非常に簡単ですが、私がやりたいことをサンプルとして用意しました。
change_all_or_head_onlyノードを、切り替えることで、ブレンドシェイプメッシュを全身か頭のみに出来ます。
これを頭のみにした場合、APEXのブレンドシェイプは壊れます。
しかし、私には頭のブレンドシェイプメッシュ以外必要ありません。
(データ量など、諸々鑑みて、全身のメッシュは不要であるため)
Character Blend Shapes SOPのワークフロー自体に、IDの概念がなさそうなので、出来ないと感じています。
ですが、もし見落としている項目があるのなら知りたいのです。
もしくは、出来ない場合、今後これがアップデートで追加されるか知りたいです。
よろしくお願いします。
APEX Autorig Componentで作れるBlendshapeは、kinefx::characterblendshapescoreで変形していることを確認しました。
これには、sop::blendshapes::2.0のように、ptidattrパラメータがありませんでした。
sop::blendshapes::2.0は、ptidattrを用いることで、ブレンドシェイプメッシュによってデフォームさせたいメッシュの頂点を、
IDによる頂点番号の照合で指定することが出来ます。
非常に簡単ですが、私がやりたいことをサンプルとして用意しました。
change_all_or_head_onlyノードを、切り替えることで、ブレンドシェイプメッシュを全身か頭のみに出来ます。
これを頭のみにした場合、APEXのブレンドシェイプは壊れます。
しかし、私には頭のブレンドシェイプメッシュ以外必要ありません。
(データ量など、諸々鑑みて、全身のメッシュは不要であるため)
Character Blend Shapes SOPのワークフロー自体に、IDの概念がなさそうなので、出来ないと感じています。
ですが、もし見落としている項目があるのなら知りたいのです。
もしくは、出来ない場合、今後これがアップデートで追加されるか知りたいです。
よろしくお願いします。
Edited by kurosaba - Oct. 13, 2025 11:01:09
-
- Ken Taki
- Staff
- 484 posts
- Joined: April 2015
- Offline
-
- kurosaba
- Member
- 38 posts
- Joined: July 2018
- Offline
画像1枚目は、change_all_or_head_onlyノードのスイッチが0の時です。
これは全身のブレンドシェイプを持っている時の条件です。
この時、blendshapeノードで、APEXビュアーステートを有効にし、deform_00スライダーリグを動かすと、
正常にブレンドシェイプしていることが確認できます。
画像2枚目は、change_all_or_head_onlyノードのスイッチが1の時です。
これは頭のみブレンドシェイプを持っている時の条件です。
この時、blendshapeノードで、APEXビュアーステートを有効にし、deform_00スライダーリグを動かすと、
ブレンドシェイが破綻していることが確認できます。
提供したサンプルでは、これを再現することが出来るようになっています。
そして、私がサンプルでやりたいことは、
「頭のみのブレンドシェイプメッシュで、ブレンドシェイプが正常に動作するようにしたい」
ということです。
これは全身のブレンドシェイプを持っている時の条件です。
この時、blendshapeノードで、APEXビュアーステートを有効にし、deform_00スライダーリグを動かすと、
正常にブレンドシェイプしていることが確認できます。
画像2枚目は、change_all_or_head_onlyノードのスイッチが1の時です。
これは頭のみブレンドシェイプを持っている時の条件です。
この時、blendshapeノードで、APEXビュアーステートを有効にし、deform_00スライダーリグを動かすと、
ブレンドシェイが破綻していることが確認できます。
提供したサンプルでは、これを再現することが出来るようになっています。
そして、私がサンプルでやりたいことは、
「頭のみのブレンドシェイプメッシュで、ブレンドシェイプが正常に動作するようにしたい」
ということです。
Edited by kurosaba - Oct. 13, 2025 11:09:47
-
- Ken Taki
- Staff
- 484 posts
- Joined: April 2015
- Offline
再現できました。150647 で登録しました。
申し訳ないですが、「手順」とは、理想的には、番号付きで箇条書きに記述された問題の再現をするために必要な最低限のステップ(手順)のことです。
詳しくは
https://www.sidefx.com/ja/forum/topic/75614/ [www.sidefx.com]
をご覧ください。引き続き宜しくお願い致します。
申し訳ないですが、「手順」とは、理想的には、番号付きで箇条書きに記述された問題の再現をするために必要な最低限のステップ(手順)のことです。
詳しくは
https://www.sidefx.com/ja/forum/topic/75614/ [www.sidefx.com]
をご覧ください。引き続き宜しくお願い致します。
-
- Ken Taki
- Staff
- 484 posts
- Joined: April 2015
- Offline
-
- kurosaba
- Member
- 38 posts
- Joined: July 2018
- Offline
ご回答頂き、ありがとうございます。
すみません、確かに下記ドキュメントにもidを用いることが出来る点が記載されていますね。
自分の失念でした。
https://www.sidefx.com/ja/docs/houdini/nodes/sop/kinefx--characterblendshapes.html [www.sidefx.com]
すみません、確かに下記ドキュメントにもidを用いることが出来る点が記載されていますね。
自分の失念でした。
https://www.sidefx.com/ja/docs/houdini/nodes/sop/kinefx--characterblendshapes.html [www.sidefx.com]
-
- kurosaba
- Member
- 38 posts
- Joined: July 2018
- Offline
試したところ、動作することが確認できました。ありがとうございます。
ただ、確認できた上で、APEX Autorig Component SOPのBlendshapeコンポーネントに追加で要望があります。
Blendshapeによるチャンネル情報をBase.skelのOutputに含めてほしいです。
具体的には、画像1枚目のような具合です。
これはCharacter Blend Shape Channels SOPのチャンネル情報と一緒です。(Detailアトリビュート)
現在のAPEX Autorig Component SOPのBlendshapeコンポーネントが構築するグラフは、この情報を出力しないようです。
結果を確認したところ、チャンネル情報をBase.skelへ記述する処理は成されていましたが、それを出力するようには接続されていないようです。
なので、2枚目のようにBlendshapeのBase.skelの情報をOutputに接続すれば、チャンネル情報がBase.skelに反映されて出力できました。
例えば、ゲームに結果を出力したい場合は、Base.shpが直接変形されるのではなく、何等か別の形式に情報が出されている方が都合が良い人も多いはずです。
手作業やカスタムスクリプトで調整出来ますが、それは敷居も高いため、この情報の出力有無を選べると良いと感じます。
見たところ、現在この情報が出力できるようになるオプションは、存在しなさそうでした。
検討して頂ければ、と思います。
【追記】
すみません、加えてもう1点質問。
下記ドキュメントのカスタムスライダーが再現できません。こちらのサンプルファイルを頂けませんか?(画像三枚目)
https://www.sidefx.com/docs/houdini/character/kinefx/animatestateblendshapes.html [www.sidefx.com]
ただ、確認できた上で、APEX Autorig Component SOPのBlendshapeコンポーネントに追加で要望があります。
Blendshapeによるチャンネル情報をBase.skelのOutputに含めてほしいです。
具体的には、画像1枚目のような具合です。
これはCharacter Blend Shape Channels SOPのチャンネル情報と一緒です。(Detailアトリビュート)
現在のAPEX Autorig Component SOPのBlendshapeコンポーネントが構築するグラフは、この情報を出力しないようです。
結果を確認したところ、チャンネル情報をBase.skelへ記述する処理は成されていましたが、それを出力するようには接続されていないようです。
なので、2枚目のようにBlendshapeのBase.skelの情報をOutputに接続すれば、チャンネル情報がBase.skelに反映されて出力できました。
例えば、ゲームに結果を出力したい場合は、Base.shpが直接変形されるのではなく、何等か別の形式に情報が出されている方が都合が良い人も多いはずです。
手作業やカスタムスクリプトで調整出来ますが、それは敷居も高いため、この情報の出力有無を選べると良いと感じます。
見たところ、現在この情報が出力できるようになるオプションは、存在しなさそうでした。
検討して頂ければ、と思います。
【追記】
すみません、加えてもう1点質問。
下記ドキュメントのカスタムスライダーが再現できません。こちらのサンプルファイルを頂けませんか?(画像三枚目)
https://www.sidefx.com/docs/houdini/character/kinefx/animatestateblendshapes.html [www.sidefx.com]
Edited by kurosaba - Oct. 18, 2025 05:34:55
-
- Ken Taki
- Staff
- 484 posts
- Joined: April 2015
- Offline
-
- kurosaba
- Member
- 38 posts
- Joined: July 2018
- Offline
-
- Ken Taki
- Staff
- 484 posts
- Joined: April 2015
- Offline
-
- kurosaba
- Member
- 38 posts
- Joined: July 2018
- Offline
失礼しました。
ただ、適切な手順が思いつかないため、サンプルを用意しました。
このサンプルにはチャンネル情報をDetailへ出力しないケースと出力するケースを用意しました。
not_have_blend_channel_infoノードはチャンネル情報をDetailに出力しません。
have_blend_channel_infoノードはチャンネル情報をDetailに出力します。(画像1枚目)
現在は、APEXグラフに手を加えないとhave_blend_channel_infoノード時点のように、チャンネル情報は出力されないはずです。
求める結果は、APEX Autorig Component SOPを用いて、have_blend_channel_infoノード時点のように、
チャンネル情報を出力する機能がBase.rigに実装されることです。
ただ、適切な手順が思いつかないため、サンプルを用意しました。
このサンプルにはチャンネル情報をDetailへ出力しないケースと出力するケースを用意しました。
not_have_blend_channel_infoノードはチャンネル情報をDetailに出力しません。
have_blend_channel_infoノードはチャンネル情報をDetailに出力します。(画像1枚目)
現在は、APEXグラフに手を加えないとhave_blend_channel_infoノード時点のように、チャンネル情報は出力されないはずです。
求める結果は、APEX Autorig Component SOPを用いて、have_blend_channel_infoノード時点のように、
チャンネル情報を出力する機能がBase.rigに実装されることです。
-
- Quick Links

