実数リミットやリンク情報で位置を制限しても、その親を移動させると制限を無視して動くと思います。
■そこで親であるnull(動画内では緑のヘルパー)を動かしても位置が制限される方法があればご教示いただけますでしょうか
bone、IKを使用しましたが、ヘルパー等のnullのみでも問題ありません
動画内ではnullとIKのゴールに直接キーを打ち、イメージとして疑似的に再現しています
(nullが動き続けてもIKゴールは50cmの位置で停止している)
(パースビューの動画ではIKゴールにオブジェクトをリンクさせています)
※今回使用している3ds maxのバージョンは2025ですが、2018~2025のものは使用できます
解決済! 解決策の投稿を見る。
親子の状態を保ったままである必要性があるのであれば
階層タブ>リンク情報>継承で子供側の移動のチェックを外すと
親子関係を保ったまま親の移動の影響をうけなくなりますので
その上で子供側の制限したい軸、例えばZに実数リミットコントローラを追加して
その下のリミット付きコントローラに親の該当軸のコントローラをインスタンスコピーで
ペーストしてやるか、式コントローラを入れて親オブジェクトの該当軸を参照してやる感じでどうでしょうか
もし親子関係を保つ必要性がないのであれば、階層タブ>リンク情報>継承で子供側の移動のチェックを外す必要性はないです。
添付のサンプルはMax2023です。
とても速い返信ありがとうございます
サンプルも含めとてもわかりやすい説明で、無事添付された通りの意図した動きが出来ました。
そこで追加になってしまいますが、2点質問させてください
■実数リミット等を追加したヘルパー(赤)とその親ヘルパー(青)を作成し、その青ヘルパーの親にmasterのヘルパーを追加
このmasterを操作した際は通常の親子リンクさせたように制限されず動き、青ヘルパーを操作した場合は回答であるように親子関係がありつつ制限されたものを作成すことは可能か。
について、もし可能であればご教示ください。
この場合もし、リミットを設定したヘルパーがmasterのヘルパーのローカル座標で
リミットをかけるのであるなら、リミットを追加したヘルパーと親ヘルパーを
同じ並びでmasterの子供にして、親ヘルパーのコントローラをリミットを設定したヘルパーに
インスタンスコピーをする感じで行けるんじゃないでしょうか
リミットを設定したヘルパーがワールド座標でリミットをかける場合は
masterヘルパーを動かしてリミットを超えた後
親ヘルパーを動かした場合の動作とかどうするのかという問題があるので、
その辺の条件を明確に決めれてスクリプトコントローラで制御すれば行けるかもしれません
リギングである程度複雑な制御をする場合は親子関係にせずに
スクリプトコントローラで制御するような感じになることが多い気がします
2点目ですが
階層タブ>リンク情報>継承で
回転のチェックも外してしまって、回転もコントローラをインスタンスコピーするか
方向コンストレインをかける感じで行けると思います
もし、スケールもからめるのであれば、スケールも継承を外して
コントローラをインスタンスコピーする必要性があると思います
ただ、ほとんどの継承を外すのであれば、
ほぼ親子関係を組む意味がないとは思うので
継承を外さずに同一階層でコントローラをインスタンスコピーでいいとは思いますが