更新履歴、既知の問題などはこの記事の最後にあります 2012-05-31 更新


選択した頂点に剛体を作るPMDE用プラグイン。
頂点にフィットした剛体を作る。傾いた物体にフィットさせることはできないので自分で傾けて下さい。

http://www.youtube.com/watch?v=1NIjlOhKQ0M

http://www.youtube.com/watch?v=f9SLr2IJ9EU

http://youtu.be/EhRZ1tCr5ug

項目の説明

[選択頂点情報]リスト

選択している頂点インデックと頂点(x,y,z)

選択頂点の
xの最大,最小値

yの最大,最小値
高さ
zの最大,最小値
奥行き

[モデル同期]ボタン
現在開いてるモデルの状態と
プラグインで管理しているモデルの状態を同期する

[関連ボーン]リスト
現在開いてるモデルのボーン
選択されているボーンは作成される剛体の関連ボーンになる
(但し重心にボーンをつくるにチェックがされていると無視される)

[剛体名]ボタン
関連ボーンリストで選択されているボーンの名前を
剛体名テキストボックスにセットする

[剛体名]テキストボックス
剛体名

[連番]ボタン
剛体名に付加する連番をクリアする

[連番]ニューメリックアップダウン
剛体名に付加する連番

[頂点取得]ボタン
選択されている頂点を取得する

[剛体のモード]
剛体のモードを選択する

[剛体の形]
剛体の形を選択する
球を選択すると半径をどの軸にするか選択できる
カプセルを選択すると
カプセル回転を選択できる

[カプセル回転]コンボボックス
回転なし=高さ(Y)半径(X)で作成される(縦向きのカプセル)
X軸90回転=高さ(Z)半径(X)で作成される(Z軸方向のカプセル)
Z軸90回転=高さ(X)半径(Y)で作成される(X軸方向のカプセル))

[複製をつくる]チェックボックス
作成される剛体からさらに複製を作成する

[複製数]
複製数

[ゆらぎ]
剛体のパラメータ
初期値
質量= 1 移動減衰=回転減衰=摩擦力= 0.5 反発力=0
それぞれに対して0.0~1.0の値を掛けて算出する。
但し反発力は0.0~1.0を加算する

[距離]
複製元の剛体からの距離

[ボーンで繋ぐ]
剛体の中心に作成されたボーンを連結する

[ジョイントで繋ぐ]
剛体の間に作成されたジョイントで剛体を連結する

[2点間の距離,角度]参考項目
2点を選んで角度取得ボタンを押すと
2点間の距離,角度が求められる
※剛体の作成には関係しない

[重心にボーンをつくる]チェックボックス
選択頂点の重心にボーンをつくる
剛体の関連ボーンになる
関連ボーンリストの選択状態は無視される
ウェイトの設定はされない

[選択頂点ウェイト100%塗り]チェックボックス
選択頂点の重心に作成されるボーンについて100%ウェイトを塗る

[反映]ボタン
剛体を作成しモデルに反映する

[Close]ボタン
ダイアログ画面を隠す

 

Files:
bodybuilder

Download



Created
Size
2013-09-22
18.4 KB


0.0.0.4 12/06/01 β 新規ボーンの表示枠への追加が機能していなかったバグ修正
0.0.0.3 12/05/30 β 頂点の選択で異常に時間がかかるバグ修正
0.0.0.2 12/01/23 β 頂点未選択で角度取得すると異常終了するバグ修正

「表示枠に追加」が正しく機能しません。2012-05-31

「インデックスの範囲エラー」が出たらモデル同期化されてない可能性が高いのでモデル同期化ボタンを押してやり直して下さい。

PMDViewで選択した頂点にボーンを作成する,PMDViewで選択したボーンを複製するなどができるPMDEditorプラグイン。

モーダレスダイアログを使用してますので、プラグイン側での作業途中でもPMDE本体とプラグインを行ったり来たりできます。
この際ご注意して頂きたいのはプラグイン側で作業をしていて、本体側でもモデルに変更を加えた場合
互いの同期がとれなくなり、予期せぬ結果を引き起こす場合があるということです。
基本的には当プラグインを使用中は実行ボタンでプラグイン側のデータを本体に反映させるまでPMDE本体側でのモデル変更は行わないで下さい。

本体側で変更(ファイルの読み直しやUndoも含む)を行った後、プラグインで作業をする場合は、始めにモデル同期化ボタンで同期をとって下さい。

プログラミングのお勉強のために作ったものです。他のツールやPMDEditor本体で同じようなことが出来ますが折角作ったのでご参考までに置いておきます。


頂点位置にボーンを作る ボーンを複製する

動画をみる(ポップアップします)


ボーン位置に剛体を作る

動画をみる(ポップアップします)


ジョイントを作成し剛体を接続する

動画をみる(ポップアップします)


動作確認する

動画をみる(ポップアップします)


各種パラメータ一括変更

動画をみる(ポップアップします)


更新履歴

やはり遺物として暫く残しておきますw2012-01-12

公開終了しました。2011-12-03

0.0.8.6で起動できない不具合を修正し、旧称BoneMakerから名前を変えました。

手の握り・拡散機能を搭載しつつ腕IK化させたい場合はねるどらさんの【MMD】5分でできるPMX腕IKボーンの組み方をお試し下さい。プラグイン(IKMaker for Pmx)作りました。 


腕IK実装手順を簡単にするために作ったPMDEditorプラグインです。特にIKの知識がなくても手順通りボタンを押せば腕IKが作成できるようになっています。Microsoft .NET Framework 3.5以上が必要です。

値がプリセットされない場合は、こちらの記事を参考にしてみてください
上手くすれば解決するかも
mmd-accessories/37-mmd-related-articles/plugins/147-ikmaker-presetting.html

腕IKシリーズを参考にさせて頂きました。有難うございました。当プラグインをデフォルト設定で実行すると同シリーズの腕IK3.pmdと同等のモデルになります(腕IKセンターボーン連動)

既知の問題点

MMD添付モデル準拠モデルにのみ対応(ただし捩りボーンモデ ルやボーン命名方法が違うと人型でも上手くいかない。指ボーンのないモデルの腕IK作成は可能。捩りボーンモデル、ボーン命名方法が違うモデルについてはこちら参照下さい。

 

基本作業手順

→IK名選択→IK生成→IK追加↓→→実行
↑←←←繰り返し←←←←←

腕IKについては特に値を弄らなくても(デフォルト値で)いいようになっています。

1.IK名を選択し、IK生成ボタンをクリック

2.IK名が、腕IKならIKが生成される
右下メッセージボックスに「準備が出来ました。IKリストに追加して下さい」と表示される)

3.IK追加ボタンでIKリストに登録する。

IKボーンとIK先ボーンがセットで作成されます。
IKがIKリストに登録されます。

4.左右腕IK(と左右中指IK)について1-3を繰り返す(左右片側のセットだけつくるのでもOK)。
足IKの場合はつま先IKとセットでつくること。

5.リストへの登録が終わったら実行ボタンを押す

6.モデルを保存する

ショートカット
1.TABキーでIK名コンボボックスに飛ぶ
2.下向き矢印キーでリストから選択
3.ALT+EキーでIK生成
4.ALT+AキーでIKリストに追加
5.2-4繰り返し
6.ALT+Rキーで実行

項目説明


・IK名[コンボボックス] IK,IKボーンの名前

・IK生成[ボタン] IKボーンとIK先ボーンを生成します。

・ターゲット[コンボボックス] IKのターゲット

・親[コンボボックス] IKボーンの親ボーン 
未入力状態にすると腕IKシリーズ腕IK1.pmdと同等のモデルになります。
左(右)腕にすると腕IKシリーズ腕IK2.pmdと同等のモデルになります。

・IK位置[コンボボックス] IKボーンの配置場所
IK位置ボーンを選ぶとその位置が表示されます(通常はターゲットと同じ位置にする)。

・IK位置下のx,y,z[テキストボックス] IKボーンの位置X,Y,Z

・IK先名[テキストボックス] IK先ボーン(IKの子ボーン)の名前

・IK先名下のx,y,z[テキストボックス] IK先ボーンの位置X,Y,Z

・影響下ボーンリスト[左側のリストボックス] ≪ボタンで右リストの選択アイテムを移動、≫ボタンで選択アイテムを右リストボックスへ移動

・モデルの全ボーンリスト[右側のリストボックス] ≪ボタンで選択アイテムを左リストへ移動、≫ボタンで左リストの選択アイテムを移動します

・IK値1[テキストボックス]

・IK値2[テキストボックス]

・IK追加[ボタン] IKボーン生成後に、使用可能 生成したIKを下のリストボックスに追加します

・IK削除[ボタン] IKボーン追加後に、使用可能 追加したIKを下のリストボックスから削除します

・実行[ボタン] IKリストに登録されたデータをモデルに反映させます


->(X)[ボタン] IKボーン位置Xを、IK先ボーンXにコピーします
->(Y)[ボタン] IKボーン位置Yを、IK先ボーンYにコピーします
->(Z)[ボタン] IKボーン位置Zを、IK先ボーンZにコピーします

 

メッセージエリア[右下テキストエリア]
メッセージを表示します。入力できますが入力内容は反映されません。

注意

影響下ボーンリストは基本的にインデックスの大きいほうから追加して行って下さい。
ソート機能をつけていませんので並べ替えは1行を選択し、CTRL+↑↓キーで上下させて行って下さい。

標準モデル準拠モデル対応です(捩りボーンには対応していません)

モデルによっては、ボーンの構造、ボーンの名称、IKの名称によっては、作成したIKが予期しない動きをするかもしれません。

元のファイルは必ずバックアップをとって置いてください。

・腕IKのターゲットとなる手首ボーンがないモデルは、腕IKが作成できません。
中指先IKのターゲットとなる中指先ボーンがないモデルは中指IKが作成できません。

・(左/右)腕IK→(左/右)中指IKの順で作成してIKリストに登録下さい(中指IKは腕IKボーンを親として作成されるため)。

・つま先IKを作る場合は、先に足IKを作成してそのあとに作成してください。

入力値を変更する場合は、
IK生成ボタンをクリックし値を表示させてから、その後変更入力して下さい。
IK生成ボタンをクリックすると直前の入力内容は初期化され失われます。

変更したらIKリストに保存(IK追加)してください

既にIKリスト追加したIKを変更する場合は、
・対象IKをIKリストからIK削除し、IK名選択からやり直す
・プラグインをcancelで終わらせて最初からやり直す
のいずれかをして下さい。

実行ボタンを押すとモデルに反映されます。
一度反映した後やり直す場合は、PMDEのUndoをするか
元ファイルを開き直してからやり直して下さい。

・腕IKモデルは、PMDEの検証を実行するとIK関連エラーなどでます。

・このプラグインでは左腕IK、右腕IK、左中指IK、右中指IKという名称は、予約語的な扱いにしていますので
この名前で別の目的のIKを作ろうとすると意図した結果を得られない可能性が高いです。


エラーメッセージ
準備中

免責事項等
本プラグインを使用したことによって損害等が
発生しても、一切の責任を負いません。

ikmakerdll HOT

Download



Created
Size
2013-09-22
21.66 KB
 


過去の更新情報

2011-11-26 v0.0.0.16 指数表現の浮動小数点数入力がエラーになってしまう不具合を修正しました。

2010-10-30  v0.0.0.15 PMDEver.0.0.8.x 以上で起動しない不具合を修正。

IK Maker (旧名称腕IK Makerを汎用化に伴い IK Makerに変更しました)

IKMakerを使う場合、通常は腕IKの設定値がプリセットされますが、モデルによっては設定されないことがあります。
今回は、そういったケースについての説明です。PMDEditorが必要になります

このケースは腕関連のボーン名がMMD添付モデルとちょっとだけ違っているため、であることが多いです。

捩りボーンのあるモデルは、捻りボーンの削除、ひじや腕まわりのウェイト再設定が必要になる場合があります。

ボーン名が

(左/右)肩→(左/右)腕→(左/右)ひじ→(左/右)手首→(左/右)手先

(左/右)中指1→(左/右)中指2→(左/右)中指3→(左/右)中指先
(指関節に多少増減があっても構いません)

となっていればたぶんプリセットがうまくいきます。

 

ヘタリアのプロイセンVer.0.50 http://hanaoka.xrea.jp/をお借りしました。有難うございました
(折角の捩りボーンモデルを、説明のため改造してしまいましたことご容赦下さい)。