「ユーザーブロマガ」サービスの終了(10月7日を予定)にあたり、残したいユーザーブロマガ記事への投票を受け付けています

  • 闇鍋プラグイン 選択オブジェクトの位置状態から左右を判別して名称を変更する機能

    2015-08-23 00:44

    闇鍋プラグイン(https://bowlroll.net/file/9765)に
    選択オブジェクトの位置状態から左右を判別して名称を変更する機能を追加しました。

    ・RenameMirrorObject.dll
    ボーン/剛体/Jointを選択し

    ■使い方
    ・プラグイン実行
    ボーン/剛体/Jointを選択し「[ETC] 選択オブジェクトの鏡像位置オブジェクトの名称変更」を実行します。
    1.ボーンを選択します。


    2.下記画像の様にボーン列を選択します。


    3.プラグインを実行します。


    4.同一位置判定の範囲を指定します。(通常は特に弄らなくてもOKだと思います。)


    5.鏡像位置にあるボーンの名称が「[左・右]元のボーン名称」に名前を変更されます。


    6.同様に名称変更後のものを選択し再実行すると以下の様になります。


    以上です。


    この記事のコメント欄は以下の記事通り解放します
    http://ch.nicovideo.jp/t0r0/blomaga/ar760385
  • 広告
  • プラグインメニュー (注意:PMXE0.2.3.1以上対応)

    2015-08-09 16:41
    https://bowlroll.net/file/77819
    にPMXView上で「Ctrlキーを押しながら右クリック」でプラグイン一覧を表示する機能作りました。


    2015/08/22機能更新
    Joint/剛体のLocal回転GUI操作
    BoneのLocal軸GUI操作
    Boneのローカル軸設定メニュー追加
    Joint/剛体の鏡像コピー(位置or名称)の追加

    ※注意※2015/08/22現在PMXCPluginを使用してモデルを更新した場合、材質のToonが空の場合にtoon01.bmpと自動的に更新されてしまいます。気になる方は使用しないで下さい。(GUI操作以外の同一機能は闇鍋プラグインに入っていますのでそちらを使用して下さい。)2015/08/30 PMXE0.2.3.2にて解消

    2015/10/10機能更新
    Ctrl+Shift+Aでカメラ回転中心を表示/非表示する機能
    Ctrl+Shift+LでLimitedPluginLauncherを実行する機能

    ■内容物
    ・PluginMenu.dll
    プラグイン本体

    ・PluginMenuAutoExec.dll
    プラグインを起動時に実行するプラグイン

    ・Local.pmx
    GUI操作用ローカル軸オブジェクト(ルールにあっている同名モデルならそのまま読み込まれます。)

    ・CameraTarget.pmx
    カメラ回転中心表示用モデル(ルールにあっている同名モデルならそのまま読み込まれます。)

    ・ViewJointLocal.pmx
    Joint軸方向表示用モデル(ルールにあっている同名モデルならそのまま読み込まれます。)

    ・PluginMenu.zip
    PluginMenu.dllのプロジェクト

    ・PluginMenuAutoExec.zip
    PluginMenuAutoExec.dllのプロジェクト

    ・PluginMenu.zip
    PluginMenu.dllのプロジェクト

    ・PluginMenuAutoExec.zip
    PluginMenuAutoExec.dllのプロジェクト


    ■使い方
    PMXEプラグインの新しい機能を使っていますのでPMXEは必ず最新版を使用して下さい。

    ・プラグインメニュー
    PMXEのUserフォルダ直下に

     PluginMenu.dll
     PluginMenuAutoExec.dll
     Local.pmx
     CameraTarget.pmx
     ViewJointLocal.pmx
    をコピーしてください。


    また、自動実行を行いたくない場合は「PluginMenuAutoExec.dll」を削除して下さい。


    PluginMenu.dllを再実行した場合、機能は無効化します。


    ・GUIローカル回転/軸操作
    Bone/剛体/Jointをローカル回転操作/ローカル軸操作をGUIで操作できます。
    1.「BONE」or「BODY」or「JOINT」→「ローカル回転操作」を選択します。

    2.剛体/Jointを選択するとローカル軸に沿ったオブジェクトが表示されます。

    3.オブジェクトの各軸(X:赤 Y:緑 Z:青)の先にある黄色いオブジェクトをドラッグし左右にマウスを動かしてください。

    4.軸の向きが決定しましたら画面のダブルクリックして反映します。


    ・Local軸設定
    1.ボーンを選択します。

    2.Menuより「BONE」→「ローカル軸設定」を選択します。

    3.設定が完了しましたら以下メッセージウィンドウがでます。


    「ローカル軸設定」を選択すると以下の様なローカル軸が設定されます。

    「ローカル軸設定(MMD)」を選択すると以下の様なローカル軸が設定されます。


    ・鏡像コピー(名前)
    1.設定値を変更した剛体/Jointを選択し、「鏡像コピー(名前)」を選択します。

    2.実行すると「左腕」→「右腕」/「左ひじ」→「右ひじ」に設定情報がコピーされます。

    3.「鏡像コピー(位置)」の場合は以下のウインドウが出ますので数値を入力して下さい。(通常特にそのままでかまわないと思います。)



    ・Joint選択時の角度制限・移動制限表示
    Jointの角度制限・移動制限を画面上に表現します。





    ・[Ctrl]+[Shift]+Aでカメラ回転中心に「CameraTarget.pmx」を表示します。


    ・[Ctrl]+[Shift]+LでLimitedPluginLauncharを実行します。



    ■免責
    このデータを使用したことにより何らかのトラブルが発生した場合でも、当方は一切の責任を負いません。
    但し、動作不具合についてはある程度対応しますので連絡してください。

    ■動作環境
    PMXE 0.2.3.1以上

    PMXE 0.2.3.1以上の機能を使用している為、古いPMDE/PMXEでは動作しません。




    -------------------------------------------------------------------------------------
    ここから下に記述してある内容は基本操作としてはあまりよろしくない操作です。
    ただし、これを行ったとしても特になにか問題が発生するわけではありません。
    想定外操作ですので何かあっても自分でがんばるでお願いします。

    ■おまけ
    通常PMXEのプラグインフォルダ(ここではPmxEditer_0231c\_plugin)は以下の様になっていると思います。



    表示はこんな感じですね。


    これをこのように本来「User」フォルダ配下に配置するものを直接「_plugin」フォルダにおいてみます。


    そうすると以下の様に表示されます。



    また、ここで作成したプラグインの表示もこんな感じになります。


    プラグイン選択への操作数が微妙に減る方法だったりします。

    以上です。


    この記事のコメント欄は以下の記事通り解放します
    http://ch.nicovideo.jp/t0r0/blomaga/ar760385

  • PMXE0231のぷらぐいんめも

    2015-08-01 02:012

    操作確かめ用めも

    ■UIModelの読み込み
    IPXCPluginConnector connect = args.Connector;
    PXCPlugin.Event.IPXEventConnector xconn = PXCBridge.CreateEventConnector(connect);
    PXCPlugin.Event.IPXViewEventListener xlistener = xconn.CreateViewEventListener();

    OpenFileDialog dlg = new OpenFileDialog();
    dlg.Filter = "PMXファイル(*.pmx)|*.pmx";
    dlg.FilterIndex = 2;
    dlg.Title = "UIModelにするPMXファイルを選択して下さい。";
    dlg.CheckFileExists = true;
    dlg.CheckPathExists = true;

    if (dlg.ShowDialog() == DialogResult.OK)
    {
    MessageBox.Show(@dlg.FileName+"を読み込みます。");
    PEPlugin.Pmx.IPXPmx Model = PXCBridge.Builder.Pmx();
    Model.FromFile(@dlg.FileName);
    PXCPlugin.UIModel.IPXUIModel UIModel = PXCBridge.RegisterUIModel(connect, Model, "ほげー", null, true, false);
    MessageBox.Show("UIModelを読み込みました。");
    MessageBox.Show("UIModelを解放します。");
    UIModel.Release();
    MessageBox.Show("UIModelを解放しました。");
    }