■ PMXエディタ
MikuMikuDance(MMD)や各MMD互換アプリケーションにて利用可能な"PMXモデルファイル(*.pmx)"の専用編集ソフトウェアです。
本ソフトウェアの利用について、"§ 利用規約" を必ず確認してください(!重要)
※MMD標準形式の PMDモデル(*.pmd) についてはインポート/エクスポートにて対応(材質名テキストはロードされません)
●動作対象
Windows XP以降(32bit/64bit) ※推奨環境(=開発環境)は Win10-64bit(ver1703)
シェーダモデル3.0以上のグラフィック機能(必須)
PmxEditor.exe : 32bit版
PmxEditor_x64.exe : 64bit版
※32bitOSでは32bit版のみ、64bitOSでは双方が動作可能です(以下の対応ランタイムが必要)
※Windows10 ver1709以降は一部動作不良の可能性があります。
●必須ランタイム
.NET Framework4.0 (3.5以下もインストール推奨)
DirectXランタイム
Visual C++ 2010 再頒布可能パッケージ
Visual Studio 2013 Visual C++ 再頒布可能パッケージ
※重要
WindowsVista以降のOSにて、DirectX10以降がインストール済みの場合でも、
DirectXランタイム(DirectX9)は個別のインストールが必要になる場合があります。
●ランタイム参考
□Microsoft .NET Framework 4 (Web インストーラー)
http://www.microsoft.com/ja-jp/download/details.aspx?id=17851
□Microsoft .NET Framework 3.5 Service Pack 1
http://www.microsoft.com/ja-jp/download/details.aspx?id=22
□DirectX エンド ユーザー ランタイム Web インストーラ
https://www.microsoft.com/ja-jp/download/details.aspx?id=35&
□Microsoft Visual C++ 2010 再頒布可能パッケージ (x64)
http://www.microsoft.com/ja-jp/download/details.aspx?id=14632
□Microsoft Visual C++ 2010 再頒布可能パッケージ (x86)
http://www.microsoft.com/ja-jp/download/details.aspx?id=5555
□Visual Studio 2013 の Visual C++ 再頒布可能パッケージ
http://www.microsoft.com/ja-jp/download/details.aspx?id=40784
※
各動作用に合ったものが必要となります(32bit版→x86/64bit版→x64)
.NETやDirectXは環境に合わせて自動的にインストールされるはずですが、場合によっては正常にインストールされないかもしれません。
※SlimDXを個別インストールしている場合、同梱アセンブリとのバージョン違いなどにより動作に不具合が出る可能性があります。
●DLLのブロック解除について
インターネットを通して取得したファイルを取り扱う場合、OSのセキュリティ機能によって動作が制限されることがあります。
同梱のDLLに関して多数のエラーが表示され起動しない場合などは、当該ファイルのプロパティからブロック解除の操作を行ってください。
(解凍前のZIPの状態で行うと一度の解除操作で解決するかと思われます)
また一般に配布されている解凍ツールを使用することで、これらの問題を回避することが可能です。
※WinZIPなどツールによっては回避できないこともあるようです。
□参考URL
http://www.atmarkit.co.jp/fwin2k/win2ktips/498zoneid/zoneid.html
●インターフェイス(文字の表示など)が崩れる問題への対応
画面や文字の拡大などが設定されている場合、各インターフェイス内の表示やレイアウトが崩れることがあります。
アプリケーション内での個別の対応は難しいので、拡大/縮小はおこなわず 100%の大きさで利用されることを推奨します(文字サイズ:9pt)
なお、Windows10であればディスプレイ設定の [カスタムの拡大率] などからの全体拡大で、表示を崩すことなく対応できる場合もあります。
※その際も文字サイズは 9ptのまま変更しないことを推奨
●起動オプション
*.pmx *.pmd | 起動後対象ファイルを開きます
/fxc | 描画に使用する内部エフェクトを(環境に合わせて)コンパイル(通常はコンパイル済エフェクトを使用)
※グラフィック関係の環境依存問題が解決する場合があります(実際あまり効果はありません)。起動時間が非常に長くなります。
●外部参照仕様
"_data"フォルダ : PmxEditor.exe と同位置に "_data.path" というファイルを配置しファイル内にフルパスを記述(UTF8で要保存)
プラグインフォルダ : _plugin/user.path 参照
●外部ライブラリ
SlimDX (http://slimdx.org/)
Bullet Physics (http://bulletphysics.org/wordpress/)
●関連ツール
MikuMikuDance(MMD) (http://www.geocities.jp/higuchuu4/index.htm)
MikuMikuEffect(MME) (http://www6.atwiki.jp/vpvpwiki/pages/219.html)
MikuMikuMoving(MMM) (https://sites.google.com/site/mikumikumoving/)
§ PmxEditor の機能
●基本構造
編集機能は大きく分けて 3つの画面から構成されます。
■ Pmx編集 : PMXインターフェイス
モデルデータを"数値情報"として直接編集可能な画面です。
各データ項目はタブで分けられ、さらにそれぞれのデータ要素がリスト化され管理されています。
モデルデータの役割としては、
[形状] - 頂点/面/材質
[変形情報] - ボーン/モーフ
[物理演算] - 剛体/Joint/SoftBody
[編集用] - 情報/表示枠
と一般的に分類されます。
■ PmxView : UI画面
モデルデータを視覚的に閲覧/編集可能な画面です。
Pmx編集上のデータ値をモデルの初期状態として画面に描画します。
頂点などの各部位を視覚的に動かしたり、ボーンや剛体などの生成、ウェイト値の描画マッピング他、
いくつかの編集を画面上でそのまま行うことが可能です。
各編集機能は"子窓"として個別に管理されており、必要に応じて画面に選択配置することができます。
■ TransformView : 変形画面
モデルデータの変形状態を閲覧可能な画面です。PmxViewの子窓の一つとして起動されますが、単体で独立した編集機能を有します。
ボーン/モーフ変形に加え、物理演算の状態やモーション動作などを一度にテストすることが可能です。
以上の 3つの編集画面を適宜選択し、組み合わせながらモデルデータの作成及び更新を行うことが、
本ツールにおいての基本的な編集方針となります。
§ PMXインターフェイス(Pmx編集) の機能
●共通操作
○リスト共通操作
・リスト左上入力枠 : 現在の選択Index | 数値入力→Enterで指定のIndexへ移動
・リスト中央上入力枠 : 名称ジャンプ移動
指定した名称が含まれる対象へ移動 | 次(下)の対象:Enterまたは↓ 前(上)の対象:Shift+Enterまたは↑
・複数選択方法
頂点/面/モーフオフセット : Shift(Ctrl)+クリック
上記以外 : Shift(Ctrl)+クリック またはドラッグ
※上記分類でリストコントロールの種類が異なるので注意(選択要素の表示方法なども異なります)
・下部アイコン類
頂 : 選択要素を最上位へ移動
↑ : 選択要素を一つ上へ移動
↓ : 選択要素を一つ下へ移動
底 : 選択要素を最下位へ移動
+ : 要素を新規追加
× : 選択要素を削除
※リスト対象によっては使用できないアイコンもあります。
複数選択状態でも移動/削除は可能です。飛び飛びの選択状態の場合は移動時に上位(下位)方向へ固められます。
○複数選択対象の同時編集
PMXインターフェイスのリスト項目は "複数選択した状態" で各設定値を一括して編集することが可能です。
選択対象に対しては編集項目のみ変更されます(例:頂点の位置X設定→それぞれのYZは変化せずXのみ全て書き換え)
注意点として頂点/面は選択対象数が50以上の場合、変更に対してViewとリスト内容の更新が行われません。
※Viewはアクティブ時に更新/リストは直接更新を要選択(非常に重くなるため)
多数の選択対象を同時に編集する場合、非常に処理に時間がかかる可能性があります(場合によってはUndo時に固まってしまうこともあるかもしれません)
また材質モーフなどはパラメータの一括設定となるのでご注意ください。
○ベクトルコピー
PMXインターフェイス及びPmxViewの各操作子窓の値入力などでは、複数のベクトル値などを
一度にコピー/ペースト可能な機能が実装されています。
例えば、PMXインターフェイスの頂点の "位置:" や "法線:" などの上で右クリックを行うと以下のメニューが表示されます。
[ベクトルコピー] - 対応する複数の値を一括してコピー。同時にクリップボードにも 1,2,3 などカンマ区切りで値がコピーされます。
[ベクトルペースト(入力分のみ)] - コピーされている値をそれぞれにペースト。例) 2Dベクトル値をコピー→3Dベクトル値へペーストした場合は3DベクトルのX,YのみペーストされZは変更されません。
[ベクトルペースト] - コピーされている値をそれぞれにペースト(不足分は初期化)。例) 2Dベクトル値をコピー→3Dベクトル値へペーストした場合は3DベクトルのX,YがペーストされZは0に初期化されます。
[クリップボードからペースト] - クリップボードにカンマ区切りで数値が保存されている場合、複数値としてベクトルペーストを行います。
それぞれの値はベクトルコピーに対応した各項目間で任意にコピー/ペーストが可能です。
また対応メニューは複数の入力項目に対応したラベルや各種ボタン上での右クリックで呼び出し可能です。
※ベクトルコピーが可能な場合、対象のラベルなどにマウスカーソルを重ねると文字などが紫色に変化します(一部例外あり)
○ラベルジャンプ
一部の名称ラベルなどをダブルクリックすることで、その対象項目へ移動することができます。
可能ラベル一覧 :
頂点 - ウェイトボーン名
ボーン - 親ボーン名/表示先ボーン名/付与親名/IKTarget名/IKLink名(リスト項目)
モーフ - モーフオフセット対象(リスト項目) ※材質モーフは編集ダイアログが開くので対象外
表示枠 - 対象ボーン/モーフ(リスト項目)
剛体 - 関連ボーン
Joint - 接続剛体A/接続剛体B
SoftBody - 関連材質
移動後は Ctrl+Q([編集]-[リスト関係]-[ラベルジャンプ元へ復帰]) で元の対象へ戻ります。
●[情報]
□システム
PMXバージョン : モデルのPMXバージョン。PMX2.1までのバージョンに対して編集が可能です。
文字エンコード : PMXファイル保存時のテキスト系データのエンコード形式 | UTF16(LE)/UTF8 選択
追加UV数 : 各頂点内の追加UVの数 | 0-4 ※ファイルサイズに大きく影響するので、不要の場合は0推奨 → 自動設定(初期ON)で保存時に自動変更されます。
□モデル
モデル名 : モデル選択時に表示される名称
コメント : モデル選択時に表示されるメッセージ
日/英切り替え : 表示項目を対象(日本語表記用/英語表記用)に切り替え
※以下「日/英切り替え」省略
□コメントタグ
コメント内に特定のタグ〜がある場合、対象の処理が行われます。
: オープン時などに指定のテキストファイルを表示します(コメント英側に記述)。
テキストファイル以外の場合はOS側で開きます(選択可/不正処理に注意)
●[頂点]
□頂点位置/法線
位置 : 位置座標
法線 : 法線ベクトル(頂点法線)
□エッジ(輪郭)
エッジ倍率 : 頂点単位でのエッジサイズへの倍率係数
□UV
UV : UV座標
追加UV : 追加UV1〜追加UV4まで設定可能(データ数は情報欄にて設定)。4Dベクトルx4/主にエフェクト(MME)からの利用を想定
□ボーンウェイト
変形方式 : BDEF1/BDEF2/BDEF4/SDEF/QDEF
ボーン : 対象のボーンIndex
ウェイト値 : 対象のウェイト値(単精度実数)
SDEF-C : SDEF変形で使用するC値
SDEF-R0 : SDEF変形で使用するR0値
SDEF-R1 : SDEF変形で使用するR1値
正規化 : ウェイト値設定を変形方式に対して正規化(複数対象可)
→
ウェイト設定は変形方式によりウェイト値の取り扱いが変化
BDEF1 - ボーン1をウェイト値1.0 として頂点変形
BDEF2 - ボーン1をウェイト値1,ボーン2を(1.0-ウェイト値1) として頂点変形
BDEF4 - ボーン1-4をそれぞれウェイト値1-4 として頂点変形
SDEF - ボーン1をウェイト値1,ボーン2を(1.0-ウェイト値1) として スフィリカルデフォーム(SDEF)方式 で頂点変形
QDEF - ボーン1-4をそれぞれウェイト値1-4 として デュアルクォータニオン方式 で頂点変形(詳細はPMX仕様を参照)
※BDEF4の場合ウェイト値の総計は1.0でなくてもよいが、正常に動作しない可能性があるので注意
※SDEF関連値はPmxViewでBDEF2/4からの適用変換及びアンカーからの設定、またはkeynote(mqdl氏作/Metasequoiaプラグイン)などの外部ツールからの設定推奨
※正規化時 BDEF4->SDEFの場合はウェイト影響の少ないボーン設定が初期化されるので注意(一つのボーンのみの場合はBDEF1へ修正)
●[面]
参照頂点 : 面の頂点Index(3頂点で1面)
※対応材質の描画形式が点(Point)や線(Line)の場合は、頂点Indexの並びが ABA や ABB、AAA など通常の△(ABC)とは異なる配置になることがあります。
例 : 頂点0,1,2,3..... に対して 0-1 間にLineを引く場合 -> 面=(0,1,0) または (0,1,1) など
面法線 : 面の法線
裏表反転 : 選択面の反転処理(複数可能)
頂点法線反転 : 面反転時、頂点法線も反転
頂点参照昇順化 : 頂点の参照順序を昇順化(最小の頂点Indexを先頭に移動)
※面リストの複数選択は比較的重い処理なので注意
●[材質]
材質名 : 材質の名称
面数 : 材質に対応する面の数
□材質色
色要素 R:Red(赤) G:Green(緑) B:Blue(青) A:Alpha(非透過度)
それぞれ 0.0 〜 1.0
A:Alpha は 1.0 で非透過、0.0 で完全透過/完全透過時はZバッファの更新も行わない
拡散色(Diffuse) : 照明が当たった部分の色。
反射色(Specular) : 照明が当たった部分の反射的な色。
反射強度 : Specular反射の反射具合を変化させる値。
環境色(Ambient) : 照明に関係なく表示されるモデルの色。
拡散-環境同期 : チェック時は拡散色設定(色枠クリックで表示される色設定のみ)を環境色に反映する(操作用なのでPMXには保存されません)
※MMD上ではDiffuse×照明の強度+Ambientで全体的な材質色が決定される。陰影についてはToon側で制御
※色が表示されている枠をクリックすると色設定ウィンドウが表示されるので変更可能。
□描画
両面描画 : 描画後裏面の描画を行う
地面影 : 床に描画される影オブジェクトの描画
セルフ影マップ : セルフシャドウ描画で用いられるシャドウマップへの描画(描画しない場合他の材質に対して影が描画されない)
セルフ影 : 材質に対するセルフシャドウの描画
描画プリミティブ(Tri/Point/Line) :
Tri - 面(通常) = 三角ポリゴン(Triangle)
Point - 点(ポイント=■)表示。ポイントの大きさはエッジサイズで指定できます。1面3点方式なので、面から移行した場合は3つの点が描画されます。
Line - 線(ライン)表示。1面3点方式なので、面から移行した場合は3つのラインが描画されます(A-B, B-C, C-A)
頂点色 : 追加UV1の値を頂点毎の色として描画。材質自体の色は無視されます。発色については照明色計算後の値を直接設定したものになります。
※PmxView上では セルフ影マップ:OFF でも 地面影:ON だとセルフ影マップ:ON と同じ挙動になります(PmxViewの地面影はセルフシャドウを使っているための仕様)
□エッジ(輪郭)
有効 : エッジ描画の有効状態
サイズ : エッジの大きさ
エッジ色 : エッジの色(RGBA)
エッジは面反転モデルの描画により作成されます。
材質の透過度0のときに表示される黒モデルはエッジモデルなので、完全な透過状態にするにはエッジ色の非透過度も 0 にする必要があります。
※複数材質の描画面から参照される頂点のエッジサイズが異なる場合、MMDの描画では最小の値が使われます。
PMXエディタの描画では描画時に異なるサイズのまま描画されるので、面の破断など不正な表示になる可能性があるので注意
□テクスチャ/メモ
Tex : 頂点のUV座標を参照し描画される通常テクスチャパス
スフィア : スフィアマッピング(またはサブモード)で描画されるスフィアテクスチャパス(拡張子は任意)
スフィアモード : 無効/乗算/加算/サブTex → 頂点の追加UV1の(x,y)をUV参照して通常(乗算)テクスチャとして描画(頂点色とは共存できないので注意)
Toon : Toonシェーディングで使用されるテクスチャパス
メモ : 材質単位に記述可能なメモ欄/エフェクトなどへの連絡場所としても活用可能(モデル利用側が対応している場合)
Toon設定は toon01.bmp 〜 toon10.bmp の場合 "共有Toon" となり指定のToonテクスチャが使用されます。それ以外は "個別Toon" となります。
□テクスチャ表示窓
テクスチャ名の右側にある□をクリック、または材質メニュー内からテクスチャ表示窓を表示することができます。
この子窓を通してテクスチャの表示/入れ替え/編集アプリケーションの起動が可能です。
※テクスチャ表示窓からの編集アプリケーションは"_data"フォルダ以下の"TexEdit.txt"を要編集(存在しない場合は再起動すると生成されます)
複数指定も可能です。複数の場合は編集メニュー以下に対象が羅列されます。
※外部アプリケーションでのテクスチャ編集に対して、更新を監視し自動的にPMXエディタ側を更新する機能があります。
材質メニュー内の[外部テクスチャファイルの更新監視]をチェックしてください(テクスチャ設定の変更によりうまく機能しなくなる場合があります。一旦チェックを外し再度ONすることで初期化されます)
○材質リストメニュー
[材質の結合] : 選択材質(面構造)を一つに結合、材質データは結合元に吸収
[削除] : 材質を削除します。関連の面/頂点/モーフなども同時に削除されます。
[上へ移動] : 選択材質を一つ上へ移動
[下へ移動] : 選択材質を一つ下へ移動
[全て選択] : リスト項目を全選択
[Indexコピー] : 選択項目をIndexコピー(材質モーフへの追加設定に使用可能)
[Viewで絞込み表示] : 選択項目をPmxViewでの絞込み対象に設定
[名称の一括編集] : 名称一括編集を表示
[材質パーツの複製]
- [面のみ複製] : 選択材質と対応する面を複製
- [頂点/面を複製] : 選択材質と対応する面を複製し、面に関連する頂点も複製
- [頂点/面/関連モーフをすべて複製] : 選択材質と対応する面、頂点、さらに関連する材質/頂点/UVの各モーフも複製(オフセットは複製対象のみ)
[材質のコピー] : 材質データをテキストコピー
[材質のコピー(名称以外)] : 材質名/英名以外の材質データをテキストコピー
[個別コピー] : 材質の個別データをテキストコピー
[材質の貼り付け] : テキストコピーされたデータを材質に貼り付け(面数以外)、複数対象可能
[CSVファイルへ保存]
[CSVファイルから追加/更新]
[クリップボードへ保存]
[クリップボードから追加/更新]
→PMXのCSV変換について
[CSV/クリップボード保存時の面追加] : CSV保存項目に対象の面を含む(チェック項目)
○材質のコピーテキストフォーマット
[PMX_MATERIAL_TEXT]
[Name] 瞳
[NameE]
[Diffuse] 1,0.654,0.654,0.654
[Specular] 0,0,0,5
[Ambient] 0.4,0.4,0.4
[Mode] 0,1,1,1,0,0
[Edge] 1,1,0,0,0,1
[Texture] "eyeM2.bmp"
[Sphere] "",0
[Toon] "toon01.bmp"
[Memo] ""
先頭一行が材質テキストヘッダ、以下が各個別データ。
メモ帳などで編集して再度コピー→材質の貼り付け、といった手順で任意項目だけの貼り付けなども可能。
※変更したくない項目は削除可能(要ヘッダ行)
●[ボーン]
PMXのボーンの変形特性は属性として個別に設定可能
□基本設定
ボーン名 : ボーンの名称 | 各複製処理などのKeyとなるので重複/未設定は望ましくない
親ボーン : 親となるボーンのIndex
□表示先(>) - ボーンの>表示の指定
ボーン : 表示先を指定のボーン(Index)の位置で設定 ※[<<]ボタンにより単独で親参照しているボーンを指定可能
相対 : 表示先をボーン位置から任意のオフセット差で指定 [XYZ]
□変形順
変形階層 : 変形順を決定する値(階層値が小さい方が先)
物理後 : ONの場合物理演算後にボーン変形を行う
※物理前/後でグループ化、各グループ内を階層→Index順で並べ順次変形します。
□性能
回転 : 回転可能
移動 : 移動可能
IK : IK用
表示 : 表示可能
操作 : 操作可能
□付与 - 付与親の回転/移動量をボーン変形量に追加する属性
回転+ : 回転量の付与
移動+ : 移動量の付与
付与率 : 付与率
付与親 : 付与元のボーンIndex
L : ローカル付与
※付与される変形量(付与親の変形量)
■ローカル付与(ローカル付与ON) :
・付与親の現在の変形量(移動/回転量を分離して適用)
■通常付与(ローカル付与OFF) :
・ユーザーがボーンに指定した移動/回転量
・ボーンモーフから設定された移動/回転量
・IK変形によるリンクの回転量
・多重付与変形量
□軸制限 - 回転/移動時に任意の軸を操作軸に固定
軸方向 : 軸の方向ベクトル
※軸設定はView側のローカル軸の簡易設定機能推奨 ([>]ボタンにより表示先方向への簡易設定可能)
□ローカル軸 - ボーン操作時のローカルフレーム指定
X : ローカルX軸
Z : ローカルZ軸
※3軸はX/Zの設定により補正される(X/Zが直交ではない場合はZが補正される)
※軸設定はView側の軸制限簡易設定機能推奨 ([>]ボタンにより表示先方向への簡易設定可能)
□外部親 - 外部からボーン親を指定する場合の識別用Key
親Key : Key値
□IK - IKボーンのみ
Target : IKのターゲットボーン(Index)
Loop : IK計算のループ回数 (近似状態へ到達するまでの最大回数/MMDでは無視される場合があります)
単位角 : IK計算で使う単位角度[deg]
Link : IKリンクボーン | 追加はボーンリストからIndexコピー→Indexコピーから追加など
角度制限 : リンクの変形をXYZで制限
X/Y/Z : 各軸の制限角度[deg]
[→0] : 制限角度を初期化
○ボーンリストメニュー
[追加] -
[最後尾に追加] : 新規ボーンを最後尾に追加
[この位置に追加] : 新規ボーンを選択位置に追加
[複製を追加] : 選択ボーンの複製を"選択位置に"追加
[複製を最後尾に追加] : 選択ボーンの複製を最後尾に追加
[接続先を追加] : 選択ボーンを親とする接続ボーンを"選択位置に"追加。
[削除] : 選択ボーンを削除
[上へ移動] : 選択ボーンを一つ上へ移動
[下へ移動] : 選択ボーンを一つ下へ移動
[全て選択] : リスト項目を全選択
[Indexコピー] : 選択項目をIndexコピー(ボーン系リストなどで追加可能)
[Viewで絞込み表示] : 選択項目をPmxViewでの絞込み対象に設定
[名称の一括編集] : 名称一括編集を表示
[ウェイトボーン色設定] : 対象ボーンのウェイトボーン色を設定(一時的な変更)
[PMDボーン種類で設定] : PMDのボーン種類形式で属性値を設定 ※利用は非推奨
[CSVファイルへ保存]
[CSVファイルから追加/更新]
[クリップボードへ保存]
[クリップボードから追加/更新]
→PMXのCSV変換について
○IKLinkリストメニュー
[削除] : 選択対象を削除
[上へ移動] : 選択対象を一つ上へ移動
[下へ移動] : 選択対象を一つ下へ移動
[全て選択] : リスト項目を全選択
[Indexコピーから追加] : ボーンリストからコピーされた対象を追加(Index降順に変換)
■PMXボーンタブでのIK列の作り方
1. IK対象となる列ボーン及びIKボーンを作りIKボーンのIK属性をON
2. IK移動の基準となるボーン(列の最も先)をIK枠のTargetに設定(Index)
3. 列ボーン(IK/Target以外)をリストから複数選択し、右メニュー[Indexコピー]
4. IKボーンのIK-Linkリスト上で右メニュー[Indexコピーから追加]
5. Loop数や単位角、各リンクボーンの角度制限の調整を行う
※IK列はView側から簡易的に作成する機能もあります。
●[モーフ]
□基本設定
モーフ名 : 名称
パネル : モーフ表示位置 | 左下(まゆ), 左上(目), 右上(リップ), 右下(その他)
モーフ種類 : モーフ種類表示
種類変更 : 頂点/UVモーフを別の頂点/UVモーフへ変換
□対象Index
モーフ対象のIndex : モーフ種類によって 頂点/材質/ボーン/モーフ/剛体 の対象Index
□オフセット量
頂点/UV/ボーン移動/インパルス速度用
ボーン回転/インパルストルク用[deg]
フリップ/グループモーフ(影響度)
材質モーフ設定
モーフ種類について
頂点モーフ : 頂点位置を移動するモーフ
UVモーフ : 頂点のUV値をオフセット加算するモーフ(UV/追加UV1〜4まで共用)
ボーンモーフ : ボーンの変形量へオフセットを加えるモーフ(TransformViewからの作成も可能)
インパルスモーフ : 物理剛体へインパルス(瞬間的な力)を加えるモーフ
材質モーフ : 材質の各値にオフセットを加えるモーフ(乗算/加算選択可能)
フリップモーフ : 複数のモーフを並べて一つのモーフセットとして取り扱うことのできるモーフ
グループモーフ : 上記モーフを組み合わせて一つのモーフとして取り扱うことのできるモーフ(グループの再グループ化は不可)
○モーフリストメニュー
[新規モーフ作成] : 対象のモーフを新規作成 | 頂点/UVモーフはモーフ編集状態へ移行
[頂点/UVモーフ編集] : 選択モーフを編集 | モーフ編集状態へ移行
[複製] : 選択モーフを複製
[グループモーフにまとめる] : 選択モーフをグループモーフへ追加作成(グループモーフは追加不可)
[フリップモーフにまとめる] : 選択モーフをフリップモーフへ追加作成
[同一種類モーフを結合(重複加算)] : 選択モーフ中の同一種類モーフを一つへ結合(重複項目は加算合成)
[同一種類モーフを結合] : 選択モーフ中の同一種類モーフを一つへ結合
[削除] : 選択モーフを削除
[上へ移動] : 選択モーフを一つ上へ移動
[下へ移動] : 選択モーフを一つ下へ移動
[全て選択] : リスト項目を全選択
[Indexコピー] : 選択項目をIndexコピー(モーフ系リストで追加可能)
[名称の一括編集] : 名称一括編集を表示
[CSVファイルへ保存]
[CSVファイルから追加/更新]
[クリップボードへ保存]
[クリップボードから追加/更新]
→PMXのCSV変換について
○モーフオフセットリストメニュー
[追加] : 新規要素を追加
[複製] : 選択対象を複製
[削除] : 選択対象を削除
[上へ移動] : 選択対象を一つ上へ移動
[下へ移動] : 選択対象を一つ下へ移動
[全て選択] : リスト項目を全選択
[Indexコピー] : 対象要素をIndexコピー
[Indexコピーから追加] : 各対象リストからコピーされた対象を追加
■特殊なモーフについて
○ボーンモーフ
ボーンの回転量/移動量にオフセット変形を行うモーフ
ボーンモーフ新規追加後、
1. ボーンタブのボーンリストから[Indexコピー]
2. モーフのオフセットリスト内の[Indexコピーから追加]
によりオフセットへ追加可能(新規追加後に指定のボーンIndexへ書き換えても作れます)
※変形状態からのモーフ作成はTransformView参照
○材質モーフ
材質の設定値にオフセット加算/乗算を行うモーフ
ボーンモーフと同様、材質リストからのIndexコピーによりオフセットリストへ追加可能
※材質モーフは対象Indexを-1にすると、全材質が対象になります
□加算と乗算
例:元々のパラメータ値が0.8の場合 | 乗/加 + オフセット値
モーフ値 : 乗1 | 乗0 | 乗0.5 | 加0 | 加0.2 | 加0.6 |
↓ 0 : 0.8 | 0.8 | 0.8 | 0.8 | 0.8 | 0.8 | ←モーフ値0(初期状態)はオフセット値に関わらずデフォルト値
↓ 0.25 : 0.8 | 0.6 | 0.7 | 0.8 | 0.85 | 0.95 |
↓ 0.5 : 0.8 | 0.4 | 0.6 | 0.8 | 0.9 | 1.1(1.0) | 色値などは0-1.0の間に制限(クリップ)される
↓ 0.75 : 0.8 | 0.2 | 0.5 | 0.8 | 0.95 | 1.25(1.0) |
↓ 1.0 : 0.8 | 0.0 | 0.4 | 0.8 | 1.0 | 1.4(1.0) | ←モーフ値1では、デフォルト値 x|+ 材質モーフのオフセット値
※乗算オフセットを使う場合は1、加算の場合は0で初期化すること
※加算値に負数設定や乗算値に1以上の値を用いることも可能です(値のクリップに注意)
□材質の透過
拡散色の非透過度のA値を乗算0 及びエッジ色のA値を乗算0
※エッジ色を透過設定しない場合、透過(モーフ)最大でエッジ用反転(黒)モデルが表示されていまいます
□テクスチャの色透過
テクスチャの色設定はRGBAとA(非透過)値の設定も可能になっていますが、
材質モーフのテクスチャA値はテクスチャ自体のブレンド値として機能するので、
例えばテクスチャA値を乗算0にした場合は、モーフによりテクスチャの表示のみが薄く消えていくような変化になります(材質は透過しない)
通常の描画シェーダで行われているような、テクスチャA値をそのまま材質の色A値に乗算した場合とは異なる表示変化なのでご注意ください。
※例えばテクスチャ画像自体のA値が0.5の場合、テクスチャを貼り付けた材質自体の非透過度も0.5となり半透明の表示となりますが、
材質モーフのテクスチャ色A値を0.5にしても(非透過テクスチャの場合)材質自体は透過変化しません。
※初期状態から材質モーフのみでテクスチャが浮き出てくるような変化は作成できません。テクスチャ透過状態への初期設定モーフが必要になります。
□任意の値への変化
例えば材質の色を元の値に関わらず任意の色へ変化させたい場合の簡単な方法です。
1. 材質の指定パラメータに対して乗算0で材質モーフを作成(例えば拡散色と環境色のRGBを0、他は1)
2. 同材質に対して加算の材質モーフを追加しパラメータ設定(拡散色と環境色の色を指定の色値)
※モーフのオフセットリストから複製可能
乗算と加算を組み合わせることにより複雑な値変化も簡易に設定することが可能です。
ただしモーフの途中変化は期待するような変化にならないこともあります。ご注意ください。
○フリップモーフ
複数のモーフ結果を一つのモーフに配置することで、単一モーフの変化(スライダ操作)により順次変形を行うことができるモーフです。
例 : UV表情 (詳細はPmxViewの"UV表情作成"参照)
通常、UV表情で作成したモーフは個別のUVモーフとなり(ここでは4つと仮定)、利用時は、
表情1 にしたいとき → 表情1をON(1)、表情2,3,4を全てOFF(0)
表情2 にしたいとき → 表情2をON(1)、表情1,3,4を全てOFF(0)
に設定する必要があります。一つの表情変化だけでも複数のモーフ値を扱わなければならないわけで非常に面倒です。
これに対し、これらをフリップモーフとしてまとめておくと、フリップモーフ一つをスライダ変形させるだけで、
表情1 → 表情2 → 表情3 → 表情4
と変化させることができるようになります。
※ローポリモデルなどでUVを使った表情変化を用いる場合でも、通常の頂点モーフと同じ操作感覚で表情の取り扱いができるようになります。
UVモーフ以外でも全てのモーフ(含グループ)に対応しており、また同じモーフをモーフ値(=変形量)を変えて並べることも可能です。
モーフの切り替え位置は登録個数で自動的に変わります(例:9個登録の場合は0.1単位で変化->最初の一つ(0.0-0.1)は変形量0に対応)
グループモーフや別のフリップモーフを取り込んだ場合のモーフ変形は、Index順により優先されます。
順序によっては想定通りの変形が行われないことになるのでご注意ください。
※名称についてはパラパラ漫画(flip book)あたりを参考にしています。
○インパルスモーフ
物理演算剛体へ インパルス(瞬間的な力)を加えるモーフ。
通常、物理演算剛体はボーン追従剛体と異なり、能動的な制御はできませんが、
このモーフによりある程度の制御ができるようになります。
設定可能なパラメータは、
ローカルフラグ(ON/OFF)
移動速度 (X/Y/Z)
回転トルク (X/Y/Z)
があり、位置/向きに対してそれぞれ加速効果を与えます。
ローカルONの場合は剛体のローカル軸で、OFFの場合はグローバル軸で加速します。
モーフ変化によりインパルス量を細かく制御することもできます。
このパラメータは剛体へ瞬間的な力を加えるだけなので、質量や周辺との摩擦状態、現在の運動状態などにより挙動が変わります。
特殊設定として、移動速度、回転トルクともに全て0値(=初期状態)の場合、対象の物理剛体の運動状態を初期化します(停止制御)
即時に完全に停止するわけではありませんが、周りから力を受けない限り停止へ向かう運動制御となります。
周辺から動かされている状態で使用すると、重力の効きがかなり弱くなったように見えるのでご注意ください。
※剛体のプルプル現象は状況によって発生要因が異なるので、インパルスモーフによる停止制御ですべて対応できるわけではありません。
なお、停止制御は インパルスモーフのモーフ量が 0 から少しでも変化があると ON の扱いになります。
応用として、モーフを組み合わせることにより、物理剛体を空間内で(3Dゲームのように)自在に操作することも可能です。
※当然のことながら、ボーン追従剛体へインパルスを加えても効果はありません。
●[表示枠]
MMDなどのフレーム表示枠(画面左)に表示される対象
共通表示枠として任意のボーン/モーフを格納可能
[Root] : ルート位置への表示用
[表情] : 表情一括格納用(PMD互換)
PMXでは上記2枠を管理枠としてシステム予約
○表示枠リストメニュー
[新規追加] : 新規作成
[削除] : 選択対象を削除
[上へ移動] : 選択対象を一つ上へ移動
[下へ移動] : 選択対象を一つ下へ移動
[全て選択] : リスト項目を全選択
[名称の一括編集] : 名称一括編集を表示
[CSVファイルへ保存]
[CSVファイルから追加/更新]
[クリップボードへ保存]
[クリップボードから追加/更新]
→PMXのCSV変換について
○枠内要素リストメニュー
省略
モーフ追加 : 選択モーフを現在の枠へ追加
モーフマスク : 指定のモーフ種類/パネル対象のみを選択候補とする
ボーン追加 : 選択ボーンを現在の枠へ追加
ボーンマスク : 非表示/操作不可ボーンを選択候補へ表示
●[剛体]
物理演算での剛体(衝突用の基礎オブジェクト)を編集
剛体名 : 名称
関連ボーン : 剛体に関連するボーン。剛体タイプにより値の入出力が反転します。
剛体タイプ : 物理演算での剛体の挙動
[ボーン追従] - 関連ボーンにより動かされる剛体。物理演算上では固定された剛体として取り扱われます。
[物理演算] - 物理演算により動かされる剛体。動かされた結果は関連ボーンに反映され、ウェイト設定を介して形状(頂点)へ伝達されます。
[物理+ボーン位置合わせ] - 基本的に物理演算剛体と同じ挙動ですが、移動分を捨てて回転のみをボーン側へフィードバックする仕組みとなります(Jointズレ対応用)
形状 : 剛体の形状。球/箱/カプセルの3種類。
サイズ : 大きさ。形状によって設定可能な値が変化します。
位置 : 剛体位置
回転 : 剛体の向き
グループ : 所属するグループ(以下の衝突判定回避に使用します)
非衝突グループ : 衝突判定を行わないグループ対象。チェック対象のグループに含まれる剛体/SoftBodyと衝突しなくなります。
質量 : 質量
移動減衰 : 移動時の減衰量
回転減衰 : 回転時の減衰量
反発力 : 衝突時の反発力
摩擦力 : 衝突時の摩擦力
○剛体リストメニュー
[剛体名を関連ボーンから設定] : 関連ボーンの名称を選択剛体の名称(日)へ設定 ※対象のない場合は設定されない
●[Joint]
Joint名 : 名称
Joint種類 : Jointの挙動種類
[バネ付6DOF (標準)] - 標準Joint。MMD(7.39.)ではこのJointのみ対応。(一応)下記のJointの機能を(モーターを除いて)全て含みます。
[6DOF] - 標準Jointからバネの機能を省いたもの。
[P2P (点結合)] - 点結合Joint(PointToPoint)。単純な結合で回転の範囲制限などはできません(負荷が軽いのが特徴?)
[ConeTwist (錐回転)] - 円錐形の回転範囲をとるJoint(主に肩などの回転機構で用いられる)。回転軸毎の稼動範囲の拡がりなどを指定可能。
各パラメータ値はPMX仕様や下部の説明項目を参照(dp/fcが0のままだと物理シミュレートが壊れることがあります)
[Slider (軸移動)] - 単一の軸で移動(または回転)を行うJoint。回転動作は不正になることがあります。モーター機能により自律稼動させることが可能です。
[Hinge (軸回転)] - 単一の軸で回転を行うJoint。Slider同様モーター機能により自律稼動させることが可能(エンジン回転などにはHingeが最適)
接続剛体A : Jointで接合する剛体(上)
接続剛体B : Jointで接合する剛体(下)
位置 : Joint位置
回転 : Jointの向き
移動制限 : Jointの可動範囲 | A - B (xyz軸別)
回転制限 : Jointの可動回転範囲(6DOF系の場合 Y:-90〜90度の範囲外は正常に動作しない) | A - B (xyz軸別)
A < B | 範囲で制限
A = B | 指定値でロック(剛体との距離ズレなどにより完全なロックは不可能)
A > B | 制限なし(フリー)
バネ移動 : バネ計算で使われる係数(移動)
バネ回転 : バネ計算で使われる係数(回転)
[←ボーン位置設定] : 直上にあるボーン選択対象のボーン位置へJoint位置を設定します。
[←軸向] : ConeTwist/Slider/Hinge の場合、移動/回転の軸方向をJoint向きから簡易的に設定します。
[↑制限値初期化] : 範囲制限を初期化[0-0]します。パラメータ対象は初期化されません。
[パラメータ初期化] : Jointに関連するパラメータ値を初期化します(モーターはOFF)。制限内のパラメータも対象は変更されます。
[↓パラメータ説明] : 編集窓を大きくして下部にあるJointの説明を表示します。直接編集窓のサイズを変更しても見ることは可能です。
○Jointリストメニュー
[Joint名を接続剛体Bから設定] : 接続剛体Bの名称を選択Jointの名称(日)へ設定 ※対象のない場合は設定されない
※Joint種類によって表示や編集可能項目などが変化します。詳細については [パラメータ説明] で表示される編集窓下部のJoint説明を参照してください。
※残念ながら、どのJointでも制限に関わらす位置ズレや軸ズレなどが頻繁に発生します(おそらく物理エンジン側の仕様)
移動ロック指定のJointは内部的に補正処理を行っています。ズレが気になる場合は剛体側の[ボーン位置合わせ]を検討してください。
●[SoftBody]
SoftBody名 : 名称
形状 : SoftBodyの形状
[TriMesh] - △ポリゴンで囲まれたメッシュ(△の集合) | 通常の物体系モデル用
[Rope] - ロープ形状 | 面(△)構造に関係なく対応頂点を順次直列につないでいきます。
※メッシュ構造に合わない形状設定を行った場合、物理演算自体が壊れる場合があるので注意
関連材質 : SoftBody として取り扱う材質。材質を1単位としてSoftBodyへ変換します。
非SoftBodyの材質と共有している頂点なども強制的にSoftBodyとして取り扱われます。
[材質表示絞り込み] : チェック時、関連材質をView上で自動的に絞り込み表示状態にします。
総質量 : SoftBody全体の質量。個々のノード(頂点)位置での質量は平均化されたものになります。
衝突マージン : 他オブジェクトとの衝突判定に使われるマージン距離
グループ : 所属するグループ(以下の衝突判定回避に使用します)
非衝突グループ : 衝突判定を行わないグループ対象。チェック対象のグループに含まれる剛体/SoftBodyと衝突しなくなります。
※グループ設定及び非衝突設定は剛体と共通/共有です。
アンカー剛体 : SoftBodyと剛体の接合。対象の剛体及びアンカー位置を指定可能(○剛体のアンカー設定参照)
Pin(固定)頂点 : 固定状態にするノード(頂点)位置。固定化された頂点はボーンから操作可能となります(○Pin頂点設定参照)
性能プリセット : SoftBodyの挙動をプリセット設定。[性能プリセット]ラベル名上で右クリックからテンプレートの編集が可能。
[↓詳細設定] : SoftBodyの詳細性能を編集可能にします。※編集窓を大きくするだけでは表示されません。
□詳細設定
B-Link : BendingConstraints を作成(一般的にノード間の接続が強くなる)
B-Link距離 : B-Link右側の数値。BendingConstraints作成時のパラメータ(2は特殊設定)
クラスタ : クラスタを作成し衝突判定をクラスタで行う。※現状は非推奨機能(変更するには [クラスタ解禁] から有効化する必要があります)
クラスタ数 : クラスタ右側の数値。作成するクラスタ数(0の場合は内部で最適化?)
リンク交雑 : ノード間の接続をランダムに強化。内部が空洞な物体系でも形として補強されます。
TriMeshの場合は作成時に一度強化されているので二度目の補強になります。Ropeでは必要ありません。
Aero : エアロモデル(風圧系の計算モデルだと思われます)。ヒラヒラと布系を落下させるような表現が可能になります(V_TwoSided)
-config- : SoftBodyの各挙動パラメータ(不要な項目もいくつかあります)。詳細はPMX仕様及び物理演算エンジン(bullet)の仕様を参照
-cluster- : クラスタ動作時の挙動パラメータ。※現状は非推奨機能
-iteration- : 計算精度(のようなもの)。例えば P_IT を大きくすると物体が硬くなり衝突判定の精度がよくなります。
-material- : SoftBodyの挙動パラメータ。
○SoftBodyの特徴
各頂点毎に物理挙動を計算するので柔軟な物体や布、紐の表現などを簡単に取り扱うことができます。作成も容易です。
反面、剛体構造と比較すると極端に重くなります。
1000頂点程度のSoftBodyでも、環境によってはリアルタイムでの運用は難しくなります(単純に 1000頂点 = 剛体/Joint数1000以上 と同じようなものなので)
設定にもよりますが、剛体構造よりも衝突判定がかなり甘いようです(頂点周辺のみ)
変形画面のデフォルトの地面構造(無限平面)だとSoftBodyは簡単に突き抜けてしまいます。
SoftBodyを地面設置として利用したい場合は、厚みのある剛体を地面下へ配置する必要があります。
形状の保存についてもあまり精度がよくありません。
単純な球構造のSoftBodyでは、裏表が反転するような挙動を起こしたりします。反転回避用に内部に剛体を挟むなど対応が必要です。
対象の1材質内で面構造が繋がっていない部分は別々の物体として処理されます。箱や円柱などでバラバラになるのが確認できます。
SoftBodyとして扱う物体は近距離頂点結合などで一連の面構造にしておく必要があります。
剛体や頂点との接続に関してもいくつか問題があります(以下参照)。
また特にクラスタ利用時や極端なパラメータ値を設定した場合など、
物理計算が不正になったり、ツール自体が強制終了される場合もあるようです。
※bullet側が物理シミュレート内で問題を起こしていると推測されます(bulletのバージョンによっては問題が出なくなるようです)
なお、本ツールでは速度面の調整はほとんど行われていません。実装環境によってはSoftBodyを快適に運用することができるかもしれません。
○SoftBody作成手順
1. SoftBody として取り扱いたい物体を1つの材質にまとめる
2. SoftBody リストから 新規追加
3. 関連材質を 1. の材質に設定
4. 性能プリセットから適用なものを選択(通常の形状なら[物体系 : 硬])
あとは適宜グループやパラメータ、接合などを設定してください。
○剛体のアンカー設定
SoftBodyと剛体を接合します。剛体とSoftBody間のJointのような機能です。
作成は、接合する頂点(Index)と剛体を登録するだけです(対象頂点は当然SoftBodyに含まれていなければなりません)
接合剛体が物理演算剛体の場合はSoftBodyの挙動に追従します。ボーン追従剛体の場合はその剛体の動きにSoftBody側が引っ張られます。
アンカーは引っ掛けるだけで完全にその位置で固定するものではありません。ほとんどの場合、両者の距離はかなり離れてしまいます。
Nearモードを使うことで、接合対象の剛体とSoftBodyを近づけることができますが、ボーン追従剛体が対象の場合はほとんど効果はありません。
物理演算剛体が対象の場合でも不自然な挙動になることがあるので、使用は状況に合わせて選択する必要があります。
SoftBodyとSoftBodyも剛体を挟むことで結合可能ですが、上記の問題点から想定したような挙動にはならないと思われます。
※Nearモード
接合対象の剛体とSoftBodyを近づける補正処理を行います。対象剛体により異なる動作になります。
ボーン追従剛体 : SoftBody側の接続ノード位置を剛体位置の方向へ速度付加 (位置の強制設定は物理エンジンが壊れたので暫定処置)。ほとんど効果なし。
物理演算剛体 : 関連剛体位置をノード位置へ強制移動。状況により不安定な物理挙動になる場合があります。複数のSoftBodyから結合されている場合は仕様上正しく動作しません。
□アンカー剛体
[剛体] : アンカー対象の剛体
[頂点] : アンカー位置の頂点(Index)
[Near] : NearモードのON/OFF
[+追加] : 選択剛体と頂点Indexから剛体アンカーをリスト追加
[*更新] : 選択対象を指定状態で更新。※アンカー剛体は他の編集対象のように即時更新ではないので注意
[選択頂点↑] : Viewで選択対象の頂点を頂点Indexに設定
※削除や入れ替えはリスト右クリックメニューから。
○Pin頂点設定
SoftBody内の任意の頂点を固定化します。
固定化された頂点はボーンから操作することができるので、SoftBodyの操作ハンドルとして利用することもできます。
特徴としては、アンカー剛体と異なり位置ズレが起きません。
物理演算からは完全に独立するのでSoftBody側がどれだけ変形しても、Pin頂点の位置は変化しません。
変形処理としては、前後に内部変換が必要になるので多少重くなります。
あまり大量のPin頂点を作成すると動作に支障をきたすかもしれません。
注意点として対象Pin頂点のウェイトボーンが物理後変形状態になっていると、正しく操作できない可能性があります。
またクラスタ作成対象のSoftBodyによりPin頂点が不正にずらされることがあります。その場合は物理シミュレートがそのまま破損することが多いのでご注意ください。
□Pin(固定)頂点
[頂点Index(テキスト)] : カンマ区切りでIndex羅列。直接編集はEnterで要確定。
[+選択頂点追加] : Viewで選択対象の頂点を追加
[*初期化] : Pin頂点を初期化
[選択] : Viewの頂点を選択
○SoftBodyのパターン
大きく分けて、物体系/布系/ロープ系 の3種類に分類されます。
形状及び性能プリセットで適宜選択する必要があります。
※形状の破断等もエンジン内では実現可能ですが、操作系の一様化は難しいので、モデル構造としては定義しません。
○パラメータ設定ヒント
非常に多くのパラメータ変更ができますが、効果の全く不明なパラメータもいくつか含まれています。
クラスタは現状の構成上では問題があるようで、物理エンジン(またはシステム全体)が不安定になります。
使用は推奨しません(cluster関係も同様)
※クラスタ
衝突判定をノード(頂点)ではなく内部に作成したクラスタ(ある程度の大きさを持った判定対象)単位で行う機能。
仕様なのかわかりませんが、(フラグを適切に設定しても)クラスタSoftBodyと非クラスタSoftBodyは衝突しなくなるようです
(剛体とは両者ともに衝突します)
物体の硬さの調整は、
P_IT (-iteration-)
LST (-material-)
あたりで大きく変化します。
※ パラメータ設定によっては物理シミュレート時に問題が発生し、場合によっては PMXエディタ側も巻き込んで強制終了することがあります。
○ロープテスト
Viewの [簡易プリミティブ追加] からSoftBodyを含めて簡単に作成できるようになっています。
ロープは材質に指定された面から対応する頂点を連続して連結する仕組みになっているので、
参照順序が正しくないと一連のロープ構造になりません。
※SoftBodyはロープに限らず頂点分割数によって硬さが大きく変化するので、変形の細やかさとのトレードオフにご注意ください。
○SoftBodyによる変形フィードバック
ボーン側への直接フィードバックは現状では対応できません。
アンカー剛体 → ボーン → 頂点変形
のルートは可能ですが、ボーンを連結構造化する場合は変形を物理後変形に設定する必要があります(物理演算の基本仕様)
ロープなども本来は任意の変形から形状変形へフィードバックできると応用範囲が拡がりますが、
複雑な変形様式は速度低下を一層大きくしてしまうので、現状では単純な構成での対応のみとなります。
§ PMXインターフェイス(Pmx編集) の機能 - メニュー処理
●[ファイル]
[新規作成] - PMXモデルの新規作成。
[開く] - 既存のPMX/PMD/Xファイルを開く
[名前を付けて保存] - PMXファイルを保存。
[上書き保存] - PMXファイルを上書き保存(初回は保存ウィンドウを開く)
[保存時処理] -
[PMXバージョン選択] - [自動選択] / [2.1] / [2.0] - 保存時のPMXバージョン/自動選択時は必要に応じて適宜変更
[追加UV数自動設定] - 頂点内の追加UV値を参照して必要数を自動設定します。保存後ヘッダ情報は書き換えられます。
[インポート] - PMX/PMD/X各形式をインポート(追加選択可能)
[エクスポート] - PMX/PMD/X各形式でエクスポート
※インポート/エクスポートは対応プラグインの追加により形式を増やすことが可能
[アンカーデータの自動読み込み/保存] - モデルファイル名と同名のアンカーデータファイル(*.psk)がある場合自動読み込み/アンカーデータがモデル内に存在する場合モデル保存時に同名ファイル(*.psk)で自動保存
[別窓を開く] - "現在開いている"モデルファイルを新しい編集窓で開きます。
※編集中のデータではないので注意してください(複数編集時は意図しないロールバックの危険性が高くなります)
[フォルダ関係] -
[ルートフォルダ] - 実行ファイルのフォルダを表示
[プラグインフォルダ] - プラグインフォルダを表示
[readme.txtを表示] - readme.txtファイルを表示 [F1]=ヘルプショートカット
[テキスト(CSV)変換] -
[CSVファイルへ出力] - PMXデータをCSV変換しファイル保存
[CSVファイルから追加/更新] - CSV変換されたファイルからデータを追加/更新
[クリップボードへCSVコピー] - PMXデータをCSV変換しクリップボードへコピー
[クリップボードから追加/更新] - クリップボードからCSV変換されたデータを追加/更新
[PMXデータの状態検証] - 状態検証を表示
・状態検証
PMX内の基本的な問題点が一覧で表示されます。
※状態検証はプラグインにより項目を拡張することもできます。
それぞれ目安として、
〇 : 問題なし
△ : 場合によっては問題になるかもしれません
× : 必ず修正してください
となっています。表示は filter設定で適宜切り替えることが可能です。
問題のある対象が Index(数字) で表記される場合は、
カーソルをその位置に合わせることで右下部に対象名などが表示されます(プラグイン拡張非対応)
また[→]ボタン操作または [J]キーにより対象へ表示が移動します。
・テキスト(CSV)変換について
PMXの各データ要素をCSVへ変換/保存可能な機能
変換されたCSVからの追加/更新では、KeyとなるIndexや名称の要素により追加/更新が判定されます。
同名要素や空名要素がある場合正しく入力されないので注意
※各リストメニューでの複製/追加も同様
●[編集]
[リスト関係] -
[リストの表示更新] - 実際のデータ値と表示されているリストの値が異なる場合などに表示を更新する(Viewなどで編集すると表示が整合しなくなることがあります)
[View選択対象(複数)のリスト選択] - View側で複数選択した場合、同時に複数選択するリスト対象。※頂点/面をONにすると実用に耐えない状態になる可能性があります
[現在のView選択対象をリスト選択] - View側での(複数)選択対象をリスト選択対象に設定。※リストの構造上非常に重くなる場合があります
[ラベルジャンプの抑制] - チェック時はラベルジャンプを抑制
[ラベルジャンプ元へ復帰] - ラベルジャンプ移動前の対象へ戻します
[元に戻す] - Undo処理。モデルデータに変更があった場合、一手順前に戻します。
[やり直し] - Redo処理。Undo処理をおこなった場合、その状態に戻します。
[Undoバッファ管理] - Undoバッファなどを含む使用メモリの表示/Undoバッファのクリアやバッファ軽減の設定
[アーカイブ管理] -
[アーカイブから選択] - モデルアーカイブ(共通倉庫)から現在の編集対象を選択変更
[アーカイブへ追加保存] - モデルアーカイブへ現在状態を保存
[オープン時初期化] - ファイルオープン時にアーカイブを初期化(初期ON)
[オープン時自動保存] - ファイルオープン時に自動的にアーカイブへ追加(初期ON)
[入れ替え時にファイルパスを復元] - モデルアーカイブからの変更時に自動的にファイルパスを復元(初期ON)
[タグ編集] - コメントタグの編集機能。タグは任意に指定可能
[名称の一括編集] - 材質/ボーン/モーフ/表示枠/剛体/Joint/SoftBody の 名称(和名/英名)を一括で編集 ※各リストから呼び出し可能
[頂点] -
[未参照ボーンの修正] - 頂点の参照ボーンのうち参照先のない値を0に初期化します。
[不正法線の修正] - 頂点の法線が不正になっているものを自動的に修正(場合によっては正常に動作しない可能性があります)
[単独(面非参照)頂点の選択] - 面から参照されていない独立した頂点を選択状態にします(存在しない場合はメッセージ表示)
[ウェイト正規化] - 全ての頂点のウェイトを正規化します(リストから全ての頂点を選択→正規化ボタンと同様 ※全対象ではこちらの方が高速)
[正規化時のウェイト合計1化] - ON:正規化処理時BDEF4対象のウェイト合計を1.0に補正
[SDEF-C値の正規化] - ボーン移動などSDEF用のC値と整合が取れなくなった場合の正規化処理(TransformViewでの変形初期化時に自動的に呼び出されることがあります)
[不正なSDEF頂点をBDEF2化] - 不正SDEF頂点をBDEF2へ変更します。
[材質] -
[材質の単一化] - 複数の材質を先頭の材質一つへまとめる。
[同一材質の結合] - 同じ材質値の材質を結合
[任意の色幅で同一材質の結合] - 指定の色幅で結合(初期値は1/256)
[色値の[0-1]制限] - 各色値(RGBA)の値を0-1に制限(環境によっては負数or1以上の値は正常に動作しない可能性があるので注意) ※ダイアログからの色設定は[0-1]に強制されます
[View絞込み対象を選択] - PmxView側絞込み選択されている材質を選択(材質絞込み状態になっているときのみ)
[テクスチャ表示] - テクスチャ表示窓を表示(材質タブ内の□と同様)
[スフィアテクスチャ表示] - スフィアテクスチャ表示窓を表示(材質タブ内の□と同様)
[Toonテクスチャ表示] - Toonテクスチャ表示窓を表示(材質タブ内の□と同様)
[外部テクスチャファイルの更新監視] - ON時テクスチャファイル(Toon含む)が更新(外部アプリケーションから変更/保存など)されると自動的にエディタ側も更新
[ボーン] -
[同名ボーンのマージ] - 同名ボーンを一つのボーンにまとめます(上位優先)
[「〜先」ボーンを非表示化] - ボーン名が「〜先」(除(左右)つま先)の表示属性をOFF
[「〜先」ボーンの相対化] - ボーン名が「〜先」(除(左右)つま先)の変形不要ボーンを削除/オフセット化
[相対表示先の「〜先」ボーン化] - オフセット指定の表示先ボーンを非表示ボーン指定へ変換(ボーン追加) ※相対化の逆変換
[同一階層化] - 全てのボーンを同一階層へ変換(変形順で順序変更)
[「全ての親」ボーンの追加] - 「全ての親」ボーンを追加し、ボーン内の最上位親として設定。
[モーフ] -
[同名モーフのマージ] - 同名モーフを一つのモーフにまとめます(上位優先)
[表情枠の正規化] - 表情枠に重複登録または未登録の項目を修正
[プラグインDLLの直接実行] - 外部のプラグインDLLを直接実行(ただし一度実行するとロード状態になるので、そのアセンブリDLLは更新不可になる ※Cプラグインの場合は破棄/リロードが可能)
[プラグイン] -
[CSScript] - CSスクリプトプラグイン
[Launcher] - プラグインランチャ
[System] - 同梱プラグインの実行
[User] - ユーザー作成プラグインの実行(登録している場合のみ)
●[表示]
[モデル表示] - モデル表示ウィンドウ(PmxView)を開く。非表示時はデータ変更時など Viewの同期更新が一部おこなわれなくなります。
[子窓制御] -
[子窓の相対位置固定] - テクスチャ表示窓などが同期して移動します。
[子窓位置を画面内に制限 - 子窓が画面外へ出ないよう位置を制限します。
[ボーンリストカラー] - ※ボーンリストのアイコン色設定
[ボーン属性] - ボーン属性に対応した色値(PMD基準)
[ウェイトボーン] - WeightBone描画用のボーン毎の色値
[英名一括切換え] - [→日]/[→英] - 名称など英名選択可能対象に対して一括設定
[ショートカットキー一覧] - 利用可能なショートカットキーの一覧(文書表示)
[常に最前面表示] - 編集ウィンドウを常に最前面に表示
●[情報]
[バージョン情報] - PMXエディタのバージョン情報表示
§ モデル表示/編集ウィンドウ(PmxView) の機能 - 表示関連
モデルデータを視覚的に表示/編集可能な画面。表示項目は「表示設定」子窓で変更可能。
※[表示] - [表示設定] でも設定ウィンドウの表示可能
○画面内操作法
右ドラッグ : 視点中心回りに視点を回転(回り込み)移動
ホイールドラッグ : 視点中心を上下左右移動
ホイール操作 : 奥行き方向に視点前後移動
右ダブルクリック : 視点位置の初期化(カメラリセット/パースONとOFFでは初期化位置が異なります)
Ctrl+右ダブルクリック :
モデル形状内の場合はその位置を視点の回転中心へ設定。範囲外の場合は視点の回転中心を初期化
TransformViewは頂点表示時に正常機能(仕様)
左クリック/ドラッグ : 個別選択/編集操作
テンキー数字押下 :特定のカメラ位置に変更 | パースONとOFF時は前後左右位置が異なるので注意
※上から見てカメラ位置を中心(C)に前後に2/8、左右に4/6、上下に5/0
後↓5
8
4 (C) 6
2
0↑前
テンキー9 : 回転中心位置を画面中央に表示
テンキー7 : テンキー数字で視点を変更した直前の表示状態
※カメラ操作では Ctrl同時押しで1/10, Shift同時押しで10倍 のスケールで調整可能
※奥行き方向の視点操作はパースON時とパースOFF時で異なります。
またパースON時に注視点を越えて移動設定した場合、パースOFF時に正しく表示が行われない可能性があります。
→不正な表示になった場合は、右ダブルクリックなどにより視点の初期化を行ってください。
□カメラアイコン(同系Viewにも搭載)
右ボタン/ホイールによるカメラ操作をアイコン操作により左ボタンでも扱えます。
アイコン左から、XY回転/XY移動/Z移動/Z回転 になっています。
※Z回転を行った場合は軸操作のジンバルロックにより、視点がうまく回転できなくなる場合があります。
※奥行きを大きく移動した場合、表示が不正になることがあります。初期化で対応してください。
アイコン上右クリックでメニューが表示されます。View側メニュー内と同名の機能(回転中心関係)は同様の設定になります。
[カメラリセット] - 視点位置/向きを初期状態へ戻します
[リセット直前状態へ戻す] - 前回リセット直前の視点位置/向きへ戻します
[カメラ操作] -
[ロック] - カメラ操作を無効化
[回転のみロック] - 回転操作のみカメラ操作を無効化
[状態保存] - 現在の視点位置/向きを保存
[復元] - 保存されている視点位置/向きを現在状態へ復元設定
[リセット設定] -
[カメラリセットの抑制] - リセット操作(右ダブルクリック含む)を抑制
[リセット位置を現在のカメラ位置に変更] - カメラリセット時の視点位置/向きを現在の状態へ設定
[リセット位置を初期状態へ戻す] - カメラリセット時の視点位置/向きを初期状態へリセット
[視点の回転中心] - View側メニューと同機能
□編集状態の直接選択枠(モードナビ)
1: 選択/基本編集
2: ウェイト/UV描画
3: 面切断(ナイフ)
4: 拡張編集(オブジェクト追加)
PmxViewでの編集モードを直接切り替えることができます。
それぞれ各編集子窓から開始/終了を選択することと同義ですが、
モードナビから選択した場合は、対応した子窓が表示されます。
□上部アイコン
オブジェクトの選択対象/選択形式/操作子窓の表示のON/OFF
それぞれ個別の説明項目を参照してください(カーソルを合わせるとTIPS名が表示されます)
※各操作子窓を右ボタンを押しながら表示した場合、マウスカーソルが子窓上部メニュー位置へ移動します。
□下部アイコン
表示設定での追加表示項目を設定可能です。
○表示設定
各色設定は材質の色設定と同じく枠をクリックすると色設定ウィンドウが表示されます。
直接値を設定する箇所は、入力後Enterで確定しないと反映されないので注意。
[設定1]
背景色 : 背景の色
環境色 : モデル空間全体の色調
照明色 : 照明の色
照明方向 : 照明の方法設定(MMD準拠)
□照明 : チェック→照明方向の設定用UI(LightUI)を画面に表示
※LightUIは PmxViewのみ有効/内部的に方向値で管理しているので表示位置は一意に定まりません(仕様)
追加表示
ボーン : ボーン構造を表示
頂点 : 各頂点をポイント表示
選択頂点: 選択された頂点を表示、頂点表示がOFFでも表示可能
選択面 : 選択された面を表示
非表示ボーン : 非表示になっているボーンを表示、ボーンが表示状態になっている必要あり
法線 : 各頂点の法線を表示
選択法線: 選択された頂点の法線を表示
剛体(線): 剛体をライン形状を表示
剛体(形): 剛体を半透明形状で表示
Joint : Jointを表示
[設定2]
パースペクティブ
OFF : パースOFF
Z範囲変更 : パースのON/OFF 時にZ範囲(範囲大)を倍率調整(1/100倍) ※現在値から倍率調整するので、変更時によっては値が戻らなくなります。
視野角 : 視野角の設定(0不可)
Z範囲 : 奥行き方向の表示範囲(大きくすると深度解像度が悪くなるので、状態によっては表示が不正になるかもしれません)
初期化 : 視野角/Z範囲を初期化(個別の初期化は各ラベル上で右クリック)
表示形式
通常 : 通常のモデル表示
Flat : 平面を面として表示
Wire : 線モデル(ワイヤーフレーム)として表示
Wire(単色) : ワイヤーフレームを単色で表示
Weight : 選択ボーンに対するウェイト値を色表示/3ボーンまで同時に表示可能(R/G/B)
WeightBone : ウェイト値をボーン色でブレンド表示
WeightType : BDEF1/BDEF2/BDEF4/SDEF/QDEF により色分け
UV : UV値を色表示/4色でUV値を表現(プリミティブ追加から作成した平面などで色との対応が確認可能です)
UVTex : UV値を対応テクスチャで一括表示 | テクスチャ画像は任意に変更可能 (data/uvTex.txt)
UV+(UVA1-4) : 追加UV値を色表示(RGBA) | W1固定 : 追加UV表示時にWの値を1で固定(W=0:透明で見えないため)
Wire+ : 各表示にワイヤーフレームを追加または解除
※パース設定やモデル状態によってはワイヤーの前後関係が正しく表示されないことがあります
エッジ
表示 : エッジ(輪郭線)を表示
サイズ : エッジサイズ(幅)を変更
[設定3]
調色タイプ
Toon適応:MMDのようなToon表示に最適化した描画様式
アンチエイリアス (環境によっては使用不可)
無効 : アンチエイリアスを使いません
x2 : アンチエイリアス2x2
x4 : アンチエイリアス4x4
x8 : アンチエイリアス8x8
※それぞれグラフィックボード(GPU)の機能に従います。デバイス側で固定されている場合などは変化ありませんのでご注意ください。
軸/軸平面
表示 : 座標軸と地面グリッドの表示
裏 : 常にモデルの裏側に描画する(グリッドとして使う場合などにON)
枠幅 : 地面グリッドの表示間隔(0.5以上)
Toon/スフィア
無効 : Toon表示を無効化(スフィアはMMD準拠)
Type1 : MMD準拠のToon/スフィア表示にする
Type2 : 独自のToon/スフィア表示にする
スフィア有効 : スフィアの表示
影
地面影 : 地面影の表示
セルフ影 : セルフシャドウの表示
設定 : セルフシャドウ設定の表示
頂点表示
ボーンウェイト : 頂点表示をウェイト表示に切り替え
影響頂点のみ : ボーンの影響下頂点のみ表示
表面頂点のみ : 裏側の頂点を表示/選択しません(選択対象は表示されます)
面単位判定 : 頂点の表面判定を描画されている面で行います。
面が描画されない場合(画面に対して面の大きさが0/Line用の頂点など)は対象頂点は表側でも表示されません。
OFF時は頂点単位で前後判定を行います。Line用の頂点なども表示されますが反面精度が悪くなります(裏側の頂点も一部表示される)
[設定4]
頂点/法線
頂点サイズ : 頂点表示で使うポイントサイズ
頂点色 : 頂点の色
/選択色 : 選択頂点の色
法線長 : 表示される法線の長さ
法線色 : 法線の色
/選択色 : 選択法線の色
剛体/Joint
剛体色 : 剛体の色
物理剛体色 : 物理剛体の色
/選択色 : 選択剛体の色
剛体軸 : 選択剛体の軸サイズ
Jointサイズ : Joint表示のポインタサイズ/選択Jointの軸サイズ
/選択色 : 選択Jointの色
その他
選択面 : 選択面の色
/透過 : 選択面の非透過値
Wire : Wire2表示でのワイヤーフレームの色
ウェイト範囲外 : ウェイト範囲外の頂点色
[ファイル]
- [表示設定の読み込み] - 表示設定をファイルから読み込み
- [表示設定の保存] - 現在の表示設定をファイルへ保存
- [標準設定へ保存] - 現在の表示設定を標準ファイルへ保存(次回起動時以降はその設定が初期値になる)
- [表示設定の初期化] - 表示設定を起動時の設定に戻す
- [ミップマップテクスチャの切り替え] - テクスチャのミップマップ作成のON/OFFを切り替えます(変更時テクスチャの再読み込み)
※ミップマップテクスチャは元のテクスチャサイズの大きさにより作成レベル数が変化します
●[表示] - [視点の回転中心]
視点の回転中心を任意の場所に設定します。
[初期化] - 原点に設定
[選択頂点] - 現在の選択頂点の位置に設定(複数の場合は重心座標)
[選択ボーン] - 現在の選択ボーンの位置に設定(複数の場合は重心座標)
[選択面 - 面正面配置] - 現在の選択面が画面正面に位置するように視点設定
[ベクトルコピー位置] - 現在のベクトルコピー座標に設定
[回転中心表示] - 回転中心を画面に表示(デフォルト◎/表示画像変更可能)。ドラッグ操作により移動可 ※PmxViewのみ
●[表示] - [Sub/TransViewとカメラ同期]
PmxView/SubView/TransformViewのカメラ操作が同期(一つのView操作ですべてが同時に操作されます)
Shift+で有効化すると各Viewの視点向きも一致
※モーフ編集など自動的に有効化される場合があります。
●[表示] - [4画面モード] ※"田"アイコン
表示画面を4つに分離して表示/編集可能
左上は1画面時と同様の画面、残り3画面はパースOFFの向き固定画面。編集作業はそれぞれ可能/表示設定は全ての画面で共通。
境界をドラッグ移動でサイズ変更可能。
[分割表示関連]
- [分割位置の初期化] - 初期の分割サイズ(割合)に戻す
- [分割位置の固定] - 分割画面のサイズを固定し変更できないようにする
- [固定方向画面のカメラ同期] - 向き固定画面のカメラ操作を同期する(初期ON)
§ モデル表示/編集ウィンドウ(PmxView) の機能 - オブジェクト編集関連
オブジェクト編集に関する操作系処理。関連ウィンドウは [表示] 以下で選択、または上部アイコンから表示可能な操作子窓。
●[選択オブジェクト管理]
オブジェクトの選択対象/形式/選択後のハンドル編集について設定を行う操作子窓。
□選択対象
頂点/面/ボーン/剛体/Jointをそれぞれ個別に対象に設定可能。
選択時は一括して選択することが可能です。
※選択方式により選択できないオブジェクトや選択方法の変わるオブジェクトがあります。
□選択方式
[・] ポイント選択 | ポイントした位置のみで選択。面は選択不可能。ハンドル編集を併用することで任意位置への移動設定などが1操作(ワンアクション)で可能。
[□] BOX範囲 | ドラッグ指定での矩形内を選択
| 頂点/剛体/Jointは中心位置で判定するので注意(初期指定から選択が外れる場合がある)
| 面は対応する頂点が選択時の場合、合わせて選択
[δ] 自由曲線範囲 | ドラッグ操作による自由曲線の範囲内を選択(なげなわ選択と呼ばれる方式と同系の機能)
| 注意点はBOX範囲と同様
[○] 円形範囲 | 円形枠内のオブジェクトを選択(範囲内選択判定はBOXとほぼ等価/面は選択不可能)
| 範囲サイズは子窓内で数値設定可能、また画面内でも"Alt + ホイール操作"で大きさの変更が可能
| 主にShift+/Ctrl+で使うことを想定
[△] 面単位 | 特殊設定。面/対応頂点のみが対象
| 選択位置から一番手前の面を選択対象とする。範囲選択と異なり表面の面/頂点のみの選択が可能
| 選択後に[視点の回転中心]-[選択面-面正面配置]を使うことで視線UVなどへ応用可能
| Shift+/Ctrl+で使うことを想定(ドラッグ移動でそのまま対象を増減可能)
[Φ] 範囲ポイント | 円形枠内の中心に最も近い対象を1つ選択。他の選択方式と異なり常時選択状態
| 選択状態で同位置をクリックした場合は操作ハンドル表示(ハンドル有効時)
| 選択時ドラッグ操作を行うことで、画面に対する軸方向でオブジェクトを移動することが可能
[×] 選択無効 | ドラッグによる選択処理を無効化。UIモデルによる編集操作などで利用推奨
それぞれShift+/Ctrl+と追加キーを押しながら選択することで、追加選択/選択対象からの削除が可能です。
□ハンドル操作
選択オブジェクトの基礎編集を画面内に表示されるハンドルオブジェクトで直感的に行うことができます。
有効時なんらかのオブジェクトを選択すると、画面にハンドルオブジェクト(軸や回転枠など)が表示され、
対応した各軸をドラッグ操作することで、移動や回転などの直接操作が可能になります。
※選択操作によっては表示されないことがありますが、Ctrl+Q(直前の選択状態)などで再度表示される場合もあります。
ハンドルの軸表示は主に、
赤:X
緑:Y
青:Z
△:移動
○:回転
□:スケール
に対応しています(一部例外あり)
移動は画面位置へ、回転/スケールは横方向へのドラッグ量に対して適宜操作されます(Shift+/Ctrl+での倍率変更も対応)
※ハンドル中心は画面方向を対象とした軸で操作が行われます(スケール変換は全方向同一スケール)
また必要に応じてハンドルの表示/操作形式を変更できます。
※ハンドルの軸を選択中(黄色系へ変化)、右クリックで表示されるメニューからも変更可能(一時的な非表示にすることも可能)
□軸向きの変更
仮想軸モード時にハンドル同期ONの場合、ハンドルの回転編集部分を Alt+ で操作すると軸の向きが変化します。
□ひっぱり移動
選択中心位置に重みを置く特殊な移動操作です。応用次第では平面構造から曲面を作ったり、曲面的な形状をあまり崩すことなく変形させることができます。
ひっぱり移動 : 距離に対して直線的に重みが付きます。平面からひっぱると円錐のような形状になります。
ひっぱり移動A : 尖るように移動します。
ひっぱり移動B : 丸みを帯びるように移動します。
※ひっぱり移動はドラッグを開始した位置での距離から重みの判定を行うので、
途中で移動を停止してその後継続移動した場合と、一度に移動した場合では異なった形状になります。
※□(スケール用操作)が表示されますが、ひっぱり移動では中心位置の変更に使います。
□ハンドルの状態保存/復元
ハンドルメニュー(ハンドル上で右クリック/PmxViewのみ)
[状態] -
[位置をベクトルコピー] - ハンドルの座標位置をベクトルコピー
[向き(XYZ)をベクトルコピー] - ハンドルの向き(XYZ回転角(度)へ変換)をベクトルコピー
[X/Y/Z軸方向をベクトルコピー] - X/Y/Z それぞれの軸方向をベクトルコピー ※仮想軸関係へ再利用可能
[位置をクリップボードから設定] - ハンドルの座標位置をクリップボード(ベクトルコピー経由)から設定
[向き(XYZ)をクリップボードから設定] - ハンドルの向き(XYZ回転角(度))をクリップボード(ベクトルコピー経由)から設定
●[オブジェクト操作]
選択オブジェクトの座標位置などを変更可能な操作子窓。
○選択オブジェクトの操作
□移動
[移動] : 画面に対しての方向に移動
[X][Y][Z] : 軸方向に移動
□回転
[回転] : 画面に対しての軸で回転
[X][Y][Z] : 軸に対して回転 ※仮想軸有効時 Alt+ で仮想軸向きを変更
□スケール
[スケール]: 全ての軸に等倍で拡大縮小
[X][Y][Z] : 軸方向に対して拡大縮小
※Shift/Ctrlキーと組み合わせることで一時的に倍率を変更可能 | Shift[倍率拡大] / Ctrl[倍率縮小]
※SRT = Scale(スケール)/Rotate(回転)/Translate([平行]移動)
○パラメータ設定
□中央部数値
編集対象のそれぞれの変移量倍率
□中心
回転/スケール編集時の中心位置 | 中央:選択範囲の中央位置 / 値指定:値指定に設定されている中心座標
○値指定
オフセット量を直接値で入力して編集
[移動]/[回転]/[スケール]
Shift+ : 逆変換(移動ならオフセット量をマイナス) / Ctrl+ : オフセット量を縮小して適用
[移動のみ]
Alt+ : オフセット量を拡大して適用
[回転のみ]
Alt+ : 仮想軸有効時、仮想軸向きを変更
※オフセット設定値は各ボタン上で Ctrl+右クリックにより初期化されます(Ctrlを押下しない場合はベクトルコピーが呼び出されます)
□中心座標
原点 : 原点
重心 : 選択オブジェクトの位置重心(加算平均)
中央 : 選択オブジェクトの分布範囲の中央(最大最小範囲の中央)
○法線関連 | 頂点のみ対象
□法線
[X][Y][Z] : 軸方向に個別の法線を回転
[移動] : 画面に対しての方向に回転
□法線軸
[法線軸] : 法線の軸に沿って頂点を移動
○UV関連 | 頂点のみ対象
□移動
□回転
□スケール
→頂点のUV値を座標と同じように操作 | 頂点内のUV値を直接編集するので注意
○鏡像モード
編集を鏡像対象のオブジェクトにも同時に行います(後述:鏡像モードについて)
○鏡像固定(領域)
領域判定で鏡像対象を選び固定します(後述:鏡像モードについて)
○選択オブジェクト記憶
現在選択中のオブジェクトを記憶(5箇所に保存可能)
□MS(記憶)
選択中のオブジェクトを記憶
選択対象のない状態で Ctrlキー押下で選択すると、対応番号の MR対象をクリア(初期化)
□MR(選択)
記憶したオブジェクトを選択状態に設定
Shift/Ctrlキー併用により現在の選択状態から追加(Shift+)/削除(Ctrl+)
○メニュー [編集]
□元に戻す
Undo処理。変更を元に戻します。
□やり直し
Redo処理。元に戻した変更をやり直し。
□鏡像設定
■鏡像関係の初期化
現在の形状から頂点の鏡像関係を算出し初期状態とします。
■鏡像判定距離の設定
鏡像判定で同一位置と見なすオブジェクトの距離範囲(軸別の同一距離差/領域判定では最短距離)。鏡像化関係の初期化や領域判定で使用されます。
■鏡像固定で鏡像モードのON/OFF
鏡像固定(領域)のON/OFFに合わせて鏡像モードの有効状態を切り替える
■鏡像固定対象 - 表示対象のみ
鏡像固定(領域)対象を現在絞込み表示されているオブジェクトのみとします。
■鏡像判定の常時領域化
操作前に領域判定で鏡像対象を更新します。オブジェクトの総数によっては非常に重くなるので注意(初回のみ警告が表示されます)
□操作系
■ドラッグ方向をハンドル操作と合わせる
ドラッグ操作は [-]← / →[+] になるよう基本設定されていますが、有効時はハンドル操作と同一操作になるよう変更されます(標準ON)
■旧操作系(※非推奨機能)
ドラッグ操作の回転が[Y][X][Z]になり、2段目のドラッグ方向が縦方向になります。
法線などの操作系も多少変更になります。
※以前の操作系ですが仮想軸との相性が悪いので利用は推奨されません。
■頂点編集用に表示切替(※非推奨機能)
表示を頂点編集用設定に切替
なお表示設定での任意の設定と特に違いはありません。
[頂点編集用設定]
背景:黒
表示:ワイヤーフレーム
頂点:表示
ボーン:非表示
○鏡像モードについて
鏡像関係(名称が左***/右***またはX軸上で対象(+X/-X))のオブジェクトに対して、同時に編集を行うモードです。
通常判定:
1. 名称がある場合、左***/右*** などの左右オブジェクト
2. X軸上で対象(+X/-X)位置に配置している(軸別に鏡像判定距離内で最も近いオブジェクト)
1→2の順序で鏡像対象を選び 1対1の関係で保持、選択変更時に鏡像側を一つ選び対象とします(仕様上鏡像側は同じ対象が選ばれることがあります)
範囲内に対象がない場合や、いくつかのオブジェクトが重なっている場合は正常に動作しません。
領域判定:
1. X軸上で対象(+X/-X)位置に配置している(鏡像判定距離内のすべてのオブジェクト)
を鏡像対象とします。鏡像側は任意で設定し固定しておくか、操作編集前に判定をおこなうかを選択できます。
※ハンドル操作においても、この鏡像設定で鏡像編集が可能になります。
○仮想軸(軸指定)
オブジェクト操作のXYZ軸やハンドル編集時の操作軸を任意に設定/変更する機能
□仮想軸有効
仮想軸モードの有効状態を切り替えます。
□ハンドル同期
ハンドル向きを仮想軸に合わせます。なおハンドルの青軸は -Z軸相当なので仮想軸設定とは逆を向きます(仕様)
□指定値 / 選択対象
指定値 : 仮想軸を設定値で固定
選択対象 : オブジェクト選択時に指定方向に仮想軸を設定
■選択時の軸向き設定
[対象が単数]
頂点 : 法線
面 : 面法線(複数面の場合平均方向)
ボーン : 表示先(無効な場合親方向) ※設定で表示先/親方向/制限軸/ローカル軸に変更可
剛体/Joint : 対象の向き
[同一形式の対象が2つ]
対象位置を結ぶベクトル方向
[それ以外(3対象以上や混在状態など)]
実軸方向
□軸値
x,y,z 軸の実値
Enter確定後に正規化(再計算)されます。
■軸値の正規化
例)xの場合: xyからz値を算出、再度zxからyを補正(再計算)
x-y / y-z / z-x の組で正規化がおこなわれます。
※Shift+で補正参照を逆順にすることができます。
□ベクトルコピーから軸設定
ベクトルコピーに設定されているXYZ値を指定の軸向きとして仮想軸を設定 ※軸値設定時と同系統の正規化がおこなわれます(X軸の場合:yをY軸(0,1,0)としてzを算出及びyを補正)
近軸 : ベクトルコピー値に最も近い軸をXYZから自動的に選択し設定
□仮想軸表示
無効 : 表示OFF
中心+軸 : XYZ軸と中心を合わせて表示
中心のみ : 中心部分のみ表示
□軸中心
仮想軸表示の中心座標
※各編集での中心はそれぞれに参照先(選択範囲中央など)があるので 仮想軸有効時でも軸中心の座標が使用されるわけではありません。
■仮想軸表示モデル
・ドラッグで表示位置を移動可
・大きさ一定(拡大/縮小時にエッジなどの表示が不正になりますが現状では仕様)
・常に手前側に表示
・各部ダブルクリックで軸の表示が切り替わる
○仮想軸メニュー
[仮想軸] -
[Z軸反転] - 仮想軸のZ軸を反転します(X軸固定 / Shift+:Y軸固定)
[視点向きを仮想軸方向に設定] - 画面の向きを仮想軸と一致するよう設定
[選択対象方向をX軸に限定] - オブジェクト選択時の軸向きをX軸へ固定(3軸設定される向きなどでは無効) | OFF時は近軸に軸設定
[選択ボーン対象軸] -
[複合(表示先→親方向)] / [表示先] / [親方向] / [制限軸] / [ローカル軸] -
ボーン選択時の軸向きを指定の対象に設定/複合は表示先が無効の場合親方向、さらに無効の場合は実軸に設定
○個別記憶
モデルの状態を保存/個別に復元する機能(=スナップショット機能)です。
□記憶
<すべて記憶>
1. [全記憶]を押下
2. 画面下リストに時間とデータが記録 | [全記憶]上のテキスト欄で記録データに名称を付けられます。
<個別記憶>
1. ■復元対象から記憶した対象を選択
2. [全記憶]をShift+押下 | 記録データには関係したオブジェクト単位で全リストが記憶されます。
3. 画面下リストに時間とデータが記録
□復元
記憶されているデータから ■復元対象 で選択したデータのみモデルデータへ復元されます。
※View選択対象を有効にしている場合は、Viewで選択された対象データにのみ復元処理がおこなわれます。
□記憶データ削除
下部リスト右クリックメニューまたはDelキーで削除/全削除できます。
記録データはその分メモリを占有するので使用しない対象は早めの削除が推奨されます。
なお記録データはアプリケーション終了時にすべて廃棄されます。編集用の専用形式なので外部への保存などはできません。
□個別記憶の注意点
それぞれの復元は既存のオブジェクトに対してのみ実行されます。
削除していた場合や記憶時に存在していない対象には復元はおこなわれません。
例外として、全記憶→全復元 のみ削除された対象も含めすべての状態が復元されます。
※PMXデータは各オブジェクト間で連携しているデータが多いのでこのような仕様にしてあります。
順序が変動している場合は復元時に追跡できないケースがあります。また追跡処理に時間がかかります。
□個別記憶の応用方法
例)頂点が重なっている場所でのウェイト付け
1. 個別記憶に保存
2. 頂点を移動して離す
3. ウェイト設定
4. 頂点位置を選んで復元
例)変形状態からモデル形状への部分適用
1. 変形同期→PmxViewを個別の変形形状に変形
2. 個別記憶に保存
3. 通常編集へ戻り適用したい箇所を選択し頂点復元
例)改変モーフの作成
○モーフ編集参照
など
●[絞込み表示(マスキング)]
表示する頂点/材質の絞り込みをおこないます。
ボーン/剛体/Jointを連携して絞込み表示することも可能です。
○表示対象
□全表示
全ての頂点を表示。
□任意
任意の範囲の頂点を表示。
□材質
チェックした材質に関係する頂点のみ表示(複数チェック可能)。
個別パーツ表示状態で、モデルの表示パーツの切り替え。
[パーツ毎] - 材質選択で任意のパーツ部位のみ表示 | 有効反転
[全] - 全ての材質を有効(チェック)化
[反] - 全ての材質の有効状態(チェック)を反転
[除] - 選択面に関連する材質を無効(非チェック)化
※特定の材質のみを絞り込み表示したい場合は、面選択(△)→[除]→[反] という手順で手早く完了します。
同様に不要な材質部分も 面選択(△)と[除] の組み合わせで簡単に除外可能です。
□ウェイト関連ボーン
チェックしたボーンに関係するウェイト頂点のみ表示(複数チェック可能)。
□頂点モーフ
チェックした頂点モーフに関係する頂点のみ表示(複数チェック可能)。
○メニュー [編集]
[ボーン/剛体/Joint 全表示] - ボーン/剛体/Jointをすべて表示
[ボーン/剛体/Joint 選択対象から絞込み] - 選択状態から対象を絞込み設定
[選択頂点の含まれる材質のみ] -
選択頂点に関連した材質のみを対象にします。
[選択面の含まれる材質のみ] -
選択面に関連した材質のみを対象にします。
[選択面の含まれる材質を除外] -
選択面に関連した材質を対象から外します。※[除]ボタンと同様
[選択面の関連材質を自動選択] -
有効時、面選択(△)に対応して自動的に子窓内の材質を選択状態にします(チェックは変更しません) ※環境によっては重くなるかもしれないので適宜変更してください。
○メニュー [ウェイトボーン関連]
[弱影響下も含む] -
通常ボーン関連ではウェイト値が50以上の場合、関連頂点とされます(ウェイト50の場合は2つとも対応ボーンに登録)
弱影響下にチェックした場合は50以下でも関連頂点として表示されます。
[選択ボーンから一括設定] - 選択されているボーンを対象設定
[同時にボーンの選択] -
チェック選択と同時にボーンを選択状態にします。チェック処理と同時処理なので使いにくいかもしれません。
○材質リストメニュー
材質に関連した編集を行います。一部の処理は●[材質]と同様。
[選択材質の面表示] -
材質に関係する面を選択状態に設定(選択面が表示状態の場合はモデル側に表示されます)。
[選択面の初期化] -
選択面を初期化。
[選択頂点を新規材質に分離] -
チェックが一つのみで、頂点が選択されていると使用可能。
対象部分を新規材質へ分離します。
[上へ移動] -
順番入れ替え
[下へ移動] -
順番入れ替え
※複数一括操作はPmx編集側の材質リストを使用してください。
[全てチェック] -
全ての対象をチェック状態に設定
[全て非チェック] -
全ての対象を非チェック状態に設定
[チェック状態の反転] -
チェック状態を反転
[選択材質のパーツ削除] -
材質に関連した一連のパーツデータを削除します(非常に広範囲に影響が出る場合があります)
[非表示材質のパーツ削除] -
[パーツ毎] 有効状態で非表示になっているパーツを削除。
○頂点モーフリストメニュー
[選択頂点を新規モーフに分離] -
チェックが一つのみで頂点が選択されていると使用可能。
□ボーン/剛体/Joint
それぞれ有効対象を絞込み表示します。
<共通>
[↓View選択対象] - View側で選択されている対象を絞込み対象に設定
[全]/[反] - 全体チェック/チェック反転(材質と同様)
<ボーン欄>
[<<ウェイトボーン] - 有効対象をウェイトボーン側へ設定
[関連剛体>>] - ボーンに関連した剛体を有効設定(剛体欄へ表示切替)
<剛体欄>
[<<関連ボーン] - 剛体に関連したボーンを有効設定(ボーン欄へ表示切替)
[関連Joint>>] - 剛体に関連したJointを有効設定(Joint欄へ表示切替)
[<<関連剛体] - Jointに関連した剛体を有効設定(剛体欄へ表示切替)
●[拡張編集]
簡易的なモデリング操作及びオブジェクトの特殊追加を行います。
○ナイフ
面の切断(正確には辺の切断による頂点分割)を行います。
パースOFFでの使用を推奨(パースONの状態では切断の奥行き位置がずれます(仕様)
■正面側
ナイフの切断対象を画面手前に向いている面のみに限定します(裏に隠れていても正面を向いている面は対象になります)
■モーフ調整
ナイフ切断時に既存の頂点/UVモーフが崩れないよう調整します(モーフ量が多い場合はそれなりの計算時間を有します)
○追加/設定
カーソル位置に指定のオブジェクトを追加します。空間内のカーソル位置は子窓下部の"仮想座標"に表示されます。
■仮想中心
この座標位置を通るカメラ正面の平面上の座標がカーソルの仮想座標になります。
うまく設定することで奥行き位置などを任意に指定することが可能です。
□頂点-面
■頂点-面作成
カーソル位置に頂点を追加 → 3点になると面として確定 → 連続チェック時は以降1点追加毎に面として確定/非連続時は3点毎に面確定
画面に対して右回りに頂点を配置すると手前向きの面になる(同面貼り)。追加時は面向きを注意
ボタンで現在追加中の頂点要素をリセット可能
■頂点のみ追加
頂点をカーソル位置に追加。面は作成しない。
■面貼り
選択頂点に面を作成。頂点-面作成時と同様選択順によって面向きが変化するので注意
■連続
頂点-面作成/面貼り時に処理を継続状態にする
■追加先
面の追加先材質を選択
■新規材質
材質リストに新規材質を追加(削除は本体から行う必要がある)
□ボーン
■系列ボーン追加
親子関係で接続された一連のボーンを追加
※追加時に既存ボーンを選択することで、そのボーンを系列接続することが可能ですが、Index順の上下がうまく整合しなくなる場合があります。
■ボーンのみ追加
個別のボーンのみを追加
■系列(親子関係)設定
選択ボーンを親子接続
■種類設定
選択ボーンを任意のボーン種類に変更/追加時のボーン種類の設定
□剛体/Joint
■連結物理剛体/Joint追加
物理剛体及びJointを連結状態で順次追加
Joint位置は追加剛体間の中央位置
■剛体追加
剛体のみ追加
■剛体サイズ
追加する剛体サイズ
■関連ボーン連結
選択剛体とボーンを関連連結
※剛体選択→ボーン選択→(繰り返し)
■剛体種類設定
選択剛体の種類設定/剛体追加時の種類選択
■剛体形状設定
選択剛体の形状設定/剛体追加時の形状選択
■剛体グループ設定
選択剛体のグループ設定/剛体追加時のグループ選択
■Joint追加
Jointのみ追加
■Joint関連剛体連結
選択Jointと剛体を関連連結
※Joint選択→剛体A選択→剛体B選択→(繰り返し)
●[ウェイト/UV描画]
頂点のウェイト値及びUV値を描画操作で設定します。
設定ウィンドウの[開始]ボタンで描画状態になります。その際カーソル形状が丸枠などに変更され選択処理などが不可になります。
この状態で以下の操作が可能になります。
左ボタン(クリック&ドラッグ) : 範囲内の頂点にウェイト(UV)を設定
Shift + 左クリック : 枠内の中央に一番近いボーンを選択
Ctrl + 左クリック : 枠内の中央に一番近い頂点(対象ボーン内)のウェイト値(UV値)を編集窓に取得(スポイト機能)
※範囲サイズは選択オブジェクト管理子窓、または Alt+ホイール回転 で変更可能です。
○各部機能
□開始
描画状態のトグルスイッチ
□[+]
変形同期枠表示(〇変形同期参照)
□ボーン選択
選択中ボーンと関連ボーンの表示、及び親子側への移動
↑と↓の間はウェイトボーン色 ※有効にする場合は一度 WeightBone 表示などに変更してください。
□描画モード
BDEF / QDEF : ウェイト描画の場合指定のウェイト形式で描画
● : 円形範囲内を一括のウェイト値で描画
◎ : 端が0になるように円形グラデーションで描画
W4 : BDEF4用の4ボーン影響度の同時描画
>>> : 任意の一方向範囲にグラデーション描画/ブレンド描画
UV : 円形範囲内を一括のUV値で描画
・通常描画 : ●/◎
□ウェイト値
描画するウェイト値、詳細については後述
[±5] : 左及び右クリックにより指定数(5/Shift+:10/Ctrl+:1)だけウェイト値を加減
□対象
ウェイト影響頂点のみ : ボーンのウェイト対象頂点のみに描画
選択頂点のみ : 選択頂点のみを対象として描画。ウェイト描画開始時に選択頂点がある場合は自動的にONになります。
※ウェイト描画中でも頂点選択はサブ画面から設定可能(簡易マスキング)
□スプレー
ONでスプレー動作に切り替え。範囲内のウェイト値を徐々に変化させる機能
□強さ
スプレーの強さ、値が小さいほど強いスプレー(ウェイト値の値も強さに関連)
□加/減算
スプレーの描画モード
□頻度
スプレーの更新頻度をミリ秒で選択。
PC環境によってはうまく動作しない可能性があるので、頻度を大きくするなど対処してください。
尚、頻度が変更されても時間あたりの変化量は変わらないので、
頻度が大きくなると一度に設定される値の幅も大きくなります。
・BDEF4描画 : W4
□ボーン選択/ウェイト値
任意のボーンと対応するウェイト値の入力
ボーン左側はウェイトボーン色/選択状態が赤影で表示
ボーンのリストを開くと(変更不要)選択対象へ変更され上部のボーン対象へ表示されます。
ボーン選択をおこなうと選択対象のボーンへ設定され、選択対象が次の候補へ移ります(連続して対応ボーンをShift設定可)
※Indexコピー機能を使ってボーン選択BOXのメニューから設定することも可能(複数一括設定可)
※BDEF4:ウェイト値をユーザー設定した場合カーソル表示が消える(ウェイト計1.0とは限らないので)
□BDEF2切り替え
ウェイト設定をBDEF2用として描画
□ウェイト配置/スライダ
ドラッグ操作などで4つのウェイト値を任意に分散配置(ウェイト計1.0)
□Get
現在選択中のボーン(複数可)をウェイトのボーン選択へ(Index順に左上から配置)
□50
ウェイト値を中央位置へ(BDEF2:50/50 BDEF4:25/25/25/25)
□ウェイト計100調整 | 中央窓右クリックメニュー(同以下)
個別に入力したウェイト値を合計100になるように調整
□左右(←→)入れ替え
左右の選択対象及びウェイト値を入れ替え
□上下(↑↓)入れ替え
上下の選択対象及びウェイト値を入れ替え
・グラデーション : >>>
□ウェイト範囲
グラデーション範囲の開始〜終了値
↑/↓(分布方向)の切り替えにより開始/終了値を反転可能
□ブレンド
BDEF2 - ブレンド結果をBDEF2に制限
対象ボーン選択 - ブレンド対象となったボーンを描画後に全て選択
ブレンド対象頂点のみ - ブレンド対象のウェイトボーンで既にウェイト設定されている頂点のみを描画対象にする
・UV描画 : UV
□対象UV
UV / 追加UV1〜4 までの対象を選択
□UV値
描画UV値 | 通常UVはx,yの値のみ有効/追加UVはxyzw値を全て設定
□UV表示同期
対象UVの選択に対して表示を同期して切り替えます(描画開始有効時のみ)
□色値設定
xyz 値を色から取得
□非透過スライダ
非透過値(A=W) をスライダで 0-1 の範囲設定
□描画モード
上書き - 指定のUV値で上書き
加算 - 指定のUV値を加算合成
積算 - 指定のUV値を積算合成
透過ブレンド - 透過値をブレンド係数として色合成
□制限
描画UV値の[0-1]制限
○ウェイトの描画について(BDEF2用)
頂点のウェイト値は2つのボーンへの影響度で設定されます(両者の影響度の合計が100(1.0))
描画によるウェイト設定では、頂点の対象ボーンを選択中のボーンに変更することがありますが、
その場合は既に設定されているボーンのうち、影響度の小さい方のボーンを変更します。
既に影響下の場合はウェイト値のみ変更します。
パーツの接合部など、複数のボーンによる連続的な変形が必要な箇所では、
2つのボーンへの影響度をそれぞれ設定する必要があります。
主な手順としては、
1. 片方のボーン選択状態で対象範囲を影響度100で描画(下地作り)
2. もう片方のボーンを選択し、接合の中央部は影響度50で描画、周辺は影響度が徐々に変化するように
ウェイト値を変化させながら描画(またはグラデーション機能やスプレーを使って描画)
というようなものになります。
複雑な形状を単一の描画機能だけで編集するのはかなり大変な作業です。
選択絞り込みやサブ画面からの補助選択機能、アンカーからのウェイト描画機能など適宜選択して対応してください。
○(一方向)グラデーション描画について
ドラッグ操作によりライン(黄色)が表示され、確定後、範囲内の頂点にウェイト値がグラデーション設定されます。
ラインの開始位置、終了位置(方向)によりウェイトの分布状態と対象の頂点が変わります(基準は現在の表示状態になります)
この機能は一般的に以下のような作業を想定しています。
1. 100%設定で重なった部分を2ボーンに対して描画設定
2. ウェイト交差部分に対して、下位ボーン側の端周辺から端の方向へドラッグ操作→ウェイト描画
※このため開始状態では100→0の方向へウェイト値が描画されるようになっています(変更可能)
影響外を対象とした場合、描画範囲はラインの側面全てに入る頂点を対象とするのでご注意ください。
描画対象は各絞込み機能や、サブ画面からの頂点選択などで容易にマスキングすることが可能です。
○ブレンド描画について
グラデーション描画と同様のインターフェイスで設定されます。
ラインの開始位置、終了位置に(画面上で)最も近い頂点をそれぞれ始点、終点のウェイト値としてグラデーション描画を行います。
100%同士でウェイト設定されている接合部をグラデーション描画したい場合など、
一々ボーンを設定する必要なく簡易にウェイト混合を行うことが可能です。
○UV描画の確認について
色設定を行う場合は、表示モードをUVや追加UVに変更すると判別が簡単です(同期ONの場合自動で選択されます)
一般的にこの機能は材質の頂点色設定と合わせて使われることを想定しているので、
頂点色の場合は、描画対象を "追加UV1" に合わせるとよいでしょう。
指定の色(UV値)でモデルを頂点単位に色塗りすることができます。
○変形同期
[開始]ボタン右方端に [+] が配置されており選択すると、編集枠上部が [変形同期] 状態に切り替えられます(同様のボタン[-]で戻ります)
□開始
変形同期を開始/終了します(編集機構の詳細ついては後述)
□UV適用
変形同期処理でのUV値編集を有効化
□保存時警告
変形同期状態で保存やエクスポートを行う際に警告を表示
□変形状態へ即時反映
PmxView側のウェイト(UV)値編集に対して、TransformView側へ即時反映をおこないます。
※各編集機構はこれらの処理構造に対して全く最適化されていませんので、非常に時間がかかります(=重い)
□手動更新
TransformViewの変形状態をPmxView側へ反映する際の手動化
□変形状態取得
手動更新ON時に変形状態を取得適用
□注意
マウスカーソルを重ねると注意点が表示(クリックでダイアログ表示)
○変形同期の編集機構について
変形同期状態では TransformView側で変形した形状に対して、ウェイト(またはUV)値の編集が可能になります。
ウェイト(UV)以外の編集は変形同期終了時に復元されます。
適用外編集を行った場合、状態によってはモデルデータが破損する可能性もあります。ご注意ください。
□主な編集手順
1. 変形同期を有効化
2. TransformViewで変形
3. PmxViewに戻る→変形形状が適用
4. ウェイト編集
5. TransformViewをアクティブ化→ウェイト設定が適用及びそれに合わせて再変形
6. 2~3に戻り以下繰り返し
※TransformViewへのウェイト適用は即時反映可能(微調整程度の利用を推奨)
□形状の流れ
<通常時>
PmxView(初期形状) → TransformView(変形) → 変形形状
<変形同期時>
TransformView(変形形状) → PmxView(変形形状)+ウェイト編集 → TransformView(初期形状にウェイト編集分を適用して変形)
●[選択ガイド]
現在選択中のオブジェクトをガイドリストに取り込み記憶します。
選択項目の一時バッファや、実値を確認する場合などに利用してください。
取得/選択はShift/Ctrlキーとの併用で追加、削除がそれぞれ可能です。
□取得
選択中オブジェクトをリストに取り込みます。
□選択
現在のリストで対象オブジェクトを選択状態にします。
□全選択
リスト内に記録されているオブジェクトを全て選択状態にします。
□個別クリア
現在のリスト内容のみを初期化します。
□クリア
全てのリスト内容を初期化します。
[追加] - 現在のリスト内容をプリセットへ追加します。
[編集] -
[プリセット名変更] - 現在の選択プリセットの名称を変更します。
[上/下へ移動] - 現在の選択プリセットを上/下へ移動します。
[削除] - 現在の選択プリセットを削除します。
[プリセット保存] - チェック時、アプリケーション終了時にプリセットをファイルへ保存します(次回起動時にロードされます)
[プリセット選択時全選択] - チェック時、プリセットを選択した際、同時に全選択を行います。
[一つ前の取得状態へ戻す] - 取得またはクリアしたリスト内容を前回取得した状態へ戻します
○プリセットについて
ガイドに取得した選択状態をプリセットとして保存することができます。
プリセット内容はアプリケーション終了時に外部へ保存されるので次回以降も利用することが可能です。
プリセットデータに記録される項目は
頂点/面 : Index値
ボーン/剛体/Joint : 名称
となります。プリセット作成後に名称変更するなどで正常に選択されなくなることがありますのでご注意ください。
プリセット内容は "_data"フォルダ内の "ガイドプリセット.xml" に保存されます。
プリセットを全て初期化したい場合などは当該ファイルを削除してください。
※Shift押下状態でプリセット選択を行うと、内容の結合を行うことができます。
●[サブ画面] - SubView
親View側と同様の表示機構、及び同期可能なオブジェクト選択機能を有した画面です。
※非表示にしておくとメモリ消費量が低減されます(最初の表示時にモデルデータが読み込まれ適用されます。一旦表示された後はView側から強制的に解放することも可能)
[編集] -
[モデル更新] - モデルデータを強制的に更新 ※通常はPmxView側により自動的に更新が行われます。
[全てのオブジェクトを選択] - 選択対象のオブジェクトを全て選択状態に設定
[直前の選択状態] - 一つ前の選択状態を復元
[選択状態の反転] - 選択状態を反転します。
[頂点表示の絞込み解除] - 特定の頂点を絞り込み表示していた場合、全ての頂点を表示(ウェイト影響は除く)
[選択オブジェクト] -
[範囲中央位置をベクトルコピー] - 選択オブジェクトの範囲中央位置をベクトルコピー
[選択頂点] -
[絞込み] - 選択頂点のみを表示頂点に設定
[非表示] - 選択頂点を表示頂点から削除
[面の表示] - 選択頂点に関係する面を表示(面を選択状態にします)
[選択面] -
[関連頂点の選択] - 選択面に関連した頂点を選択状態へ設定
[ボーン選択状態の維持] - チェック時、ボーン選択をクリア状態にしない
[選択自動更新] - チェック時、SubView側の選択オブジェクト変更によりPmxViewを選択更新
[現在の選択状態で親Viewを更新] - SubView側の選択状態でPmxViewを選択更新
[親Viewの選択状態で更新] - PmxView側の選択状態でSubViewを選択更新
[表示] -
[視点の回転中心] - PmxView側と同機能
[追加表示欄] - 同PmxView
※子窓系は省略(同PmxView)
●[エフェクト設定]
後述の "§ エフェクト描画機能" にて詳細説明
●[TransformView]
後述の "§ 変形画面(TransformView)の機能" にて詳細説明
§ モデル表示ウィンドウ(PmxView) の機能 - 編集/情報メニュー
[更新] - モデル状態を全て更新します。全てのテクスチャも再度読み直します(外部から変更した場合は更新されます)
[元に戻す] - Undo(エディタ側と共通処理)
[やり直し] - Redo(エディタ側と共通処理)
[全てのオブジェクトを選択] - 選択対象の全てのオブジェクトを選択状態にします。表面頂点表示の場合、裏側(非表示頂点)も対象となります(絞込対象は除きます)
[直前の選択状態] - 直前のオブジェクト選択状態に戻します(追加選択や方式の違いにより予想した状態に戻らない場合があります)
[選択状態の反転] - 選択状態を反転します。
[頂点表示の絞込み解除] - 特定の頂点を絞り込み表示していた場合、全ての頂点を表示(ウェイト影響は除く)
[選択オブジェクト] -
[選択ボーン/剛体/Joint/アンカーの削除] - 選択中の対象オブジェクトを削除。
[オブジェクトの鏡像作成] - 選択オブジェクトを鏡像位置(X逆側)へ鏡像複製。ボーン/剛体/Jointは個別と一括では関連設定が異なる動作になります。
[ガイドの先頭要素へ位置合わせ] - ガイドに保存中の対象位置(先頭要素)へ選択オブジェクトを全て移動します。
[ガイド位置へ位置合わせ] - ガイド位置(選択ガイドで設定可能)に選択オブジェクトを全て移動します。
[範囲中央位置をベクトルコピー] - 選択オブジェクトの範囲中央位置をベクトルコピー
[ベクトルコピーから位置設定] - ベクトルコピーの値から選択オブジェクトの位置設定
[クリップボードから位置設定] - ベクトルコピーに対応したカンマ区切りのクリップボード内容から選択オブジェクトの位置設定
[手前側を選択絞込み(単一)] - 現在の選択オブジェクトから最も画面手前側にあるオブジェクトのみを選択状態にします。
[手前側を選択絞込み(領域)] - 現在の選択オブジェクトから画面手前側にあるオブジェクトを選択状態にします(対象領域の中央より手前側)
[選択頂点] -
[絞込み] - 選択頂点のみを表示頂点に設定
[非表示] - 選択頂点を表示頂点から削除
[面の表示] - 選択頂点に関係する面を表示(面を選択状態にします)
[範囲中心にオブジェクト追加] -
[ボーン] - 選択頂点範囲の中心に新規ボーンを追加
[ウェイトボーン] - 選択頂点範囲の中心に新規ボーンを追加し、選択頂点のウェイトを全て新規ボーン対象とする(100%設定)
[剛体-球/箱] - 選択頂点範囲の中心に新規剛体を追加(箱/球)
[エッジ倍率] - [0] or [1] or [任意] - 選択頂点のエッジ倍率を設定
[視線方向からの特殊UVマッピング] - ※視線UVマッピングについて参照
[特殊マッピングのUV範囲設定] - ※視線UVマッピングについて参照
[頂点の結合] - 選択頂点を全て1つの頂点に結合します。結合位置は加算平均位置になります。
[近距離頂点の結合] - 設定した距離以内の各頂点を結合します。
[頂点結合時に法線平均化] - チェック時、上記結合処理にて法線の平均化も同時に行います。
[UVコピー] - 任意のUV間をデータコピーします。
[頂点(関連面/材質/モーフ)の削除] - 選択頂点を削除します。関連で面→材質、モーフ→表示枠と必要に応じて削除されます(結合処理でも同様)
※注意点はプリミティブの編集について参照
[選択面] -
[裏表反転] - 選択面の裏表を反転(頂点法線は反転しません)
[面対角線の入れ替え] - 隣接した2面を選択して実行すると間の対角線を逆側へ入れ替えます。
[面の削除] - 選択面を削除します(頂点は削除しません) ※特に必要ない限り使用は非推奨
[不正面の削除] - 正しく頂点を参照していない面を削除します。
[重複面の削除] - 同じ3頂点を参照している重複面を削除します。
[材質単位で重複面の削除] - 同一材質内の重複面を削除します。
[新規材質へ取り出し] - 選択面を新しい材質へ移動します。
[頂点を分離して新規材質へ取り出し] - 選択面とその関連頂点を新しい材質へ分離/移動します。
[押出] - 選択面に押出処理を行います(押出量は0固定/側面貼りのみ)
[関連頂点の選択] - 選択面に関連した頂点を選択状態へ設定
[共有頂点の分離] - 選択面が他の面と共有している頂点を分離します(その面に対してのみの頂点になる)
[頂点法線を面法線化] - 選択面に対する頂点の法線を、面法線(3頂点による平面の向き)に設定します(複数の面で共有している頂点は正しく設定されません)
[隣接面へ選択範囲拡張] - 選択面から隣接(辺を共有)している面全てを選択状態にします(絞込み表示時は結果が整合しない場合があります/1頂点のみを共有している場合は隣接関係とみなしません)
[選択ボーン] -
[選択状態の維持] - チェック時、ボーン選択をクリア状態にしない
[子系列の選択] - 選択ボーンの子系列ボーンを全て選択状態にする(ボーン上でのダブルクリックと同処理)
[左右ボーン位置合わせ] - 選択ボーンの左右ボーンが存在する場合(ボーン名から判断)、Y軸対称(X符号反転)で位置を設定。
[IKボーンを含む系列をIK化] - 親子関係で連結された一連のボーン列と任意のIKボーン1つを選択対象に含め実行すると自動でIK系列化
[多段ボーンの作成-親側] - 選択ボーンを多段化(同位置に新規の親ボーンを挟み込む)/IK自動対応/複数ボーン可能
[多段ボーンの作成-子側] - 選択ボーンを多段化(同位置に新規の子ボーンを挟み込む)/IK自動対応/複数ボーン可能
[中間ボーンの作成] - 2つ以上の系列選択ボーンに対して間に新規ボーンを作成する/IK自動対応/複数ボーン可能
[操作(付与)ボーンの作成] - 選択ボーンに対して操作用の付与ボーンを追加(既に付与親がある場合は追加しない)
[非表示ボーンは剛体/Joint作成不可] - 以下の作成機能で、非表示ボーンの場合は対象にしないチェック
[基礎剛体の作成 - ボーン追従] - 選択中のボーンに基礎剛体(カプセル形状の任意の大きさ)をボーン追従剛体として自動作成します。
[基礎剛体の作成 - 物理演算] - 選択中のボーンに基礎剛体(カプセル形状の任意の大きさ)を物理演算剛体として自動作成します。
[基礎Jointの作成] - 選択中のボーンに基礎Jointを自動作成します。Jointの接続に関しては適宜設定する必要があります。
[基礎剛体/連結Jointの作成] - 選択中のボーンに基礎剛体と基礎Jointを作成し親子関係のボーンに関連する剛体をJoint連結します。
[表示先方向へ軸制限] - 選択ボーンの表示先方向を制限軸として設定及び軸制限属性を追加
[表示先方向をベクトルコピー] - 選択ボーンの表示先方向をベクトルコピーに保存(フォーム側軸設定などにベクトルペースト可能)
[ローカル軸の簡易設定] - 選択ボーンのローカル軸を、X:表示先方向 Z:画面奥方向で簡易設定
[ローカル軸初期化] - 選択ボーンのローカル軸を初期化
○視線UVマッピングについて
視線方向を基準とした特殊なUVマッピング機能です。
主にデカール(シール)を貼る感覚としてのUVマッピング方法になります(俗称:デカールUVマッピング)
マッピング方法としては、画面に対しての上下左右方向で指定のUV範囲を頂点にマッピングします。
視線の位置/方向次第でマッピングの結果が異なります(面に対して斜めにシールを貼り付けるといったことも可能)
想定している手順としては以下のようになります。
1. 面単位選択からテクスチャを貼り付ける面範囲を選択(頂点も要選択対象/面単位の場合は自動選択されます)
2. カメラアイコンから[視点の回転中心]-[選択面-面正面配置]
3. 選択した面範囲が画面正面に来るので、Z軸移動でカメラを近づける
4. 面の上下左右が画面と合うように、カメラのZ軸回転機能で調整
5. [視線方向からの特殊UVマッピング] でマッピング
※面選択時はハンドルを一時的に無効にしておくと設定が楽
注意点としては、選択頂点に対してUV値を直接設定するので、
その周辺の頂点のUV値から不正なテクスチャ表示になる場合があります。
対処法としては、[新規材質へ取り出し]で別材質へ取り出し、テクスチャを個別で設定する、などがあります。
※その場合でも元々の材質でのテクスチャがうまく表示されないといったことがあります。
→
[頂点を分離して新規材質へ取り出し]が実装されました。不正な表示への対処が可能です。
尚、UV範囲は[特殊マッピングのUV範囲設定]から設定可能です。画像のドロップも可能ですが、あまり有用な機能ではないかもしれません。
○鏡像ボーン列の作成について
鏡像位置に作成されたボーンには自動的にボーン名が付けられます。
左(右)から始まるボーン名の場合は逆側に、そうでない場合は「M-」という接頭文字が付けられます。
またボーン列の新規追加位置は、鏡像前の選択対象ボーン列の後になります。
View上でボーン列の削除、及び鏡像ボーン列の作成などでボーンが編集された場合、
Pmx編集側のボーンリストは更新されません。表示上整合しなくなりますので注意してください。
整合させるにはリスト側の表示更新を行ってください。
ボーンの削除や作成などで内部Indexが自動的に変更されます。
頂点のウェイト値他、IKや表示枠などにも影響があるのでご注意ください。
※非表示ボーンもView上では選択されている場合があります(表示上では判別できません)
鏡像ボーン列作成の場合、〜先などの非表示ボーンも選択されていると同様に作成されますので、
必要な場合は子系列を含めた選択機能などで対応してください。
[法線関連] -
[選択法線の平均化] - 選択頂点の法線を平均化して再設定
[近傍頂点の法線平均化] - 選択頂点の中から指定の距離以内の近傍頂点同士を一つのグループとみなし法線平均化
[選択法線の平均面法線設定] - 選択頂点の法線を関連する面法線で平均化設定 ※法線の簡易スムージング機能
[選択法線の正規化] - 選択頂点の法線を正規化(長さ1に設定)
[選択法線反転] - 選択頂点の法線を反転(面の反転などと併用推奨)
[エッジ倍率変更頂点を表示] - エッジ倍率が1.0以外の頂点を表示(絞込み)
[モーフ編集] - モーフ編集窓を表示
○モーフ編集
頂点/UVモーフを新規作成、または既存のモーフを再編集する機能です。
編集メニューからモーフ編集窓を表示し開始する以外にも、モーフリストから直接起動開始することもできます。
□モーフ編集状態
モーフ編集を開始するとSubViewが表示され(非表示の場合)、PmxViewが[モーフ編集]状態へ移行します。
この状態で PmxView側のモデル形状を変化させると、頂点モーフとして変形ができるようになります。変形状態はSubViewへ表示されます。
○モーフ編集窓の機能
□編集開始
モーフ編集状態への移行及び終了。モーフ編集窓を閉じると編集状態も終了します。
□カメラ同期ON
有効時 PmxViewの[Sub/TransViewとのカメラ同期]を自動的にONします。
□モーフ選択無効
既存モーフ編集時モーフリストなどから対象の変更ができますが、この変更を一時的に止め対象を固定します。
□新規モーフ/既存モーフ
作成するモーフを選択します。既存モーフの場合はPmx編集のモーフリストまたはTransformViewのモーフリストから選択ができます。
パラメータ:
□名称
新規作成時のモーフ名
□種類
モーフ種類
□パネル
モーフが表示されるパネル
動作確認:
□反映
現在の編集状態をモーフに反映します
□閾値
モーフ対象として認識する頂点などの差分値
□相違頂点数
反映時のモーフとして認識された頂点数
□モーフスライダ及び数値設定
設定に合わせてSubViewにモーフ変形状態が表示されます。
□追加/更新
現在のモーフ状態で追加または更新が行われます。
[編集] -
[相違頂点を選択] - モーフ対象頂点を選択
[相違頂点で選択絞込み] - モーフ対象頂点で表示頂点を絞込み ※解除などは通常のPmxViewの編集機能で可能
[自動的に相違選択絞込み(SubView)] - SubView側の表示頂点を自動的に相違選択で絞込みます(初期ON)
[編集頂点の鏡像適用] - (移動)編集した頂点の鏡像側頂点に対して同様に鏡像移動を適用します(仕様制限を超えて無理やり実現している処理なので精度はあまりよくありません)
[全ての編集済み頂点] - 編集対象を鏡像適用
[選択頂点] - 選択対象のみ鏡像適用
[頂点編集の初期化] - すべて初期状態へ戻します。
[頂点編集の初期化-選択頂点のみ] - 選択対象を初期状態へ戻します。
[選択頂点をモデル形状位置へ移動] - 選択対象をモデルの形状位置へ移動します。
[材質モーフの新規作成] - 材質の変化状態に対して新規で材質モーフを作成します。
※テクスチャモーフや全材質対象モーフは作成できません(モーフ編集から設定してください)
[材質モーフの作成時の演算方式] - [0乗算+加算]/[加算] - モーフ作成時のパラメータ変化/0乗算+加算の場合は基準となる材質値を変更してもモーフ結果は同じになります。
[モデルファイルから形状読み込み] - PMX/PMDファイルから形状をロードします。
[モーフ編集開始時の形状を個別記憶へ送る] - モーフ編集開始時の形状(=初期状態)を個別記憶として登録します。
※モーフ編集中にUndoなどを挟むと場合によって形状が初期状態へ戻らなくなるケースがあるかもしれません。形状を戻す必要に応じて利用してください。
[オフセット値を現在のモーフ変形量に調整] - モーフ量≒スライダ設定値で現在の編集状態を倍率変化させます。
例)0.5にして実行→最初の変形状態が半分のモーフになる/数値設定から1以上の数値や負数も扱えます。
○一括モーフ作成機能
モーフ編集窓にPMXモデルファイルを複数まとめてドロップすると、形状変化に対応したモーフを複数一度に作成することが可能です。
※モーフ名=ファイル名、パネルなどのパラメータ調整などは作成後に別途編集してください。
○既存モーフから改変モーフを新規作成する手順
1. 既存モーフを選択→編集形状が既存モーフの状態へ変化
2. 個別記憶へ保存
3. 新規モーフへ移行(形状は初期状態へ戻る)
4. 個別記憶から頂点を復元
5. 頂点の編集を行いモーフとして新規登録
[UV表情作成] -
[UVモーフ作成] - 複合画像からUV表情を作成します。
[複合画像作成] - 複数の画像ファイルを複合画像として結合します。
○UV表情作成について
4(2x2)または16(4x4)枠の1枚の画像から UVモーフによる切り替え表示を行うことにより簡易的な表情として機能させます。
UVモーフの都合上、頂点モーフのようなスライダを考慮した表情変化は困難ですが、
フリップモーフへ統合することで解決することが可能です。
□作成方法
1. 複合画像を用意 | 枠は全て同じ大きさで 2x2/4x4 の分割枠のみ対応しています。
- 枠のみの画像が data/UV表情作成用 フォルダ以下に用意されています(uvTex4.png/uvTex16.png)
2. 表示させたい範囲の面(頂点)を選択した状態で [UVモーフ作成] → 設定窓表示
- 設定窓をアクティブにすると選択状態の判定が行われます。編集途中では選択状態が外れないように注意してください。
- 初期UV設定は視線UV(デカールUV)と同じ仕組みで行われます。詳細は「○視線UVマッピングについて」を参照してください。
- 複数材質にまたがっている面は使用できません。またUV設定によっては境界面で不正な表示になることがあるので、その場合は対象範囲を事前に材質分離を行ってください。
3. 各設定を入力後、UVモーフ作成(右側の"統合"にチェックが入っている場合、統合したフリップモーフを追加します)
※モーフ名は先頭要素は不要です(初期状態なのでモーフは作成されません)。Trim(トリミング)は枠線を入れた場合などの削除調整に利用できます。
○複合画像作成
複数枚の画像をUV表情用に1枚の画像として結合します。結合パターンは画像数が4以下(2x2)または16(4x4)により異なります。
最大16枚の画像を結合可能です(サイズは異なっていても構いません)。結合対象の画像はリストへファイルドロップしてください。
[ウェイト関連] -
[ウェイトアンカー編集] - アンカー用の編集子窓を開きます。※「アンカー編集とPMXスケルトンについて」参照
[全てのウェイトを初期化] - 全ての頂点のウェイト値及び関連ボーンを初期化(0設定)します。
[選択頂点をウェイト初期化] - 選択頂点のウェイト値及び関連ボーンを初期化(0設定)します。
[選択頂点のウェイトを平均化] - 選択頂点のウェイト値をその平均値に揃えます。
[選択頂点のウェイトを平滑化] - 選択頂点のウェイト値のばらつきを抑えます。
[選択頂点のウェイトを平滑化-値指定] - 平滑化係数(0.0〜1.0)を指定して平滑化を行います。
[選択頂点を近位置ボーンでウェイト設定] -
[ボーン位置基準] - 最も近いボーンを対象にウェイト値 100%(1.0)でウェイト設定します。
[ボーン軸基準] - 最も近いボーン軸を対象にウェイト値 100%(1.0)でウェイト設定します。
[選択ボーンのみ] - チェック項目。近位置ボーンでのウェイト設定で選択ボーンのみを対象にします(非チェック時は全ボーン対象)
[面単位/裏側優先] - チェック項目。近位置ボーンでのウェイト設定で計算を頂点単位から面単位で行うようにし、ボーンまでの距離判定を面の裏側が優先になるようにします。
[変形同期開始時の形状を個別記憶へ送る] - 変形同期開始時の形状データを個別記憶へ登録(変形同期参照)
[半モデルの頂点選択] - [モデル右側-正面左側] - モデルの右側(X>=0)の頂点を選択状態にします。
- [モデル左側-正面右側] - モデルの左側(X<0)の頂点を選択状態にします。
[選択頂点を鏡像からウェイト設定] -
選択頂点をモデルの鏡像位置周辺の頂点からウェイトを自動的に設定します(□鏡像ウェイト設定について参照)
[選択頂点をSDEF設定] - BDEF2/BDEF4対象頂点をSDEF変形へ変換
[選択頂点をQDEF設定] - BDEF2/BDEF4対象頂点をQDEF変形へ変換
[選択頂点をBDEFへ戻す] - SDEF/QDEF変形になっている頂点をBDEFへ戻す
※SDEF化での頂点のSDEFパラメータはボーン位置の移動やウェイト分布の変更により最適な値が変わるので注意
[モデルの鏡像化] - モデル全体を鏡像化します(左右入れ替え)
[簡易プリミティブ追加] - ※「プリミティブの編集について」参照
○鏡像ウェイト設定について
選択中の頂点に対して以下の方法でウェイト値を自動的に設定します。
ウェイト付けを既に行った頂点を選択して鏡像化する方法ではありませんので、ご注意ください。
1. 頂点の鏡像位置(Y軸対称位置 = X符号反転位置)に最も近い位置の頂点を探索(自分自身やウェイト値が初期値の場合は除く)
2. 探索された頂点のウェイト設定から、鏡像関連ボーン及びウェイト値を設定。
※近似頂点数が複数の場合は、近い位置から複数の頂点を候補とし、ウェイト値を距離で重み付け補正(SDEFウェイトは正常に設定されません)
※鏡像位置の関連ボーンについて、まずボーン名の先頭文字が左(or右)で鏡像ボーンがあるか判定。
対象名ではない場合は、鏡像位置に最も近いボーンを探索し、それを関連ボーンとします。
Y軸上のボーンなどでは、鏡像ボーン=元のボーンとなることもあります。
尚、この処理はとても重いのでモデルの頂点数によってはかなりの時間がかかると思われます。
○近位置ボーンからの簡易ウェイト設定
選択頂点に対して、最も位置が近いボーン(ボーン位置基準)または最も距離が近いボーン軸(ボーン軸基準)を対象に
ウェイト値 100%(1.0)でウェイト設定します。
ボーン軸はボーンから表示先までの一連の[<○]を対象にした軸です。
頂点から各軸までの直角距離が最も近いボーン軸=ボーンを対象とします。
面単位/裏側優先チェック時は頂点単位ではなく面単位で計算を行います。
その際、面の裏側にあるボーンまたはボーン軸を優先的に対象とするよう重みが掛けられます。
※簡易な構造の場合はボーン軸がほとんどの場合面の裏側を通っているので、面単位/裏側優先がうまく機能しますが、
面の向きによっては随分と離れたボーンを対象としてしまう場合があります。
軸向きや頂点の配置状態など一般的な形状モデルを全体的に一気に設定するには不向きな機能です。
個別のパーツ単位でボーンと頂点を関連させていくことを想定しています。
○プリミティブの編集について
簡易的なプリミティブ(面/箱/テキストなど)の追加と、それに関連する各頂点/面への編集機能。
使用にはいくつかの注意点があります。
□追加可能なプリミティブ
・平面(+UV) : 任意の分割数を指定可能。平面のみUV値自動設定。
・箱 : 直方体。大きさのみ指定可能で分割数は設定不可。
・球 : 球。半径/経度方向の分割数/緯度方向の分割数を指定可能。
・柱 : 角(円)柱。上下の半径/高/経度/緯度方向の分割数を指定可能。Z方向へ生成されます。
・トーラス : リング/ドーナツ形状。内径(外周の輪の大きさ)/外形(全体の大きさ)/外枠の分割数/内輪の分割数を指定可能。
・テキスト : 文字/文字形状をモデル化。フォント(フォントと書体のみ)/サイズ(フォントサイズで指定)/テキスト内容/厚み/滑らかさを指定可能。
・ロープ : 直列した頂点をロープ形状で配置作成(原点上から下方向へ作成)。対応したSoftBodyも一括して作成可能。制御ボーンはY方向の最上頂点位置へ配置。
※テキストの大きさは暫定的にフォントサイズの指定で変更可能ですが、特に基準数値などがあるわけではありません。
それぞれ新規材質、または任意の材質へ追加が可能です。新規材質時は自動的にエッジONに変更されます(チェック中の場合)
また関連ボーンや剛体なども同時に作成可能です。
プリミティブの追加処理はDirectX側の実装機能へ投げているだけなので、こちらで細かい指定はできません(平面やロープは内部で生成/平面はUVも設定可能)
作成時に必要な頂点数は [追加] ボタンの右側に表示されています。
□UI
プリミティブを選択すると、それらに対応した形状のUI(モデル)がPmxView上に表示されます。
UIはドラッグ操作で移動することができ、位置座標がプリミティブ追加窓へ設定されます。
※向きについてはUIから操作できませんので、数値で入力してください。
□テキスト文字の曲面品質
偏差値により曲面に対しての精度を調整することが可能です。
偏差=0 である程度最適な状態、0に近い値ほど精度が高くなり比例して必要な頂点数が増加します。
○頂点編集
選択頂点の削除/結合や選択面に対して頂点の分離処理などが可能ですが、これらは比較的コストの重い処理になります。
Shift+Del などで頂点関連の削除も可能ですが、内部の処理コストは変わりないので使用の際はご注意ください。
PMXエディタでも多少の編集機能は有しておりますが、基本的に簡易的な編集のみを想定していますので、
詳細なモデリング作業等は専用機能を有したアプリケーションにて行ってください。
○アンカー編集とPMXスケルトンについて
アンカー(=指定の空間領域)により、ボーンと頂点のウェイト関係を一括して設定する機能です。
アンカーデータはPMXスケルトン(*.psk)として保存されます。PMXには直接格納できないので注意してください。
モデルファイル名と同名のスケルトンファイルに保存した場合、モデル読込み時にアンカーデータも同時に読み込まれます(起動時ON) ※アンカーのみ
またモデルデータ内にアンカーデータが存在する場合、モデル保存時に同時に同名のアンカースケルトンファイルの作成/保存を行います(起動時ON)
PMXスケルトンにはアンカーの他に、ボーン/ボーンモーフ/剛体/Jointの各構造データを格納することができ、
アンカーと組み合わせることにより、変形構造用のパラメータを共用化することが可能になります。
※ただしほとんどの場合、モデル間の相違により適用には多くの修正が必要になります。
■アンカーの初期化/簡単な追加方法
アンカーデータを持たない通常のモデルデータはアンカーを追加する前にスケルトンの初期化が必要となります。
初期化及び以下のアンカー編集には、
PmxViewの[編集]メニュー以下 [ウェイト関連] - [ウェイトアンカー編集] (またはF10)
で表示されるアンカー編集子窓を使用します。
初期化はファイルメニュー内の [アンカー初期化] から行ってください。
左枠内にボーン列が表示されるので、アンカーを追加したいボーン上で右クリック→表示されるメニューからアンカーが追加可能です。
■アンカー形状
アンカーとして利用可能な空間領域は以下の4種類があります。
・箱
・球
・円筒
・カプセル
それぞれ頂点を覆う空間領域の違いの他、ウェイトマッピングの方法も異なります(詳細は後述)
形状の相互変換はうまくいかないことも多いので作成時はご注意ください。
※基本的には箱アンカーのみでOK
■ウェイト設定モード
PMX頂点のボーンウェイトと同様に BDEF1/BDEF2/BDEF4/SDEF/QDEF と5種類の選択がアンカー毎に可能です。
アンカー同士が交差し複数のアンカーに属している頂点では、
BDEF1 > QDEF > BDEF2 = SDEF > BDEF4
の順番(左強)に判定が行われます。
例:
BDEF1とBDEF2の両方に属している頂点 → BDEF1設定(ウェイト値1.0)
BDEF2とSDEFとBDEF4に属している頂点 → BDEF2設定(ウェイト値は交差状態による)
また属しているアンカー数によっては対象が少ない方へ自動的に変更されます。
例:
1つのBDEF2アンカーのみに属している頂点 → BDEF1設定(ウェイト値1.0)
2つのBDEF4アンカーに属している頂点 → BDEF2設定(ウェイト値は交差状態による)
SDEFウェイトは2つのSDEFアンカーに属している必要があります。条件に合わない場合はBDEF2として設定されます。
■ウェイトマッピングガイド
複数のアンカーが交差している領域では、一般的にウェイト分布が傾斜的に設定される必要があります。
これらの分布指標をガイド設定により行います。
ガイド設定には、
・無効
・軸方向
・距離
の3パターンが設定可能ですが、距離は取り扱いが非常に難しいので軸方向が推奨されます。
無効とした場合は、交差対象側のアンカーのガイド設定に従います。
無効のみの交差の場合は、交差数で一律平均化されます(2つなら交差範囲は一律ウェイト値0.5)
軸方向は、
箱/球 : 指定のボーン軸(表示先方向が優先/表示先がない場合は親ボーンからの方向)
円筒/カプセル : アンカー領域の中心軸 (軸上制御点を結んだ方向)
とアンカー形状により機能が変更されます。
一般的にはボーン軸に沿った方向でウェイト傾斜が設定されることが多いので、箱形状/軸方向ガイドが基本的なアンカー設定になります。
ボーン軸と異なる方向へ傾斜させたい場合などは円筒/カプセルアンカーを使用してください。
※軸の状態によってはうまくウェイト傾斜が設定されないこともあります。
距離の場合は、
箱 : 最も近い箱内の面までの距離
球 : 球中心までの距離
円筒 : 軸中心(2つの軸点の中央)までの距離
カプセル : 軸中心(2つの軸点の中央)までの距離
をウェイト傾斜のガイド指標として取り扱いますが、交差境界あたりでのウェイト分布の破断の発生や、
交差範囲によっては予期しない傾斜状態になることも多いので、利用についてはあまり推奨されません(将来的に仕様変更される可能性もあります)
■絞込み
アンカーによる頂点対象指定では、個別に対象頂点を材質単位及び頂点単位で絞り込みを行うことが可能です。
絞り込み設定は、下線のある [材質]/[除外材質]/[頂点]/[除外頂点] 上で左(右)クリック表示されるメニューから指定できます。
テキスト枠内に直接Indexをカンマ区切りで指定することも可能です(直値入力はEnter確定が必要)
材質絞り込みはPmxView側の絞り込み表示と同期して設定することも可能です。
対象頂点は、
[材質] 登録対象 から [除外材質] を除外した材質に対応する頂点 に
[頂点] 登録対象 から [除外頂点] を除外した頂点
を加えた頂点が対象となります(絞り込み側が空の場合は全対象)
当然ながらアンカー対象頂点は、以上の絞り込み後"アンカーの空間領域内"にある必要があります。
アンカー外の頂点は対象にできませんのでご注意ください。
※アンカーデータ保存時、絞り込み対象の 材質は材質名、頂点は頂点Indexで記録されるので、それらのデータ内容の状態や変更によってはうまく機能しなくなります。
アンカー名は保存時に警告されますが、特に材質名などの空名/重複名にはご注意ください。
■ミラーアンカー
主に左右ボーンなどを対象に、ミラー化したアンカーを利用することが可能です。
ミラーアンカーはミラー化したいアンカーを選択しメニューから作成することができます。
既存アンカー同士をミラー化することはできません。ご注意ください。
ミラー関係にあるアンカー同士は移動時など双方鏡像関係として処理されます(編集時鏡像設定は不要)
またウェイトモードやガイド設定など、一部のアンカー設定が同期処理されます(起動時ON)
ミラー元のアンカーを削除するとミラー側も同時に削除されます(ミラー側の削除はミラーアンカーのみ)
ミラーアンカーとして作成したアンカーを通常のアンカーに戻すことは可能ですが、
一旦変更した後の再ミラー化はできないのでご注意ください。
■子アンカー
各アンカーは子アンカーを持つことが可能です。ただし子の子は作成できません。
子アンカーは親アンカーのウェイト設定(対象ボーン/モード/ガイド)を引き継ぎ、
親アンカーのガイド設定で領域内頂点のウェイト設定を行います。
簡易的にアンカー領域を拡張するために用意されていますが、
状態によっては境界面のウェイト分布が破断することもあるのでご注意ください。
子アンカーは親アンカーの削除により同時に削除されます(現在のところ子アンカーを通常アンカーに戻すことはできません)
尚、親アンカーを移動などしても子アンカーは同期しません。個別選択して編集を行ってください。
■アンカー形状の編集方法
各アンカーはアンカー頂点の移動により位置/形状/大きさを変更することができます。
箱アンカーは8点の頂点移動により任意の形状に変更可能で、サイズ変更なども8点選択状態でのスケール編集などで行うことができます。
アンカー頂点枠内の面/軸頂点選択から箱の各6面を個別に頂点選択することも可能です。
箱アンカーは頂点移動により凹型の空間領域にすることもできますが、その場合領域内頂点の判定やウェイト分布設定が正しくおこなわれない可能性があります。
基本的に箱アンカーは凸型の形状であることが望ましいと思われます。
球/円筒/カプセルは中心/軸線と半径長で形状設定が可能です。
半径はアンカー頂点枠内の R値を直接設定するか、または半径操作にチェックを入れることで表示される半径設定用のアンカー頂点から編集可能です。
それぞれのアンカー頂点はアンカー頂点枠内から直接設定することも可能です(直値入力は要Enter確定)
■スケルトンデータファイル(*.psk)
アンカー及び変形構造データを一括して格納可能なデータファイルです(中身はXML形式/フォーマットは独自形式)
アンカー以外のボーン/ボーンモーフ/剛体/Joint は PMX-CSV形式で記録されています。
基本的にアンカー設定の保存用ファイルですが、構造データとして変形様式を共用化して利用することも一応可能です。
インポート時はアンカー以外のデータの格納状態により書き換え対象の選択画面が表示されます。
ボーン入れ替え時などは頂点の既存のウェイト設定なども初期化されるのでご注意ください。
モデルファイル(####.pmx)と同名のスケルトンファイル(####.psk)が存在する場合、
モデル読込み時にそのスケルトンファイルからアンカー設定をロードします(起動時ON)
モデルデータ内にアンカーデータがある場合、モデル保存時にアンカースケルトンを上記の同名ファイルで保存します(起動時ON)
この自動保存ではアンカーデータしか保存されないので、構造データをスケルトン保存する場合はご注意ください。
尚、アンカーデータの破棄によりモデル内のアンカーデータは全て初期化されます。この場合自動保存は行われません。
□アンカー編集 - メニュー機能
[ファイル] -
[アンカー初期化] - アンカー設定を初期化します。アンカースケルトンを持たない初期状態ではまず初期化が必要になります。
[アンカースケルトンの読み込み] - スケルトンファイル(*.psk)からアンカーデータを読み込みます(同時にアンカー初期化)
[アンカースケルトンの保存] - アンカー設定をスケルトンファイル(*.psk)に保存します。
[全ての構造データをスケルトンへ保存] - モデル内に存在する ボーン/ボーンモーフ/剛体/Joint/アンカー の各データをスケルトンファイル(*.psk)へ保存します。
[アンカーデータ破棄] - アンカー設定を全て破棄し初期状態へ戻します。
※スケルトンファイル(*.psk) は通常のモデルファイルのようにD&D操作でも読み込み可能です(PMX編集ではインポートも可能)
[編集] -
[更新] - アンカーリストを更新します。
[元に戻す] - Undo処理/View側と共用
[やり直し] - Redo処理/View側と共用
[ミラーアンカーの編集同期] - ミラー関係にあるアンカーのウェイトモード/ガイド設定などを同期編集します。
[チェックボーンを全て選択] - チェック対象のボーンを全て選択状態にします。
[表示アンカーを全て選択] - 表示状態(チェック対象)のアンカーを全て選択状態にします。
[選択ボーン] -
[アンカー追加] - [箱]/[球]/[円筒]/[カプセル] - 選択ボーンに対して任意の形状でアンカーを追加します(複数設定可能)
[サイズ0ボーンは追加対象外] - 〜先ボーンなどボーン長(表示先の長さ)が0のボーンを追加対象外とします。
[選択アンカー] -
[ミラーアンカーの追加] - 選択アンカーに対してミラーアンカーを追加します(複数可/既にミラーがある場合は追加しない)
[ミラー対象を通常アンカーへ変換] - 選択されたミラーアンカーを通常アンカーへ変換します(複数可)
[ウェイト] - 選択アンカーに対して指定の形式へのウェイトモードの設定及び有効/無効切り替えを行います(BDEF2⇔SDEFは相互変換)
[ガイド] - 選択アンカーを指定のウェイトガイドへ変更します。
[絞込み初期化] - 指定の絞込み対象を初期化します。
[全アンカーを位置固定] - 全てのアンカーを位置固定(アンカー頂点編集不可)にします。
[全アンカーを位置固定解除] - 全てのアンカーの位置固定を解除します。
[既存ウェイト分布からアンカー作成] - 設定されているウェイト分布状態からアンカーを追加作成します(※1)
[ウェイト設定] -
[表示アンカー] - 表示中対象のアンカーをウェイト設定します(※2)
[全てのアンカー] - 全てのアンカーをウェイト設定します。
[選択ボーン対象のアンカー] - 選択ボーンを対象としたアンカーをウェイト設定します(※2)
※1
実行時全てのアンカーを初期化します。
アンカーは対象ウェイトのある頂点を全て取り囲む領域で作成されるので、交差部分などのウェイト分布は再現されません。
アンカー領域内のウェイト対象ではない不要な頂点については除外頂点に追加されます。
この機能は既存モデルからの基礎的な全体のアンカー配置作成などの利用を主な目的としています。
※2
対象外アンカー内の頂点はウェイト設定されませんが、対象アンカーと交差する場合は交差状態としてウェイト設定が行われます。
例:2つのBDEF2アンカーが交差/片方は非表示 → 双方の交差状態としてウェイト分布を設定(表示側のBDEF1一律にはならない)
アンカーのウェイト設定が無効の場合は、複数アンカーが交差していても頂点からは存在しないアンカーとみなされるので、
表示/非表示に関わらず頂点のウェイトには影響しません。
例:2つのBDEF2アンカーが交差/片方はウェイト無効 → 有効側アンカーのBDEF1としてウェイト設定(一律ウェイト値:1.0)
[表示] -
[対応ボーンの同時選択] - 有効時、アンカー選択と同時に対象のボーンも選択状態にします。
[アンカー内頂点の同時選択] - 有効時、アンカー選択と同時に領域内の頂点(絞り込み後)を選択状態にします。
[絞込み対象の自動表示/選択] - 有効時、絞り込み対象がある場合アンカー選択と同時に材質を絞り込み状態/頂点を選択状態にします。
[アンカーアイコンを色枠表示] - 有効時、枠内のアンカー名左に表示される色アイコンにアンカー色を使用します(アンカーが増加すると更新がとても重くなるのでご注意ください)
[全てのアンカーを表示] - 全てのアンカーを表示状態にします。
[全てのアンカーを非表示] - 全てのアンカーを非表示状態にします。
[選択アンカーのみ表示] - 選択されたアンカーのみ表示状態にします。
※アンカーの表示/非表示は枠内アンカーのチェックでも設定可能です。
このチェック欄はダブルクリック操作などにより表示状態と内部状態が同期しない仕様(不具合?)があるようなのでご注意ください(システム側の仕様らしい)
同枠内のボーン側もチェック操作を行うことができますが、現状対応した機能は用意されていません。
□アンカー編集 - 操作画面
※この編集画面でのテキスト系の編集はエディタ本体とは異なり、Enterで確定する必要があります。ご注意ください。
[アンカー名] :
アンカー名を設定します(要Enter確定)。重複名や空名は設定できません。
ミラーアンカーなどの自動生成により重複名が作成される場合がありますが、適宜修正してください。
[ミラー] :
アンカーにミラー対応のアンカーがある場合表示されます。
----
ミラー元(通常アンカー)の場合 | → [ミラーアンカー名]
ミラー先(ミラーアンカー)の場合 | ← [ミラー元アンカー名]
----
ミラー対応がある場合は、表示上でのクリック操作によりミラー側へ移動することができます。
[位置固定] : 有効時、アンカー頂点の操作が不能になります。アンカー形状を変更しない場合など有効にしてください。
[アンカー色] : アンカー本体の色を変更可能です。アンカー作成時はランダムに色が決定されます。
[形状] : アンカーの形状が表示されます。変更はアンカーメニューから行うことができます。
[対応ボーン] :
アンカーに対応したボーンの選択が可能です。移動先を選んだ後右側ボタンにより移動してください。
ボーン削除などにより参照先が消失した場合、アンカーが[未参照]ボーン枠へ移動されることがあります(枠内最下部)
[ウェイト有効] :
有効時、ウェイト設定時に対象とします。有効/無効状態によってはアンカーの交差部分でのウェイト分布に影響が出るので注意してください。
[モード] : アンカーのウェイトモードを選択できます。詳細については上記「■ウェイト設定モード」を参照してください。
[ガイド] : アンカーのウェイトガイドを選択できます。詳細については上記「■ウェイトマッピングガイド」を参照してください。
[アンカー頂点] :
アンカーの個別頂点位置の設定が可能です。数値設定はEnter確定が必要になるのでご注意ください。
箱以外の形状では、半径操作により半径値を頂点操作で行うことができます。
1〜6までのボタンによりアンカー形状の各面や軸の選択に利用可能です。また軸線上の頂点などはドロップリストから各頂点を選択することで任意に選択可能です。
[絞り込み] :
アンカーの対象頂点を材質/頂点により絞り込むことが可能です。対象はカンマ区切りのIndexで表示されます。
直接設定も可能ですが他テキスト欄と同様にEnterでの確定が必要になります(改行されますが特に意味はありません)
下線表示された部位でのクリック操作により以下のメニューが表示されます。
・材質/除外材質
[絞込み表示の対象材質を設定] - ※1
[絞込み表示の対象材質を追加] - ※1
[絞込み除外(非表示)の対象材質を設定] - ※1
[絞込み除外(非表示)の対象材質を追加] - ※1
[対象材質を絞込み表示[除外含む]] - ※2
[初期化] - 設定内容を初期化
※1
頂点/材質マスキングで材質マスク及び面描画同期表示状態にして選択すると、対象(または非対象)の材質が設定/追加される。
※2
頂点/材質マスキングをアンカーの絞り込み設定によりマスク表示
・頂点/除外頂点
[選択頂点を設定] - 選択頂点を絞り込み対象へ設定
[選択頂点を追加] - 選択頂点を絞り込み対象へ追加
[対象頂点を選択[除外含む]] - アンカーの絞り込み設定対象の頂点を選択
[初期化] - 設定内容を初期化
※絞り込み表示での対象選択はアンカー選択時に自動実行することも可能 [表示]-[絞込み対象の自動表示/選択] 参照
□アンカー編集 - アンカーメニュー機能及び
[アンカー追加] - [箱]/[球]/[円筒]/[カプセル] - アンカーのボーン対象にアンカーを追加(1つのボーンに複数のアンカーを登録可能)
[複製追加] - 選択アンカーの複製を追加。ミラーアンカーは複製不可
[形状変更] - [箱]/[球]/[円筒]/[カプセル] - 選択アンカーを任意の形状へ変更。サイズなどうまく変換されないので使用は非推奨
[アンカー削除] -
選択アンカーを削除。関連したミラー及び子アンカーも同時に削除されます。
アンカー削除はPmxView側からアンカーを複数選択してDeleteキーなどにより一括削除も可能です(PmxView側のメニュー機能)
[上へ移動]/[下へ移動] - 兄弟アンカーがある場合上下を入れ替えます。
[ミラーアンカーの追加] - 選択アンカーに対してミラーアンカーを追加します(ミラー/子アンカーはミラー化不可)
[ミラーアンカーを通常アンカーへ変換] - 選択されたミラーアンカーを通常アンカーへ変換します。
[子アンカー追加] - [箱]/[球]/[円筒]/[カプセル] - 選択アンカー子アンカーを追加します(子アンカーの子は追加不可)
[このアンカーのみ表示] - 選択アンカーのみ表示状態にします。
[全てのアンカーを表示] - 全てのアンカーを表示状態にします。
[全てのアンカーを非表示] - 全てのアンカーを非表示状態にします。
[アンカー内の頂点を選択] - 選択アンカー内の頂点を選択状態にします(絞り込み済)
[表示アンカー内の頂点を選択] - 表示中アンカー内の頂点を選択状態にします(絞り込み済)
■アンカー編集TIPS他
・1〜6の面/軸頂点選択ボタンは Ctrl+テンキーの数字でも選択可 | Ctrlなしだと左側のアンカー枠に処理が取られます。
・ショートカットキーはアンカー編集窓がアクティブになっていないと機能しません
(View側がアクティブの場合はView側のショートカットが動作します)
・SDEFによるウェイト分布は、頂点分布のちょうど中央位置にボーンがあり、
ボーンに対応する双方のアンカーの交差中央にボーンが位置していると綺麗な変形になるようです(BDEF2用のずらした配置は逆効果)
・SDEF設定は双方の交差アンカーが軸方向ガイドになっている場合とそうでない場合でパラメータの設定方法が異なります。
軸方向ガイドの場合 : アンカーの軸境界面をSDEFパラメータ化(本来のSDEF設定)
上記以外 : BDEF2ウェイトとして配置→ウェイト分布からSDEF化(PmxViewでのSDEF設定方法)
・複数アンカーの配置
一つのボーンに対して複数のアンカーを配置することができます。
同一ボーンに対しての複数の兄弟アンカー内に含まれている頂点は上位アンカー側が優先となります。
各アンカーはそれぞれ独立して他のアンカーとの交差計算を行うので、配置状況によってはウェイト分布に破断などが発生します。
・ボーンの両端での異なるウェイトモードの利用
例えば腕アンカーを、肩側をBDEF4/ひじ側をSDEF などで利用したい場合は、腕に対して2つのアンカーを用意し、
肩側をBDEF4/ひじ側をSDEF として分けてアンカーを配置設定すればOKです。
両アンカーが交差する中央部分は(他ボーンのアンカーとの交差がないので)自動的にBDEF1ウェイトとなり問題ありません。
・ウェイトがうまく設定されない
アンカーによる自動計算では限界があります。適宜ウェイト描画機能と併用してください。
・何度やってもウェイト設定に失敗しましたと表示される
軸設定などに問題があると失敗しやすくなります。ウェイト設定の対象アンカーを絞り込んで特定してください。
尚、モデルの状態によっては想定外の失敗が発生する可能性があります。
・スケルトンデータに任意のボーンや剛体だけ格納したい
全体保存後テキスト編集で開き、対応する項目以外のCSVテキスト行を削除すればOKです。
ただし各要素が参照している対象を削除してしまうと、正常に追加することができなくなります。ご注意ください。
・アンカー頂点表示の大きさや色を変更したい
"_data\リスト表示用" フォルダ以外の"アンカー.txt"を書き換えることで変更可能です。値は順番に、
----
アンカー頂点大きさ(R)、通常アンカー透過度(R)、選択アンカー透過度(R)、
頂点色、選択頂点色、選択ライン色、BDEF1色、BDEF2色、BDEF4色、SDEF色、QDEF色、アンカーアイコン色
----
となっています(アンカーの色を変更しても WeightType モードの描画色は変化しません)
■[情報] メニュー関連
[追加表示欄] - 上下アイコン欄の表示切替(カメラアイコンは非表示不可)
[編集状態選択枠の有効切り替え] - 編集状態選択枠の有効状態を切り替えます(一部の操作がうまく動作しないケースへの対応)
[Sub/TransViewを強制解放] - SubView/TransformView に読み込まれているモデル情報を強制的に解放し、両Viewを非表示にします(メモリ消費量が低減されます)
[VmdViewで確認/更新] - VMDView(後述)を起動し、モーション動作などを確認できます。起動中の場合は更新したモデルデータを送信します。
§ モデル変形画面(TransformView) の機能
変形状態の確認が可能な画面。ボーン/モーフ/物理演算を合わせてテスト可能です。
※非表示にしておくとメモリ消費量が低減されます。
最初の表示時にモデルデータが読み込まれ適用されます。一旦表示された後はPmxView側から強制的に解放することも可能です。
○操作窓 (画面右側)
描画画面右下の [<<] ボタンで操作窓を表示側に格納することができます。
□ボーン/表示枠/ツリー
対象のボーンやモーフを任意の形式で選択(ボーンは画面上でも選択可能)
表示枠は未登録対象の確認も可能です。
※ツリー表示は初期状態の枠の大きさでは確認に難がありますが、操作窓境界位置の移動により窓枠を拡げることで全体の表示ができます。
※ツリー上でのボーン順編集などはできません。
□移動
□回転
ボタンの上下ドラッグ処理でボーンを変形(ボーン毎のローカル変形量設定) Shift+:変形量大 / Ctrl+:変形量小
□制限解除
ボーン種類で制限されている移動などの操作を一時的に可能にします(ハンドルの中心操作は変化しません)
□リセット
変形の個別リセット(全体リセットではありません)
□操作/値指定
変形を直接値で入力可能に変更
□スケール
選択ボーンのスケール(拡大率)値を設定。※物理剛体などスケール設定が適用されない対象があります。またXYZそれぞれ異なる倍率のスケール変換では変形が正常におこなわれない場合があります(仕様)
※値入力によるボタン操作時 Shift+:逆変形 / Ctrl+:変形量小 | Ctrl+右クリック : 入力欄初期化
□IK - ON/OFF
IKの有効状態を個別に設定。右クリックメニューから一括ON/OFF可能。
□モーフリスト
対象のモーフ選択
※モーフリスト上で左右にドラッグ操作を行うと、対象のモーフ値を変化させることが可能
□変化量
0.0 〜 1.0 : モーフの変化量
[←モーションから取得]
現在のモーション変形の状態をモーフ側へ一括設定します。通常モーションをOFFにした場合はモーフは初期化されてしまうので、その対応です。
[#個別モーフ確認]
有効時モーフの選択でそのモーフのみを即時適用状態にします。個々のモーフ形状を手早く確認することが可能です。
[初期化] - [姿勢の初期化] - 姿勢(ボーンでの変形)を初期状態に戻す
- [モーフの初期化] - 全てのモーフ変化を初期化
- [全て初期化] - 全てを初期化
→それぞれ
[R-B]/[R-M]/[Reset] に対応しています。
[表示枠] - 表示枠に関する設定。※一度全て展開した表示枠は、更新により全て閉じた状態に戻すことが可能です。
[反転P] - 現在の姿勢状態を左右逆側に反転設定
■メニュー関係
[ファイル] -
[保存/更新時などの頂点モーフ正規化] - 以下の保存及び更新処理時における頂点モーフ正規化のON/OFF
[現在の形状で保存] - 変形した状態をファイルへ保存
[現在の形状をアーカイブ追加] - 変形した状態をモデルアーカイブへ追加保存
[現在の変形状態でモデル形状を更新] - 変形した状態を変形元のモデル形状へ適用
※正規化を行う場合、頂点モーフによる変形は全て初期化されます。
正規化しない場合、向きやスケール変化などで更新後の頂点モーフが正常に機能しなくなるケースがあります。
正規化処理はそれなりに重い処理なのでモデル構造によっては時間がかかる場合があります(頂点モーフ数及び関連頂点数など)
Shift+でメニューを選択した場合は正規化設定を反転して実行されます。
なお剛体/Jointも形状に合わせて変形されますが、物理変形状態からの内部パラメータへの変換はうまく行われない場合があります。
また SDEFパラメータは仕様上正しく適用することはできません(更新後に再度SDEF化をおこなうことで改善されるケースもあります)
[編集] -
[更新] - モデルデータの再更新
※別の箇所で更新した場合は、全て自動的に更新するようになっていますが、場合によっては手動で更新する必要があるかもしれません。
[変形状態を戻す] - 変形状態のUndo
[変形状態を進める] - 変形状態のRedo
[ボーン選択状態の維持] - ボーンを非選択状態にしない
[ボーン選択情報を親Viewへ送る] - ボーンの選択状態を親View側へ送信します。TransformView → PmxView → Pmx編集 まで選択状態を同期化可能(ただし逆は不可)
[モーフ選択情報を親Viewへ送る] - モーフの選択状態を親View側へ送信します。モーフ編集での既存モーフ選択に対応します。
[現在の選択状態で更新] - TransformView側の選択状態でPmxViewを選択更新 ※不正な変形頂点などをPmxView側で即時確認可能になります。
[選択オブジェクト] -
[範囲中央位置をベクトルコピー] - 選択オブジェクトの範囲中央位置をベクトルコピー
[ベクトルコピーからボーン位置設定] - ベクトルコピーの値から選択対象ボーンへの位置設定
[クリップボードからボーン位置設定] - ベクトルコピーに対応したカンマ区切りのクリップボード内容から選択対象ボーンへの位置設定
[ハンドルの中心操作] - ハンドルによる変形操作時、ハンドル中心による特殊操作(※)を有効にする
[IKリンクの継続変形] - 通常PMXの変形は単一フレームにおいて全て初期状態から変形が行われますが、有効時はIKリンクを前回変形時から継続状態で変形します(一部のモデルでは変形が正しく行われないようです)
[物理IK系列の計算スキップ] - IKのリンク系列が全て物理演算ボーンに対応している場合、そのIK計算をスキップします。
[ローカル軸無視] - ハンドル向きにローカル軸設定を反映しません。
[SDEF変形のスケール有効] - SDEFによるウェイト変形モデルでスケールを有効化(有効状態ではSDEF変形の計算量が多少増加します)
[現在の変形状態で新規ボーンモーフ追加] - 現在のボーン変形状態をボーンモーフへ新規追加作成
[ボーンモーフ変形量を通常変形量へ戻す] - ボーンモーフによる変形を通常の回転/移動変形へ変換(モーフ値は初期化)
[形状をコピー] - Vpdテキストとしてクリップボードにコピー
[形状をペースト] - Vpdテキストをクリップボードから読み込みポーズ設定
[現在の設定で形状をMMDへ送信] - MMDへ形状データ送信 ※後述
[Vpdファイル関連] -
[保存]/[読み込み] - 現在の形状をVpdファイル(MMDのポーズファイル)で保存/読み込み
[拡張形式で保存] - 保存時にモーフ量を記録した拡張形式で保存(読込み時は自動判定)
○ハンドル中心による特殊操作
選択ボーンが移動可 : カーソル位置に選択ボーンを移動
選択ボーンが移動不可/親ボーンが回転可 :
選択ボーンがカーソル位置への軸に重なるように親ボーンを回転(軸向きによっては不正な方向へ回転するので注意)
親が捩りボーンなど固定軸を持つ場合はその親を回転対象とする。同位置でのボーン多段化などでは取り扱いが難しくなるので注意。
○Φ選択によるドラッグ操作
ドラッグ操作時はハンドル中心の特殊操作と同様になります。
ドラッグを行わず同位置でクリック操作を行えばハンドルが表示されるので、通常のハンドル操作を行うことができます。
対象が回転ボーンの場合にShiftを押しながらドラッグを行うと、親側の回転量を逆算し自身の回転量へ付加します。
肩などでは腕の方向を変えずに肩の位置を上側に移動させるような挙動となります(一部でキャンセルボーンと呼称される挙動と同等の構造)
○Ctrl+によるボーン選択
同位置にあるボーンなど裏側にある対象へ選択が切り替わります。
○ベクトルコピー(クリップボード)からボーン位置設定
ボーンの位置を指定座標へ強制的に配置します。
その際ボーンの変形パラメータには位置から逆変換された移動/回転量が設定されます。
回転のみのボーンにも無理やり移動量が設定されるなど、不正な変形状態になりやすいのでご注意ください。
なお本機能はパーツ合成時の位置合わせなどに利用されることを想定しています。
□拡張vpd
モーフの変形状態も一緒に記録したポーズファイル(*.vpd)
MMDでもそのまま読み込むことが可能ですが、ボーン以外のモーフ(表情)部分は無視されます。
対応したMMD互換ツールなどで使用することが可能です。
[モード] -
[リアルタイム更新] - 指定のFPSで常に変形更新し続ける状態
[FPS] -
[30F]/[60F] - 更新FPSを指定のフレームレートへ変更
[FPS表示] - 現在のFPSとモーションフレームを画面に表示
[フレーム経過時間] - 1[s]内の経過フレーム内で、最も時間のかかったフレームの経過時間[ms]を表示
[物理演算] - 物理演算のON/OFF
[物理演算設定] - 重力などの物理演算設定窓を表示
[物理演算有効の自動切り替え] - リアルタイム更新のON/OFF変更時に物理演算の状態を合わせます。
[モーション再生] - リアルタイム更新時に設定されたモーションから変形を行います。
[変形対象をモーション変形から除外] - モーション再生時、任意の変形を行った部分はモーションからの変形を行いません。
[モーションキーによるIK有効切り替え] - モーションデータからIKのON/OFFを随時切り替えます。
[変形を1F進める] - 変形状態を更新し、フレーム位置を1F分進めます。
[変形を1F戻す] - 変形状態を更新し、フレーム位置を1F分戻します。
[再生フレーム位置を初期化] - モーション再生のフレーム位置を0フレームへ戻します。
[VMDリスト] - モーション再生用のVMDを選択、管理します。※カメラ/照明系モーションは使用できません。
○リアルタイム更新
物理演算やモーション再生による確認を行うことができます。
フレーム更新は既定のフレームレート(30F/60F)のみで、変形/表示が間に合わない場合でもフレームスキップはしません。
処理が間に合わない場合は処理落ちのまま継続するので、極端に重い状況などでは処理自体が帰ってこなくなることもあります(=フリーズ状態)
SoftBody利用時などは特にご注意ください。
○物理演算
モデルの 剛体/Joint/SoftBody から物理演算による変形を行います。
※物理エンジンは Bullet Physics (http://bulletphysics.org/wordpress/) を使用しています。
PmxViewなどでの更新は TransformViewアクティブ時に即時反映されるので、迅速な確認が可能です。
物理演算状態は"物理演算"の ON/OFF を切り替えることで初期化されます(稼働中は[物]ボタン2度押しで即初期化と同じ)
またリアルタイム更新の ON/OFF を切り替えると、現在の変形状態から剛体位置などが正規化されます。
付き抜けが酷く戻らなくなった場合などは、それらの正規化で対応できるかもしれません。
重力などは [物理演算設定] から変更可能です。
同操作窓のメニューに [ボーン位置合わせ再計算]/[Jointロック内部演算] がありますが、通常はONのままにしておいてください。
※OFFにすると補正のない "本来のbulletエンジンの物理挙動" を確認することができます。
応用として、特定のJointでのモーター構造やインパルスモーフを利用すると、物理演算のみで自律稼動状態を作ることも可能です。
また通常の利用方法ではありませんが、物理演算の変形は全体変形の更新毎に呼び出されるため、
リアルタイム更新がONになっていなくても機能させることは可能です。
※物理演算のみONにして、適当なボーンやモーフを変形すると物理変形も行われます。
○モーション再生
指定されたモーション(vmd)で変形を行います。
モーションによる変形は任意の変形操作によりキャンセルされます。
例えばモーション再生中にセンターボーンを移動させると、それ以降はセンターに対してのモーションからの変形は行われなくなります。
逆に固定化された箇所は変形状態を初期化することで、再びモーション変形の対象に戻ります。
モーションは繰り返し再生されます。現在のフレーム位置を初期化することは可能ですが、任意のフレームへの移動はできません。
それらの細かいモーション動作の確認については、後述の VMDView を利用してください。
[VMDリスト] は VMDView と共通なので、よく使うモーションを予め登録しておくと作業が捗ります。
VMDファイルは TransformView へ直接D&Dすることで読み込むことも可能です。
※読み込まれたVMDはVMDリストに一時的に登録されます。保存しない場合は終了時に破棄されます。
モーション再生をOFFにした場合、モーフ状態は解除され全て初期化されるので、
形状保存のためなど、"任意のモーション状態から姿勢を固定する場合"は
事前にモーフ状態を [モーションから取得] しておく必要があります。
物理演算と同じく変形の更新毎に呼び出されるため、
リアルタイム更新がOFFでも機能します(任意の変形を行うたびにモーション変形が進みます)
[表示] -
[表示設定] - 表示設定を開く
[視点の回転中心] - PmxView側と同機能
[絞込み表示] - 同PmxView
[送信関連関連] - 送信関連窓表示 ※同[送]アイコン
[ポーズスライダ] - ポーズスライダ表示 ※同[PS]アイコン
[モーフスライダ] - モーフスライダ表示 ※同[MS]アイコン
[アンカー表示] - アンカーを追加表示(アンカーも変形に追随/変形状態で保存可能)
[追加表示欄] - 同PmxView
[常に最前面表示] - 最前面表示
○送信関連
現在の変形状態を起動中のMMDへ送る機能です。
ボーン変形(姿勢)はvpd経由/vmd経由で送信可能です。vpd:変形分のみ/vmd経由の場合は変化した部分のみになります。
モーフはMMD側がvpdとして受け取れないので、モーションキー(1Fデータ)として送信します。
ボーンと同様変化した部分のみを送るので、初期状態に戻した後の送信など意図しない動作になる可能性があります。ご注意ください。
一応カメラモーションも送ることは可能ですが、MMDの仕様とは相性が悪いので参考程度として認識ください。
□送信ウェイト
送信後の待ち時間をミリ秒で指定します。
特に変更の必要はないかと思われますが、環境によりうまく送信機能が動作しない場合は適宜変更してください。
□非IK化
TransformViewでIK変形された対象を非IK(FK)変形となるよう、送信データを加工します(指定のIKのみ)
具体的には、腕IKを用いたモデルなどをTransformViewから変形し、非IK化送信を行うことにより、
腕IKに対応していないモデルでもIKを利用したポージングを行うことが可能になります。
※共通のFK構造を持つモデルなら、一部のモデルをIK化しておくだけで流用が可能になります。
なお FK化したポーズ遷移(モーションの動き方)とIK状態のポーズ遷移は当然異なるものになります。
原理的に完全互換ではありませんのでご注意ください。
○ポーズスライダ
2つのポーズ(姿勢)間をモーフ設定のようにスライダ操作で変化させることのできる機能です。
主に指関連のポーズ作成を簡易にするために用意されていますが、任意のポーズを用いることができるので、
応用次第では色々なことが可能になるかと思われます。
※拡張vpdへの対応によりモーフもボーン変形と同様に扱うことが可能
□作成方法
現在の形状またはvpdファイルからポーズA/Bへ取り込みを行ってください。
双方に異なる姿勢状態がある場合、自動的に対象とするスライダ変形を作成します。
※片方のみに存在している変形状態は無効とみなされます。
※モデル側に対象のボーンが存在しない場合"△(ボーン/モーフ名)"と表示され選択不可能になります。
□スライダ変形の個別設定
左端のチェックをONにすることで、そのボーンのみ個別設定が可能になります。
全体のスライダ設定からは無関係になるので、例えば"人差し指だけを伸ばした状態"で他の指だけを曲げ伸ばすことなども可能です。
□スライダ変形の保存/読み込み
[ファイル] - [スライダ変形の****] より保存/読み込み可能。子窓にD&Dでも読み込み可能です。
ファイル形式は".spd"(暫定)、中身は単純なテキストファイルです。
同梱ファイルとして"右手握り.spd"/"左手握り.spd"がありますが、これらはMMD標準ポーズをそのまま利用したものになります。
※拡張vpd対応以降 spdファイルのフォーマットが変更されました。対応以降保存したファイルは過去のバージョンでは利用できませんのでご注意ください。
□その他TIPSなど
ポーズABは反転可能
数値設定(右端)はEnter確定。0-1の範囲外でも機能します(スライダは0-1で固定)
[Pose A]/[Pose B]をクリックすると0/1の直値設定
[Pose A]/[Pose B]に"*.vpd"(ポーズファイル)をD&D可能(*.spdは同場所にD&Dできません)
ポーズスライダで変形した箇所は変形済みのボーン色になりません(仕様)
○モーフスライダ
通常のモーフ設定を一覧状態としてスライダ設定可能な機能です。
左端チェックによりグループ化することが可能です。
グループ化した対象は同一値として設定される他、メニューなどから一定の値をショートカット設定可能です。
その他基本的な操作は通常のモーフ設定やポーズスライダと同じになります。
§ エフェクト描画機能
MikuMikuEffect(MME) において利用可能なエフェクトファイル(*.fx) を PmxView の描画に利用する機能です。
エフェクト描画のON/OFF切り替えは、[表示]-[エフェクト描画] または [Fx] ボタンから行います。
描画に利用するエフェクトファイルは、[表示]-[エフェクト設定] から表示される操作窓や、
エフェクトファイルのD&D操作などにより、読み込み/切り替えができます。
※D&D時は同時にエフェクトONになります。
本アプリケーションは単体のモデルデータを編集する機構なので、エフェクトの利用にはいくつかの制限があります。
■非対応項目
・オフスクリーンレンダリングターゲット(OFFSCREENRENDERTARGET) -> 依存するエフェクトは正常に動作しません。
・アニメーションテクスチャ(ANIMATEDTEXTURE) のアニメーション機能 -> 通常テクスチャとして扱われます。
・TEXTUREVALUE
・_INDEX(頂点シェーダ)
・変形状態での運用 -> TransformView は変形機構にGPUスキニングを利用しているので扱えません。
■独自拡張項目
[セマンティクス]
MATERIALTOONMAP : Toonマップテクスチャ | MME側の更新により別名セマンティクスを利用推奨
ZPLOT : Z値プロットテクスチャ(セルフシャドウ用) | s0レジスタもそのまま利用可能
[特殊パラメータ]
subtex (bool) : スフィアマップのサブテクスチャフラグ | MME側の更新により別名パラメータを利用推奨
vcol (bool) : 頂点色フラグ(材質)
■制限項目
・コントロールオブジェクト(CONTROLOBJECT) -> ボーン位置以外は初期状態として設定されます。
・同時に利用可能なエフェクトは1つまで
・地面影の透過率無効
・エッジ描画は標準シェーダを使用 -> 一応切り替え可能ですが、独自シェーダからの正常表示は難しいと思われます。
※他にも機構の違いなどから正常に動作しないものがあるかもしれません。
PmxView でのエフェクト描画機能は(上記制限から解るように)、基本的にモデル描画用シェーダでの運用を想定しています。
※ランバート系に代表される描画シェーダや独自に拡張したToonシェーディング、ノーマル/バンプマップなどに合わせた調整が容易になります。
パーティクルやアニメーション効果、複雑なポスト処理や複数モデルからの動作などは MMD/MME など専用の環境で調整してください。
○標準のエフェクトシェーダ
MME標準の "full.fx" を本アプリケーション用に改変したものです(ツール内部に格納されています)
色計算はそのままなので、MME利用時のMMDと同様の表示になるかと思われます。
※MMDと表示を合致させるため、エフェクト描画ON/OFF時に照明の設定が切り替わります。
"full.fx" と異なり、非セルフシャドウ時のToonマッピングはToonテクスチャからリニアに行われます(MMD標準仕様)
またスフィアマップのサブテクスチャモードも機能します。
○エフェクトの自動読み込み/更新監視
モデル名と同名の "****.fx" がファイルとして存在する場合、モデル読込み時に対象のエフェクトファイルも同時に読み込まれます。
設定窓の [変更監視] がONの場合、エフェクトファイルが外部から書き換えられると自動的にエフェクトを読み直します。
※これらはMMEの標準機能と同様の機能です。
○エフェクト描画の標準設定
エフェクト設定窓から現在のエフェクトを標準設定として保存可能です。※ 設定窓の [ファイル]-[標準設定へ保存]
次回起動時以降、標準設定されたエフェクト描画状態で初期化されます(エフェクト描画もONになります)
※標準設定は "_data\fx.xml" に保存されるので、削除することで標準設定のない状態へ戻ります。
○コンパイル済エフェクトの対応
エフェクト描画のON/OFF時、安全のためエフェクト関係を全て初期化しています。
ON時はエフェクトファイルから逐一コンパイル作業を行うので、エフェクトの内容によっては非常に時間がかかります。
よく使うエフェクトの動作を快適にしたい場合は、DirectX SDK付属の"fxc.exe"で予めコンパイルしておく方法があります。
コンパイル時に拡張子を"*.cfx"にしておくとコンパイル済エフェクトとして認識されます。
※実行例
"C:\Program Files (x86)\Microsoft DirectX SDK\Utilities\bin\x64\fxc.exe" hoge.fx /T fx_2_0 /Fo hoge.cfx
エフェクト描画機能ではコンパイル済エフェクト(*.cfx)は通常エフェクト(*.fx)と同様に取り扱われます。
○非対応エフェクトの取り扱い
コンパイルエラーのないエフェクトを読み込むことはできますが、描画時は正常に動作しないと思われます。
エフェクトの内容によっては、描画機構そのものを破壊することもあるので、
場合によってはアプリケーションがそのまま落ちることなどが予想されます。
破棄されたモデルデータは復元されませんので、外部エフェクトの利用はくれぐれもご注意ください。
§ VMDView の機能説明
○VMDViewとは?
PMXモデルを任意のVMDモーション(MMDの汎用モーション形式)で動作させることのできるアプリケーションソフトウェアです(でした)
※元々モーションや物理演算確認用として作成されたツールでしたが、現在は主だった機能が TransformView 側にも実装されています。
VMDViewはPMXエディタ(PmxView)から起動可能です。モデル情報をファイルとして受け渡す必要はなくダイレクトに更新が可能です。
スレーブモードの場合は VMDView側からのモデルファイルの変更が禁止されます。
○操作概要
PMXモデルのロード:一体のみ(複数表示は不可能)
→
VMDモーションのロード
→
再生確認
この状態でモデル/モーションを自由に切り替えることが可能です。
ロード方法はメニューから行う方法/D&Dでファイルを渡す方法/VMDリストから設定する方法
など複数の手段があります。
※VMDリストについては後述します。
・VMDモーションは内容によって3種類に分類されます
ボーン/表情モーション → Motion
カメラモーション → Camera
照明モーション → Light
それぞれ複合して記録されているVMDの場合は、全てに該当することもあります。
それぞれ個別にロードすることも可能です(対象がない場合はロードされません)
ロードされたVMD名は画面に表示されるので確認してください。
○演出モード
カメラ/照明モーションは「演出モード」ONの場合のみ機能します。
○表示設定、及び関連設定
表示に関する、設定/エッジ/Toon/アンチエイリアスなどはPMXエディタと同様です。
○FPS値について
FPS = Frame / Second | 一秒当たりの処理フレーム数
→数値が大きいほど処理が高負荷になります。
FPS値は[情報]メニュー以下から30/60で切り替えることが可能です。
※負荷が大きくなるとスキップされFPS値が減少します
○VMDリストについて
よく使うVMDモーションなどをリスト化して保存/読み込みすることが可能です。
[表示]-[VMDリスト表示]でリスト一覧が表示されます。
任意のVMDファイルをリストに追加し、リストから右クリック→[選択]またはダブルクリック選択で
VMDViewへロードすることが可能です(個別ロードはできないので注意)
□リストへの追加方法
[ファイル]-[VMD追加]から追加
[ファイル]-[リストから追加読み込み]で追加
VMDファイル(*.vmd)をまとめてD&D
VMDリストテキスト(*.txt)をD&D
標準リストとして保存し、起動時に自動的に追加
の各方法が可能です。
尚、追加したVMDはリスト右クリックで表示されるメニューから削除可能です。
□VMDリストテキスト
VMDファイルのフルパス情報を一覧にしたテキストファイルです。
まとめてVMDの追加を行うことができ、このテキストをD&Dで一気に追加するなども可能になっています。
"_data"フォルダ以下の"VMDリスト.txt"は標準リストとなり、起動時に初期リストになります。
また標準リストの先頭VMDは、自動的にVMDViewにロードされるので確認によく使うVMDは標準リスト
に追加しておくと作業の手間が省けます。
○映像出力 - AVI/連番BMP出力
モーション映像をAVI(VFW)及び連番BMPとして保存することができます。
[ファイル]-[映像出力 - AVI/連番BMP] から表示されるウィンドウで各種設定を行うことが可能です。
AVI出力はVFWなので2Gが限界容量になります(限界付近で自動的に分割します)。
透過背景として出力することも可能ですが、アンチエイリアス使用時は、
輪郭部で背景色と多少混色した表示になる場合がありますのでご注意ください。
注意点:
フレームレートは30F/60Fのみ対応
保存パス名に自動的にフレームレート/フレーム範囲/番号を付記(連番BMPの場合)
AVI/連番BMP 双方ともに非常に大量のディスク容量が必要になります。ご注意ください。
○モーションのFix(ベイク機能/固定化)
物理演算を含んだモーションを事前に確定し、固定化する機能です(SoftBodyによる変形も固定化されます)
[編集] - [Fix再構築]
及び
[編集] - [Fixモーションで再生]
を用いてモーション再生にFixモーションを使用することが可能です。
FixしたモーションはFix履歴([編集]-[Fix履歴])へ保存され、任意に呼び出すことも可能です。
Fix状態のモーションを利用することで、物理演算のシミュレート結果を
フレーム単位で確認することも可能です(スライダからフレーム位置を移動しても演算結果が反映された状態で表示)
※Fixすることで再生処理自体も軽くなります(IKや物理演算を多用しているモデルは影響大)
○Fixモーションの非物理化保存
Fixしたモーションデータを非物理モーションとしてVmdへ復元変換する機能です。
が、モーションの状態や、IKなどの設定によりうまく復元できない場合もあります
※物理とIKが重複している部位は、Fix前/後ともにIKを外しておいた方がいいかもしれません。
復元されるモーションは1F毎に全てのキーが配置されますので、とても扱いづらいものとなります。
○VMDViewのイベント実行モード
PMXエディタのプラグイン/スクリプト機能から使うことのできるモードです。
詳細についてはプラグインのドキュメントを参照してください。
§ システムプラグイン の機能紹介
※システムプラグイン=PMXエディタに標準搭載されているプラグイン
■ C#スクリプト(CSスクリプト) :
プラグイン機能をスクリプトコード(C#)として、エディタ上で利用できるプラグイン。
単純な編集作業の繰り返しなどで楽ができたり、計算結果からのデータ入力に適している編集などに適用です。
■ プラグインランチャ :
システム/ユーザー作成プラグインを一つの操作窓から起動可能なランチャプラグイン。
プラグイン起動用のショートカットキーなども設定可能(ただし登録メニュー名が同一のプラグインは記録時に判別できないので注意)
PmxView上ではプラグインランチャ窓の表示状態に関係なく指定のショートカットキーによりプラグインが起動されるようになります。
ただしPmxViewのメニューに直接設定されているショートカット(Ctrl+?)関係はそちらが優先され、プラグインランチャ側の設定は無効化されます。ご注意ください。
■ 自動バックアップ :
指定の時間間隔でバックアップ保存ができるようになるプラグイン。
デフォルトではOFFになっています。
■ 簡易剛体/Joint 操作パネル :
剛体/Jointを移動などの操作可能なプラグイン。※ 現在はPmxViewも同様の編集機能を有しています。
プラグイン側のみの機能として、複数選択状態での個々の"向きだけの回転"や、剛体サイズの"指定サイズのみの増減"などがあります。
■ 剛体グループ一括設定 :
剛体のグループ配置を一覧で編集可能なプラグイン。
衝突対象の全体確認なども可能です。
■ 剛体/Joint 選択表示 :
剛体/Joint の表示絞り込みプラグイン。
標準の絞込み機能と異なる点は、SubView/TransformView を一度に設定できる/グループ単位の絞り込みが可能といったあたりになります。
注意点として、表示管理はプラグイン側に一任されているので、状態は利用者が常に把握する必要があります(状態と整合しない場合があります)
■ 色操作補助 :
各Viewの背景色や材質の色などをスライダ操作や HSV形式で変更可能なプラグイン。
材質編集での大ざっぱな色設定では対応できない場合などに利用推奨。色の変更は即画面に反映されます。
■ リスト要素の順序入れ替え :
材質/ボーン/モーフ/表示枠/剛体/Joint/SoftBody の各要素をまとめて一気に順序入れ替え可能なプラグイン。
Pmx編集側のリストも複数まとめて移動できるようになったので、必要性は薄くなりました。
■ 位置揃え/等配置 :
頂点/ボーン/剛体/Joint の位置を一定の方向で揃えたり、複数の対象を等配置することが可能なプラグイン。
■ 位置オフセット :
頂点/ボーン/剛体/Joint の位置へのオフセット加算プラグイン。
■ サイズ変更 :
モデルのサイズ変更用プラグイン。全体サイズの一括変更はプラグイン機能のみの対応です。
■ 選択面を両面化 :
現在選択中の面を両面状態にします(裏側に面を追加)。このプラグインは特定の編集窓が表示されません。即時実行型です。
■ 終了時View状態保存 :
終了時の各編集窓の位置や大きさなどを保存するプラグイン。
次回起動時に復元できますが、一部の編集窓しか対応していません。最小化などが入ると保持データが壊れるかもしれません。
■ OBJインポート/エクスポート :
ファイルのインポート/エクスポートにて OBJファイル(*.obj) に対応するためのプラグイン。
最低限の実装なので、同形式でも対応できる対象はあまりないかもしれません。
■ Imagインポート :
BMP/JPG/PNG ファイルのインポートプラグイン。
画像ファイルをインポートすると大きさに合わせた板ポリを生成します(サイズはXYで画像の1/10)
追加インポートを行う場合はテクスチャとなる画像ファイルとモデルのファイルパスに注意してください。
■ 画像ボード追加 :
任意の画像(BMP/JPG/PNGファイル)をボード(板)オブジェクトとして View内に表示するプラグイン。
UIモデルとして動作するのでモデルデータに対しての変更は行われません。
ctrl+(左)ダブルクリック操作で固定状態/ドラッグ移動状態が変更可能です(右クリックでメニュー表示)
おまけ機能として PMXモデルを対象として表示することも一応可能となっています。
■ 簡易ものさし :
View内の 2点間の距離を簡単に計測する UIモデルプラグイン。
ポイント表示部分を右クリックするとメニュー表示。同ポイントをダブルクリックでX/Y/Z方向へ軸合わせなど。
距離単位は "座標単位" と "mk_cm(標準モデルを基準としたcm単位)" を選択可能。
====================================================================================================================
§ 利用規約
・利用規約及び規約に関わる内容に同意できないユーザーは本ソフトウェアを使用することができません。
・ユーザーは禁止事項に反しない範囲で、本ソフトウェアを利用することができます。
・利用規約、禁止事項等は予告なく変更されることがあります。
・利用規約、禁止事項等は特に断りがない限り、最新の内容が過去のすべてのバージョンに適用されます。
・日本語の理解は必須ではありませんが、原文の利用規約等(日本語表記)と完全に一致した
内容を確認できないユーザーは本ソフトウェアを使用することができません。
§ 禁止事項
・配布パッケージの改変
・配布パッケージ及びパッケージ内データの配布・再配布(※1)
・配布パッケージ及びパッケージ内データの売買
・ソフトウェアの不正な改変及びその利用(※2)
・ソフトウェアの再利用(※3)
・ソフトウェアの商用利用(※4)
・事業者によるソフトウェアの利用(※1,5)
・ソフトウェアのリバースエンジニアリング及び不正な解析行為
・リバースエンジニアリング及び不正な解析行為等で得た情報の公開、取得
・公序良俗に反する利用行為
・社会的に問題があるとみなされる利用行為
※1 特別に許可を得た場合は除きます。
※2 ソフトウェアはパッケージに含まれる実行ファイル及びその実行に必要となる全てのデータファイルを対象とします。
SlimDXなど一般に公開されているものは除きます。ソフトウェア上での編集対象となるモデルデータなども対象ではありません。
※3 パッケージに含まれるソフトウェア(アセンブリなど)を別のソフトウェアに(許可なく)利用すること。
ユーザーが作成したプラグインは本ソフトウェア上で動作するものなので対象ではありません。
ユーザープラグインについては、各プラグイン製作者の定めた規約に従ってください。
SlimDXなど一般に公開されているものは除きます。
※4 ソフトウェアの利用により作成されたデータの売買なども広義においては商用利用と見なされます。
ただし事業行為とは認められない程度の個人レベルでの取り扱いに関しては関知しません。
当然ながらこの例外には事業者は含まれません。なお、個人を対象とした商用利用の許諾は一切行いません。
※5 主たる事業目的においての継続的な利用、というのが主な判断基準となります。
※ 禁止事項に書かれていなくても著作権等法的に守られているものはそちらに優先されます。
§ 免責
ソフトウェアの使用及び使用に関わる行為、ならびにソフトウェアにより作成されたデータ類の利用及び利用に関わる
すべての行為において発生したあらゆる損失、損害、問題等について一切の責任を負いません。
====================================================================================================================
以上
極北P (2017/10/29 PMXエディタ 0.2.5.4)
・バージョン履歴
0.2.5.4(2017/10/29) オブジェクト操作機能の改定。TransformViewの一部機能更新
0.2.5.3(非公開) 仮想軸モード。仮想軸の表示
0.2.5.2(2017/7/20) モーフ編集の改修。開発環境をVS2017へ移行
0.2.5.1(2017/2/27) 頂点/UVモーフ編集機構改変(従来方式の破棄)。現在状態から材質モーフの新規追加(モーフ編集)
0.2.5.0(非公開) 名称一括編集改変(個別リストからの呼び出し追加)。ショートカットキー一覧表示
0.2.4.9(非公開) 変形状態に同期したウェイト/UV描画機能。モーフの個別確認/モーション逆再生対応(TransformView)
0.2.4.8(非公開) ウェイト描画操作の一部更新(BDEF4描画でのボーン選択方式など)
0.2.4.7(非公開) Undoバッファの軽減機能及びバッファ管理設定
0.2.4.6(非公開) Viewのテンキー(カメラ)操作に回転中心注視表示及び前回設定への復元
0.2.4.5(非公開) ルート/プラグインフォルダ及びreadme.txtの表示。バイナリ形式のXファイル保存
0.2.4.4(非公開) 個別記憶(スナップショット)復元機能。アーカイブから個別記憶への変換
0.2.4.3(非公開) ナイフ編集による頂点/UVモーフへの分割対応。状態検証Index表記から対象の表示及びジャンプ動作
0.2.4.2(非公開) 表示形式のWire+を別枠へ分離。表示形式にUV用テクスチャ描画及びボーンカラーによるウェイト色描画追加
0.2.4.1(非公開) 各View間のカメラ同期。カメラ回転中心関連(ベクトルコピーから設定/中心表示)など
0.2.4.0(非公開) PmxView編集状態の直接選択枠配置。Pmx編集リストの名称ジャンプ
0.2.3.9(非公開) 照明操作用UI(PmxViewのみ)。簡易プリミティブ追加の機能更新(UI表示など)
0.2.3.8(非公開) 頂点マスキング(絞込み)機能更新(ボーン/剛体/Joint対応)及び機能名変更(→絞込み表示)
0.2.3.7(非公開) プラグインランチャ修正(ショートカット動作をPmxViewへ直接接続など)。ベクトルコピー対応コントロールの色変化
0.2.3.6(2016/5/8) 選択反転(頂点非表示ショートカット変更)。サイズ変更時のエッジ適用選択。サイズ変更(システムプラグイン)更新
0.2.3.5(2016/4/19) 鏡像判定の領域モード。鏡像対象の任意固定化
0.2.3.4(非公開) 子窓位置の相対固定(親窓との位置同期)。子窓表示位置のカーソル合わせ(Shift+)
0.2.3.3(非公開) SDEF高速化/スケール対応。ラベルジャンプ。MR選択(オブジェクト操作)のShift+/Ctrl+操作
0.2.3.2(2015/8/30) 状態検証簡易フィルタリング。任意の状態検証項目の追加(プラグイン実装)
0.2.3.1(2015/7/31) 32bit版/64bit版 同一パッケージ化。画像ボード追加/簡易ものさしプラグイン(システムプラグイン/UIモデル仕様)
0.2.3.0(非公開) View/System関連処理(Cプラグイン)。選択機能無効化(PmxViewのみ)
0.2.2.9(非公開) メモリ管理(Bitmap)テクスチャ制御仕様(UIモデル/関連プラグインのみ)
0.2.2.8(非公開) UIモデル機能強化(ビルボード/材質色の直接更新/深度有効の変更など)
0.2.2.7(非公開) UIモデル描画及び関連イベント機能の新設。UIモデル関連のプラグイン機能実装(Cプラグイン)
0.2.2.6(非公開) マウス/キーイベント処理の対応(PmxViewのみ/Cプラグイン)
0.2.2.5(非公開) デバイス管理の共有化(メモリ使用量の低減)
0.2.2.4(非公開) プラグイン/データフォルダの外部参照仕様。VMDView配置変更(PMXエディタ内からの呼び出しのみ)
0.2.2.3(非公開) x86(32bit)及びx64(64bit)環境への個別対応(アプリケーション構造の改定)
0.2.2.2(2014/3/29) タグによる表示機能。コメントタグ編集。CSScriptプラグイン更新(Cプラグイン対応/サンプル更新)。不具合修正他
0.2.2.1(2014/2/23) Cプラグイン新設。初期視野角の変更。カメラ操作のロック/初期化設定他。外部ブリッジ機能(プラグイン)削除。不具合修正他
0.2.2.0(2013/11/12) 近位置ボーンからの簡易ウェイト設定。ブレンドウェイト描画機能。選択ガイドの機能強化。不具合修正他
0.2.1.9(2013/6/7) MMD7.40以降のVMD対応。モーション補間計算の厳密化。不具合修正他
0.2.1.8(2013/4/24) screen.bmp対応。ImagImportプラグイン(BMP/JPG/PNGインポートによる板作成)。不具合修正他
0.2.1.7(2013/3/10) 自由曲線範囲選択(関連ショートカットキーの変更)。位置揃え/等配置プラグイン追加。不具合修正他
0.2.1.6(2013/1/11) ボーン変形仕様にローカル付与構造追加(PMX2.0として利用可能)。不具合修正他
0.2.1.5(2012/12/21) SDEF変形方式改訂。プラグイン更新(インポート/エクスポート同一拡張子重複登録可)。不具合修正他
0.2.1.4(2012/11/16) 32bit共用利用への対応。不具合修正
0.2.1.3(2012/11/14) 頂点/法線表示のシェーダ化。表面頂点表示。範囲ポイント(Φ)選択機能。不具合修正他
0.2.1.2(2012/9/23) SlimDXを(January2012)へ変更。エフェクト(*.fx)描画機能(PmxViewのみ)。不具合修正他
0.2.1.1(2012/7/28) 画面拡大環境での起動対応(レイアウト崩れは仕様)。パース切り替え時のZ範囲調整。エフェクト適応起動(/fxc)。不具合修正他
0.2.1.0(2012/7/25) 初期公開版