MMDマクロでボーンを選択する方法【MMDMacro】

皆さん、MMDマクロ使ってますか?

 

いろいろ便利なMMDマクロですが、

表示枠からボーン選択することができないと思っていたけど実はできました。

 

というわけでピンポイントにそれだけのまとめ。

 

;未登録ボーンの登録
click(bone_sel_unreg)

;ボーン登録を押す
click(bone_reg)
;未登録を押して選択を外す
click(bone_sel_unreg)

;vpdを読み込む
menu(1, 9)
;ダイアログ開始確認
dialogOpen(ポーズデータ読込)
dialogSetStr(Edit1,右足IK初期化.vpd)
;開くボタン押下
dialogClick(Button1)
;ダイアログを閉じて終了確認
dialogClose()

;アンドゥしてポーズをキャンセルする
click(undo)
;コピペでボーンの数値を表示する
click(bone_copy)
click(bone_paste)

 

命令としてはこういう感じになります。

ボーン1つだけのポーズを記録したvpdを読み込むことでボーンを選択するわけ。

 

その前後にどういう意味があるかが以下説明です。

 

まず「未登録選」を押して現在選択しているボーン選択を外します。

その前にボーン登録を押しておくことで未登録ボーンをなくしておきます。

 

次にメニューからvpdの読み込み。

vpdは選択するボーン1つだけの情報にします。

選択に使うだけなのでポーズはどうでもいいのですが、

初期化するvpdを作っておくのが汎用性高そうです。

 

vpdはMMDの「UserFile」内の「Pose」フォルダに入れておきます。

メニューからの読み込みなので UserFile/Pose/ 以降のフォルダしか指定できません。

「デフォルトフォルダを前回位置~」にチェックが入ってると読み込めなくなるので要注意。

 

vpdを読み込んだ後に「やり直し」を押してポーズをキャンセルします。

vpdを読み込みで姿勢が変わらなくてもvpd読み込み動作がアンドゥ対象になります。

 

その後にボーン操作の「コピー」「ペースト」を続けて押します。

意味のない動作に見えますが、これをすることでボーン入力欄に数値が表示されます。

それをしないとボーン位置 X 「-----」みたいになってしまって、

マクロ側からボーンの入力数値を取得して扱うことができなくなります。

 

f:id:PIP_MMD:20220315194628p:plain

(ボーンが選択できているけど入力数値が表示されていない例)

 

以上、MMDマクロでボーン選択する方法でしたが、

マクロでボーン選択して何をするのかはその人次第ですのでまあ・・・

 

連続操作する時に足IKの回転だけゼロ化するとかそういう感じかなあ