ボーン弄りしてる際の副産物達 ■説明書き等 http://ch.nicovideo.jp/t0r0/blomaga/tag/%E9%97%87%E9%8D%8B%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3 上記URLへ ■DLLブロックについて OSのセキュリティ機能によりインターネットからDLした実行プログラムには実行制限がかかることがあります。 PMXEditorのreadme.txt内「DLLのブロック解除について」を参考にDLLのブロック解除をしてみてください。 参考URL: http://www34.atwiki.jp/pmde/pages/19.html#dll-block ■機能一覧 ・全ての親を削除するプラグイン RemoveAllParentBone.dll ・肩キャンセルを削除するプラグイン RemoveShoulderCancel.dll ・握り拡散ボーンを削除するプラグイン RemoveGrip.dll ・標準ミクさんの表示枠の作成とボーンの登録 StandardBoneFrame.dll ・標準ミクさんの表情枠の並び順どおりに登録 StandardMorphFrame.dll ・腕・腕捩・ひじ・手捩・手首・指の軸/接続先の調整(標準ボーンチェッカーより) SetUpArm.dll ・フォームで選択した頂点モーフで使用されている頂点をPMDView上で選択(材質マスキングに対応) SelectedVertexFromMorph.dll ・PMDViewで選択された頂点のウェイトを選択されたボーンに変更する。(BDEF1/BDEF2) ChangeWeight4SelectedVertex.dll ・フォームで選択したJointの逆Jointを作成します。(複数選択可)(魚卵どるるさんの物:http://bowlroll.net/up/dl6825とほぼ同等) AddReverseJoint.dll ・フォームで選択したJointの逆Jointを作成します。(複数選択可)(接続入れ替えのみ動作) AddReverseJoint2.dll ・フォームで選択したJointの逆Jointを作成します。(複数選択可)(ばね値初期化なし) AddReverseJoint3.dll ・フォームで選択したJointの複製を作成します。(複数選択可) CloneJoint.dll ・フォームで選択した剛体の複製を作成します。(複数選択可) CloneBody.dll ・フォームで選択したボーンの複製を作成します。(複数選択可) CloneBone.dll ・フォームで選択したボーンの表示先が相対の場合、「〜先」ボーンを作成し表示先を「〜先」ボーンに変更します。(複数選択可) CreateTargetBone.dll ・フォームで選択したボーンの表示先が「〜先」ボーンの場合、「〜先」ボーンを削除し表示先を相対先に変更します。(複数選択可) RemoveTargetBone.dll ・フォームで選択した頂点モーフを左右に分割したものを作成します。(複数選択不可) CreateHalfMorph.dll ・ウェイトに設定されたボーンをリストアップします。 WeightBoneList.dll ・フォームで選択したモーフのクローン動作グループモーフを作成します。(複数選択不可) CloneMorph.dll ・フォームで選択したモーフの微調整用(+/-方向調整)グループモーフを作成します。(複数選択不可) AddNegaPosiMorph.dll ・SDEF頂点の選択(ででさんのと多分動作一緒) SelectSDEF.dll ・BDEF4頂点の選択(ででさんのと多分動作一緒) SelectBDEF4.dll ・フォームで選択したモーフのパネル属性を「0:システム予約」にする。(複数選択不可)単純にモーフの非表示化 SetHiddenMorph.dll ・モーフリストをPanel順に並び替えます。 OrderMorph.dll ・モーフリストをPanel順に並び替えます。(パネルリスト内も並べ替えます。) OrderMorphType2.dll ・モーフリストを表示枠の登録順に並び替えます。(表示枠に未登録のものはリストの一番下に来ます。) OrderMorphType3.dll ・表情表示枠をPanel順に登録しなおします。(眉・目・口・その他の順に登録します。パネル内の順序はモーフリストの順番になります。) OrderMorphFrame.dll ・表情表示枠をPanel順に登録しなおします。(口・目・眉・その他の順に登録します。パネル内の順序はモーフリストの順番になります。) OrderMorphFrameType2.dll ・フォームで選択したモーフをリストの一番上に移動します。(PMXEには標準でついているのでPMDE用です。) MoveTopMorph.dll ・フォームで選択したモーフをリストの一番下に移動します。(PMXEには標準でついているのでPMDE用です。) MoveBottomMorph.dll ・IKボーンの位置とそのターゲットボーンの重複チェックと移動/回転チェック CheckIK.dll ・選択したボーンをY軸方向にちょっと移動する。 ShiftBonePosition.dll ・IKボーンを強制的に移動可・回転可にする。(MMDはIKがONになっていた場合勝手に移動・回転可になるがMMMは厳密に処理するためその対応) SetRTIK.dll ・眉/眉頭/眉尻/上まぶた/下まぶた/目頭/目尻ボーン作成プラグイン(使用方法:http://ch.nicovideo.jp/t0r0/blomaga/ar119503) まぶたIK/眉IK作成プラグインから切り出して拡張 EyeLidBone.dll ・上唇/下唇/左口角/右口角ボーン作成プラグイン(使用方法:http://ch.nicovideo.jp/t0r0/blomaga/ar119503) ウェイトの算出方法で2種類あります。 MouthPlus.dll(かこみき・キオ式等通常はこちら) MouthPlusType2.dll(tda式はこちら) ・頂点モーフをボーンモーフに変換します。(材質マスキングに対応) VertexMorph2Bonemorph.dll ・フォームで選択したボーンのウェイトの乗った頂点の選択(材質マスキング対応) SelectWeightBoneVertex.dll ・フォームで選択した材質の頂点に対して1対1でボーンを作成します。(鏡像位置にあるボーンは反転ペーストに対応するように名前を書き換えています。) MaterialVertex2Bone.dll ・フォームで選択した材質の頂点に対して1対1でボーンと剛体を作成し面情報を元にJointでつなぎます。(別名パンツプラグイン) CreateBody4Bone.dll ・PMDViewで選択したJointの角度をボーンの向きにあわせます。(2013/12/8計算式変更 あわせてPMXE専用に) SetJointRotation.dll(2013/11/30 機能分離に伴い廃止) SetJointRotationA.dll(2013/11/30 接続剛体Aに紐付けられたボーンの角度にあわせる) SetJointRotationB.dll(2013/11/30 接続剛体Bに紐付けられたボーンの角度にあわせる) ・PMDViewで選択した剛体の角度をボーンの向きにあわせます。(2013/12/8計算式変更 あわせてPMXE専用に) SetBodyRotation.dll ・PMDViewで選択した剛体を鏡像位置にコピーします。 MirrorCopyBody.dll ・PMDViewで選択したJointを鏡像位置にコピーします。 MirrorCopyJoint.dll ・フォームで選択した材質を透明にする材質モーフを作成します。 UnvisibleMaterialMorph.dll ・未接合Jointを表示/選択します。 CheckErrorJoint.dll ・未接合剛体を表示/選択します。 CheckErrorBody.dll ・SortBoneFromTxt.dll 並べ替え用「bonesort.txt」の内容に沿ってボーンを並べ替えします。(ある程度拡張したbonesort.txtを同梱してあります。) 但し、ボーンの親子関係に関してはチェックしていません。自身で適時定義ファイルを修正してください。 ・SortBoneToTxt.dll モデルのボーン情報から上記並べ替え用テキストファイルをモデルと同じフォルダに作成します。 ・SortMoprhFromTxt.dll 並べ替え用定義ファイル「morphsort.txt」の内容に沿ってモーフを並べ替えします。(ある程度拡張したmorphsort.txtを同梱してあります。) ・SortMorphToTxt.dll モデルのモーフ情報から上記並べ替え用テキストファイルをモデルと同じフォルダに作成します。 ・CreateUnvisibleMorph.dll ボーン位置収束モーフ(隠しモーフ)作成プラグイン 使用方法: フォームで材質と収束したい位置にあるボーンを選択し実行。 選択したモーフ名の後ろに「_unvisible」がついたものが作成されます。 ・CreateUnvisibleReverseMorph.dll モーフオフセット逆転モーフ(元の形状に戻すモーフ)作成プラグイン 使用方法: フォームでモーフを選択し実行。 選択したモーフ名の後ろに「_reverse」がついたものが作成されます。 ・UpdateVertexPositionFromMorph.dll 頂点位置をモーフ変化後に変更するプラグイン 使用方法: フォームでモーフを選択し実行。 モーフ変化後の位置に頂点位置を変更します。 ・CreateA2TMorph.dll(PMXE用) Aスタンス→Tスタンス Tスタンス→Aスタンス にするボーンモーフを作成します。 (PMDE用はCreateA2TMorph.zipに入ってますので差し替えてください。) ・CreateT2AMorph.dll(PMXE用) TスタンスからAスタンスに調整する時用のボーンモーフを作成します。 0-100度で調整できますのでモーフスライダーで調整してください。調整終了後はこのプラグインで作成されたモーフは必要ではありませんので削除して下さい。 (PMDE用はCreateT2AMorph.zipに入ってますので差し替えてください。) ・ViewArmAngle.dll(PMXE用) 肩・腕のZ軸角度の表示 (PMDE用はViewArmAngle.zipに入ってますので差し替えてください。) ・SelectNextFace.dll PMDView/PMXview画面で選択した面の共有頂点を持った面を選択します。 ・CreateMorphMeter.dll 表情モーフのイコライザイーみたいなのを生成。モーフの見渡しがよくなったらなぁという事で作成(ほぼ自分用) 表示の並びは表示枠順。 ・ExecGC.dll PMDE/PMXEがメモリを結構使ってるなぁと思ったときに実行するともしかしたらメモリの使用量が減るかも。 あんまやるもんじゃないんだけどまぁ一応。 ・RenameBoneName4Blender.dll(2013/12/13 対応パターン増し増し後ろに「.000」−「.999」が付与されたものにも対応) blender2pmxでインポートすると「右腕→腕_R」「左腕→腕_L」「右腕→腕.R」「左腕→腕.L」「右腕→腕-R」「左腕→腕-L」「右腕→腕 RIGHT」「左腕→腕 LEFT」「右腕→腕Right」「左腕→腕Left」等になるのでblender2pmxで出力後に実行することで元の名称に戻す。「右つま先」・「左つま先」が「右足首_R_」・「右足首_L_」になるのでその対処追加。 (チェックはしてね。) ・CheckBDEF4.dll BDEF4頂点でウェイト合計が100%でないものを選択する機能 ・RenameAllObject.dll オブジェクト(材質・ボーン・モーフ・Joint・剛体・表示枠)の名称の後ろに入力文字列を付与します。 ・SortMaterialFromTxt.dll 並べ替え用「materialsort.txt」の内容に沿って材質を並べ替えします。 但し、材質の順序関係に関しては関与していません。自身で適時定義ファイルを修正してください。 ・SortMaterialToTXT.dll モデルの材質情報から上記並べ替え用テキストファイルをモデルと同じフォルダに作成します。 ・ResetAppendBone.dll 連動設定オフで連動ボーンが設定されていたらそれを初期化するもの。 (ボーンを手動で複製しているといらない設定が入り込むのでそのお掃除用) ・SetLocalBone.dll(PMXE用) ボーンのローカル軸/軸制限のよく使うものをボタン一発で設定するもの。 ・AddUpdateComment.dll コメントに日時/改造履歴コメントなんかを追加するためのチョット便利にしてみた。 ・CheckFixAxis.dll 軸制限ボーンで表示先と軸制限の値が異なるものをチェックします。表示先ボーンまたは表示先の相対位置を設定していないと動作しません。 ・SortBone.dll ボーンの親を見てボーンを並べ替えます。適当に何度か実行してみて下さい。 (綺麗にボーン整理をしていた場合は完全に崩してしまいますので構造を理解できる方のみ使用して下さい。) ・CreateAxisComponentIK.dll フォームで選択したボーンの軸成分分離IKを作成する。 IKのX/Y/Z軸成分分離って何ぞって方は使わないよね。 ・ChangeSelectedVertexWeight.dll PMDViewで選択した頂点のウェイトボーンAをボーンBに変更する機能 ・CreateJoint.dll PMDViewで選択した二つの剛体を接続するJointを作成します。 (横Jointを手で入れる時のステップ数を減らす為のもの。) 接続剛体Aと接続剛体Bの角度にあわせてJointの角度を調整する機能追加(2013/12/11) ・CreateManyJoint.dll PMDViewで選択した1つの剛体とN個の剛体を接続するJointを作成します。 ・SplitBone.dll 選択したボーンを任意の数に分割します。 ・SortBodyFromTxt.dll 並べ替え用「bodysort.txt」の内容に沿って剛体を並べ替えします。 ・SortBodyToTXT.dll モデルの剛体情報から上記並べ替え用テキストファイルをモデルと同じフォルダに作成します。 ・SortJointFromTxt.dll 並べ替え用「jointsort.txt」の内容に沿ってJointを並べ替えします。 ・SortJointToTXT.dll モデルのJoint情報から上記並べ替え用テキストファイルをモデルと同じフォルダに作成します。 ・RotateJoint.dll(PMXE用) 接続剛体Aと接続剛体Bの角度にあわせてJointの角度を調整する。 ・RotateJointA.dll(PMXE用) 接続剛体Aの角度にあわせてJointの角度を調整する。 ・RotateJointB.dll(PMXE用) 接続剛体Bの角度にあわせてJointの角度を調整する。 ・SetJointRotationA.dll(PMXE用) 接続剛体Aのボーン角度にあわせてJointの角度を調整する。 ・SetJointRotationB.dll(PMXE用) 接続剛体Bのボーン角度にあわせてJointの角度を調整する。 ・OpenModelDirectory.dll(PMXE用) 開いているモデルのディレクトリフォルダーを開く ・OpenPMXEPluginDirectory.dll(PMX用) PMXEのプラグインフォルダーを開く(自分用) ・BoneAndMorphNameCheck.dll ボーンとモーフの名称の長さをチェックする。(VMDファイルに保存する際はボーン名・モーフ名共に15Byte以内でなければならない為) ・MorphCalc.dll 頂点モーフの各軸成分分解モーフの作成 頂点モーフ同士の加算・減算 頂点モーフの結合 頂点モーフから選択頂点を除外 頂点モーフを入力位置で分解 の5機能。 ・AverageVertexNormal.dll 選択した頂点の近傍頂点(範囲:0.01固定)から平均法線を算出して適用する。 標準機能の近傍頂点の法線平均化だと鈍角位置な法線も平均算出の対象元データとしてしまう為それを除外するようにしたもの。 ・SelectMirrorVertex.dll 選択した頂点の鏡像位置にある頂点を選択します。 ・TVertex.dll 選択した左右の頂点を鏡像操作します。 「選択した2頂点の位置を鏡像コピーします。」 「選択した2頂点の法線を鏡像コピーします。」 「選択した頂点の鏡像位置にある頂点を選択します。」 もフォーム上で実行できるようにしました。 ・ChangeMirrorVertexPositionR.dll/ChangeMirrorVertexPositionL.dll 選択した2頂点の位置を鏡像コピーします。 ・ChangeMirrorVertexNormalR.dll/ChangeMirrorVertexNormalL.dll 選択した2頂点の法線を鏡像コピーします。 ・SetManyHiddenMorph.dll フォームで選択した複数モーフを隠しモーフにします。 ・ChangePhyView.dll 剛体・ジョイントのPMXView/PMXSubView/TransFormViewでの表示ヘルパープラグインです。 機能は Joint・剛体を 前/後/左/右/上/下 左前/右前/左後/右後 フォームで選択したものを表示/フォームで選択したものを非表示 全表示・全非表示 Jointの大きさ変更 剛体の大きさ変更 剛体グループでの剛体の表示・非表示 がボタンを押すことで実行されます。 ・PhyCon.dll 剛体とJointをLocal軸で回転する。 ・AutoToe.dll 自動つま先曲げ機能を追加します。 追加後、ばたつくようであれば「足IKA」「足ATgt」の位置を調整してください。 また「足腹」ボーンの連動率で曲げの量を調整できます。 使用については流し込み用途には向いていますがモーション作成には向きませんので注意してください。 ・reciprocatingX.dll/reciprocatingY.dll/reciprocatingZ.dll http://kawarasan.blog81.fc2.com/blog-entry-158.htmlで説明されている直線往復運動ボーンを追加します。 ・CreateNormalBone.dll LocalX/LocalY/LocalZ方向の任意の距離にボーンを作成する。 ・CreateAxisComponentIKType2.dll フォームで選択したボーンのLocal軸成分分離IKを作成する。(MikuMikuDanceVer9.19以降の軸制限IK対応) テスト構造作成用なので想像した通りの動作にはなっていません。 ・RemoveWaist.dll 腰ボーンを削除する。 ・RemoveFootD 足D・足先EXを削除する。 ・RemoveBone.dll ボーンを削除する。 その際にウェイト設定の有無確認と子ボーンの親の変更とそのリストアップ/連動・IKターゲット・IKLinkに設置されていた場合そのリストアップし表示する。 ・VertexCon.dll 頂点の法線を調整する機能 ・CameraCon.dll カメラのよく使う機能を調整するフォーム ・SelectWindowSetting.dll PMXView/PMXSubView/TransForm他のレイアウトテンプレートセレクタ。Viewの設定もそれぞれ保存されます。(PMXE用) ・SelectVertexList.dll PMXViewで選択された頂点をリストボックスで個別に選択します。 ・ViewMaterialList.dll 材質を一覧表示します。選択した材質と同一設定となっている材質を選択します。 ・ViewBoneTree.dll ボーンを親子関係順でツリー表示にする機能とリスト表示機能。値や変形順の確認作業の見渡しを良くする為に作成。 ・ClearEnglishName.dll モデルの英語表記部分の文字列を全消去します。 ・EditMaterialMorph.dll 材質モーフ調整用フォームです。 ・WeightControl.dll TransFormViewで変形を確認しながらウェイト調整する用のフォーム(BDEF1〜BDEF4用。SDEFについてはウェイト値のみ対応) モデルいじる人ぐらいしか用はないですね、うん。 お決まりの文言ですが、モデル改造等を行いますのでモデルのバックアップは必ず取ってください。 ■免責 このデータを使用したことにより何らかのトラブルが発生した場合でも、当方は一切の責任を負いません。 但し、動作不具合についてはある程度対応しますので連絡してください。 ■動作環境 基本PMXE 2.14以降対応のつもり、たまにだめかも。だめな場合はコメント残しといてください。 PMDE 1.39に関しては動作しますが一部差し替えが必要になるものがあります。