第19回 ボーンジョイントをまとめて設定するスクリプト
The Customize stole my holiday. 今回はアニメーション用に色々ボーンジョイントを作成していたときに、沢山のボーンジョイントの設定を何回もやり直す必要があったので作りたかったけどその時は作れなかったのでアニメーションの作業が全部終わってから作ったスクリプトのお話です。
- 今回のスクリプトは 5/15日発行のメルマガにて配布しました。
- インストール先などは【インストール・使用法】をご覧ください。
- この記事は Shade 3D ver.14.1.3 を基準に書いています。ver.15 でももちろん有効です。
- 記事で紹介しているスクリプト(最新号分を除く)はマーケットプレイス「カスタマイズはいかがですか? 全部入り Script 」よりダウンロードできます。
- 記事で紹介している widget (最新号分を除く)はマーケットプレイス「カスタマイズはいかがですか? 全部入り Widget」よりダウンロードできます。
ボーンジョイントの設定
Shade 3Dでは選択しているボーンジョイントの設定をまとめてできます。
形状情報パレットで値や範囲を変更すると選択しているボーンジョイントに設定されます。
まるでスクリプトがいらないかのような便利な仕様ですね。さすがです。
ボーンジョイントの設定のワナ
確かに選択しているボーンジョイントには設定が反映されてますが、子階層のボーンジョイントを見ると素のままです。
よく考えたらたとえば Y にまとめて 30 度だったらこうですよね。
つまり、子階層も全部やるには階層をたどって個別に設定しないといけないわけです。範囲は数値入力できないので値スライダの操作と合わせて最大、最小をそれぞれ設定しないといけなくて。。。かわいそうな女の子は夜空のお星様になってしまいそうです。
ボーンジョイントの設定のスクリプト
ということでスクリプトです。選択しているボーンジョイントの子階層も含めて設定します。
ブラウザや図面で設定したいボーンジョイントを選択します。同じ階層でなくてもOKです。
スクリプトメニューから「ボーンジョイント一括設定」を選択するとダイアログが表示されます。
選択している最上部がボーンジョイントでなくてもその子階層にボーンジョイントがあればそれに設定します。ひとつもなければダイアログ出さないで終了します。
終わると設定対象となったボーンジョイントの数を表示します。
設定項目
ダイアログには選択された中でブラウザで一番上になるボーンジョイントの設定が表示されています。
- テキストボックス
XYZ それぞれの「範囲の最小値」「ボーンジョイントの値」「範囲の最大値」が角度で表示されています。 - XYZ チェックボックス
オンのとき、XYZ それぞれの「最小値」「値」「最大値」を適用します。
オフのとき、ボーンジョイントそれぞれの設定値がそのまま維持されます。 - 範囲チェックボックス
オンのとき、範囲を有効にします。 - 初期設定ボタン
最小値を -180、値を 0、最大値を 180、すべてのチェックボックスをオンにします。
設定例
たとえば選択しているボーンジョイントの X の値と Y の最大値のみダイアログの値に設定したい場合は X 値と Y 最大値のチェックのみオンにして実行します。
深い階層を持ったボーンジョイントの範囲設定を変えてもうちょっと曲げたいときなんかにも便利です。
元のボーンジョイント
ひ弱だった曲げの設定
みちがえる曲げの設定
ブラウザのジョイントリセットでは範囲はリセットされないのでこのスクリプトで初期設定にして値はチェックオフにすると範囲のリセットにも使えますね。
次回は標準機能のトランスフォーメーション(ツールボックス>作成>移動/複製>0.0のアイコン)のちょっとした改良版のスクリプトのお話をする予定です。
次回もよろしくお願いします。
要望や質問、またユーザー同士の意見交換にShade3D公式ユーザーフォーラムをご用意しております。どうぞご利用くださいませ。