■ PMXエディタ

MikuMikuDance(MMD)や各MMD互換アプリケーションにて利用可能な"PMXモデルファイル(*.pmx)"の専用編集ソフトウェアです。

本ソフトウェアの利用について、"§ 利用規約" を必ず確認してください(!重要)

※MMD標準形式の PMDモデル(*.pmd) についてはインポート／エクスポートにて対応(材質名テキストはロードされません)


●動作対象
Windows 7 64bit (64bitOS専用)
シェーダモデル3.0以上のグラフィック機能

※Windows Vista 及び XP の64bit版でも動作可能かもしれませんが、こちらでは確認できませんので Win7-64bit が推奨環境となります。


●必須ランタイム
.NET Framework4.0 (3.5以下もインストール推奨)
DirectXランタイム
Visual C++ 2010 再頒布可能パッケージ

※重要
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 インストーラ
http://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


※64bit版(x64)が必要となります(.NETやDirectXは環境に合わせて自動的にインストールされます)
※SlimDXを個別インストールしている場合、同梱アセンブリとのバージョン違いなどにより動作に不具合が出る可能性があります。



●DLLのブロック解除について

インターネットを通して取得したファイルを取り扱う場合、OSのセキュリティ機能によって動作が制限されることがあります。

同梱のDLLに関して多数のエラーが表示され起動しない場合などは、当該ファイルのプロパティからブロック解除の操作を行ってください。
(解凍前のZIPの状態で行うと一度の解除操作で解決するかと思われます)

また一般に配布されている解凍ツールを使用することで、これらの問題を回避することが可能です。
※WinZIPなどツールによっては回避できないこともあるようです。

□参考URL
http://www.atmarkit.co.jp/fwin2k/win2ktips/498zoneid/zoneid.html


●起動オプション
*.pmx *.pmd *.vmd(VMDViewのみ)  | 起動後対象ファイルを開きます
/fxc   | 描画に使用する内部エフェクトを(環境に合わせて)コンパイル(通常はコンパイル済エフェクトを使用)
         ※グラフィック関係の環境依存問題が解決する場合があります(実際あまり効果はありません)。起動時間が非常に長くなります。


●外部ライブラリ
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/moggproject/mmm)









§ PmxEditor の機能

●基本構造

編集機能は大きく分けて 3つの画面から構成されます。


■ Pmx編集  : PMXインターフェイス

モデルデータを"数値情報"として直接編集可能な画面です。
各データ項目はタブで分けられ、さらにそれぞれのデータ要素がリスト化され管理されています。

モデルデータの役割としては、

[形状]       - 頂点／面／材質
[変形情報]   - ボーン／モーフ
[物理演算]   - 剛体／Joint／SoftBody
[編集用]     - 情報／表示枠

と一般的に分類されます。


■ PmxView  : UI画面

モデルデータを視覚的に閲覧／編集可能な画面です。
Pmx編集上のデータ値をモデルの初期状態として画面に描画します。

頂点などの各部位を視覚的に動かしたり、ボーンや剛体などの生成、ウェイト値の描画マッピング他、
いくつかの編集を画面上でそのまま行うことが可能です。

各編集機能は"子窓"として個別に管理されており、必要に応じて画面に選択配置することができます。


■ TransformView  : 変形画面

モデルデータの変形状態を閲覧可能な画面です。PmxViewの子窓の一つとして起動されますが、単体で独立した編集機能を有します。

ボーン／モーフ変形に加え、物理演算の状態やモーション動作などを一度にテストすることが可能です。



以上の 3つの編集画面を適宜選択し、組み合わせながらモデルデータの作成及び更新を行うことが、
本ツールにおいての基本的な編集方針となります。







§ PMXインターフェイス(Pmx編集) の機能


●共通操作

○リスト共通操作
・リスト左上入力枠 : 現在の選択Index | 数値入力→Enterで指定のIndexへ移動

・複数選択方法
頂点／面／モーフオフセット : 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に初期化されます。
[クリップボードからペースト]   - クリップボードにカンマ区切りで数値が保存されている場合、複数値としてベクトルペーストを行います。

それぞれの値はベクトルコピーに対応した各項目間で任意にコピー／ペーストが可能です。
また対応メニューは複数の入力項目に対応したラベルや各種ボタン上での右クリックで呼び出し可能です。



●[情報]

□システム
PMXバージョン : モデルのPMXバージョン。PMX2.1までのバージョンに対して編集が可能です。
文字エンコード : PMXファイル保存時のテキスト系データのエンコード形式 | UTF16(LE)／UTF8 選択
追加UV数 : 各頂点内の追加UVの数 | 0-4 ※ファイルサイズに大きく影響するので、不要の場合は0推奨 → 自動設定(初期ON)で保存時に自動変更されます。

□モデル
モデル名 : モデル選択時に表示される名称
コメント : モデル選択時に表示されるメッセージ

日／英切り替え : 表示項目を対象(日本語表記用／英語表記用)に切り替え

※以下「日／英切り替え」省略

□コメントタグ
コメント内に特定のタグ<tag>〜</tag>がある場合、対象の処理が行われます。

<readme> : オープン時などに指定のテキストファイルを表示します(コメント英側に記述)。
           テキストファイル以外の場合は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コピー(材質モーフへの追加設定に使用可能)

[材質パーツの複製]
 - [面のみ複製]	        : 選択材質と対応する面を複製
 - [頂点／面を複製]     : 選択材質と対応する面を複製し、面に関連する頂点も複製
 - [頂点／面／関連モーフをすべて複製]  : 選択材質と対応する面、頂点、さらに関連する材質／頂点／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コピー(ボーン系リストなどで追加可能)

[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枠を管理枠としてシステム予約

○表示枠リストメニュー
[新規追加] : 新規作成 
[削除]     : 選択対象を削除
[上へ移動] : 選択対象を一つ上へ移動
[下へ移動] : 選択対象を一つ下へ移動

[全て選択]     : リスト項目を全選択
[Indexコピー]  : 選択項目をIndexコピー(モーフ系リストで追加可能)

[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)で自動保存

[別窓を開く] - "現在開いている"モデルファイルを新しい編集窓で開きます。
※編集中のデータではないので注意してください(複数編集時は意図しないロールバックの危険性が高くなります)

[テキスト(CSV)変換] -
 [CSVファイルへ保存]            - PMXデータをCSV変換しファイル保存
 [CSVファイルから追加／更新]    - CSV変換されたファイルからデータを追加／更新
 [クリップボードへ保存]         - PMXデータをCSV変換しクリップボードへコピー
 [クリップボードから追加／更新] - クリップボードからCSV変換されたデータを追加／更新

[PMXデータの状態検証] - 状態検証を表示


・テキスト(CSV)変換について
PMXの各データ要素をCSVへ変換／保存可能な機能

変換されたCSVからの追加／更新では、KeyとなるIndexや名称の要素により追加／更新が判定されます。
同名要素や空名要素がある場合正しく入力されないので注意

※各リストメニューでの複製／追加も同様



●[編集]

[リストの表示更新] - 実際のデータ値と表示されているリストの値が異なる場合などに表示を更新する(Viewなどで編集すると表示が整合しなくなることがあります)
[PmxView更新同期]  - データ変更時の自動更新 ※材質内のパス入力など更新に時間がかかる場は一時的にOFFにするなどで対応可能

[View選択対象(複数)のリスト選択] - View側で複数選択した場合、同時に複数選択するリスト対象。※頂点／面をONにすると実用に耐えない状態になる可能性があります。
[現在のView選択対象をリスト選択] - View側での(複数)選択対象をリスト選択対象に設定。※リストの構造上非常に重くなる場合があります

[元に戻す] - Undo処理。モデルデータに変更があった場合、一手順前に戻します。
[やり直し] - Redo処理。Undo処理をおこなった場合、その状態に戻します。

[Undo用バッファクリア] - Undo履歴を削除 | メモリを大量に消費している場合の対処用

[アーカイブ管理]
 - [アーカイブから選択] - モデルアーカイブ(共通倉庫)から現在の編集対象を選択変更
 - [アーカイブへ追加保存] - モデルアーカイブへ現在状態を保存
 - [オープン時自動保存] - ファイルオープン時に自動的にアーカイブへ追加(初期ON)
 - [入れ替え時にファイルパスを復元] - モデルアーカイブからの変更時に自動的にファイルパスを復元(初期ON)

[タグ編集] - コメントタグの編集機能。タグは任意に指定可能
[名称の一括修正] - 材質／ボーン／モーフ／表示枠／剛体／Joint／SoftBody の 和／英名を一括で修正する機能

[頂点] 
 - [未参照ボーンの修正] - 頂点の参照ボーンのうち参照先のない値を0に初期化します。
 - [不正法線の修正]     - 頂点の法線が不正になっているものを自動的に修正(場合によっては正常に動作しない可能性があります)
 - [単独(面非参照)頂点の選択] - 面から参照されていない独立した頂点を選択状態にします(存在しない場合はメッセージ表示)
 - [ウェイト正規化]     - 全ての頂点のウェイトを正規化します(リストから全ての頂点を選択→正規化ボタンと同様 ※全対象ではこちらの方が高速)
 - [正規化時のウェイト合計1化] - ON:正規化処理時BDEF4対象のウェイト合計を1.0に補正
 - [SDEF-C値の正規化]   - ボーン移動などSDEF用のC値と整合が取れなくなった場合の正規化処理(TransformViewでの変形初期化時に自動的に呼び出されることがあります)

[材質] 
 - [材質の単一化]     - 複数の材質を先頭の材質一つへまとめる。
 - [同一材質の結合]   - 同じ材質値の材質を結合
 - [任意の色幅で同一材質の結合] - 指定の色幅で結合(初期値は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)を開く。
[英名一括切換え] - [→日]／[→英] - 名称など英名選択可能対象に対して一括設定
[常に最前面表示] - ウィンドウが常に最前面に表示される。


●[情報]

[バージョン情報] - PMXエディタのバージョン情報表示







§ モデル表示／編集ウィンドウ(PmxView) の機能 - 表示関連


モデルデータを視覚的に表示／編集可能な画面。表示項目は「表示設定」子窓で変更可能。
※[表示] - [表示設定] でも設定ウィンドウの表示可能


○画面内操作法

右ドラッグ       : 視点中心回りに視点を回転(回り込み)移動
ホイールドラッグ : 視点中心を上下左右移動
ホイール操作     : 奥行き方向に視点前後移動

右ダブルクリック : 視点位置の初期化(カメラリセット)
Ctrl+右ダブルクリック : モデル形状内の場合はその位置を視点の回転中心へ設定。範囲外の場合は視点の回転中心を初期化

左クリック／ドラッグ : 個別選択／編集操作

テンキー数字押下 ：特定のカメラ位置に変更  | パースONとOFF時は前後左右位置が異なるので注意

※上から見てカメラ位置を中心(C)に前後に2/8、左右に4/6、上下に5/0
    後↓5
    8
 4 (C) 6
    2
0↑前

※カメラ操作では Ctrl同時押しで1/10, Shift同時押しで10倍 のスケールで調整可能

※奥行き方向の視点操作はパースON時とパースOFF時で異なります。
またパースON時に注視点を越えて移動設定した場合、パースOFF時に正しく表示が行われない可能性があります。
→不正な表示になった場合は、右ダブルクリックなどより視点の初期化を行ってください。




□カメラアイコン(同系Viewにも搭載)

右ボタン／ホイールによるカメラ操作をアイコン操作により左ボタンでも扱えます。
アイコン左から、XY回転／XY移動／Z移動／Z回転　になっています。

※Z回転を行った場合は軸操作のジンバルロックにより、視点がうまく回転できなくなる場合があります。
※奥行きを大きく移動した場合、表示が不正になることがあります。初期化で対応してください。

アイコン上右クリックでメニューが表示されます。View側メニュー内と同名の機能(回転中心関係)は同様の設定になります。

[カメラリセット] - 視点位置／向きを初期状態へ戻します

[カメラ操作] - 
 [ロック] - カメラ操作を無効化
 [回転のみロック] - 回転操作のみカメラ操作を無効化
 [状態保存] - 現在の視点位置／向きを保存
 [復元] - 保存されている視点位置／向きを現在状態へ復元設定

[リセット設定] - 
 [カメラリセットの抑制] - リセット操作(右ダブルクリック含む)を抑制
 [リセット位置を現在のカメラ位置に変更] - カメラリセット時の視点位置／向きを現在の状態へ設定
 [リセット位置を初期状態へ戻す] - カメラリセット時の視点位置／向きを初期状態へリセット

[視点の回転中心] - View側メニューと同機能





□上部アイコン

オブジェクトの選択対象／選択形式／操作子窓の表示のON／OFF
それぞれ個別の説明項目を参照してください（カーソルを合わせるとTIPS名が表示されます）

※各操作子窓を右ボタンを押しながら表示した場合、マウスカーソルが子窓上部メニュー位置へ移動します。


□下部アイコン

表示設定での追加表示項目を設定可能です。




○表示設定 

各色設定は材質の色設定と同じく枠をクリックすると色設定ウィンドウが表示されます。
直接値を設定する箇所は、入力後Enterで確定しないと反映されないので注意。

[設定1]
背景色    : 背景の色
環境色    : モデル空間全体の色調
照明色    : 照明の色
照明方向  : 照明の方法設定(MMD準拠)

追加表示
　ボーン  : ボーン構造を表示
　頂点    : 各頂点をポイント表示
　選択頂点: 選択された頂点を表示、頂点表示がOFFでも表示可能
　選択面  : 選択された面を表示
　非表示ボーン : 非表示になっているボーンを表示、ボーンが表示状態になっている必要あり
　法線    : 各頂点の法線を表示
　選択法線: 選択された頂点の法線を表示
　剛体(線): 剛体をライン形状を表示
　剛体(形): 剛体を半透明形状で表示
　Joint   : Jointを表示


[設定2]
パースペクティブ
　OFF     : パースOFF
　Z範囲変更 : パースのON/OFF 時にZ範囲(範囲大)を倍率調整(1/100倍) ※現在値から倍率調整するので、変更時によっては値が戻らなくなります。
　視野角  : 視野角の設定(0不可)
　Z範囲   : 奥行き方向の表示範囲(大きくすると深度解像度が悪くなるので、状態によっては表示が不正になるかもしれません)
　初期化  : 視野角／Z範囲を初期化(個別の初期化は各ラベル上で右クリック)

表示形式
　通常    : 通常のモデル表示
　Flat    : 平面を面として表示
　Wire    : 線モデル(ワイヤーフレーム)として表示
　Wire2   : ワイヤーフレームを単色で表示
　Wire+   : 通常表示にワイヤーフレームを追加  ※パース設定やモデル状態によってはワイヤーの前後関係が正しく表示されないことがあります
　Weight  : 選択ボーンに対するウェイト値を色表示／3ボーンまで同時に表示可能(R/G/B)
　WeightType : BDEF1/BDEF2/BDEF4/SDEF/QDEF により色分け
　UV      : UV値を色表示／4色でUV値を表現(プリミティブ追加から作成した平面などで色との対応が確認可能です)
　UV+(UVA1-4) : 追加UV値を色表示(RGBA) | W1固定 : 追加UV表示時にWの値を1で固定(W=0:透明で見えないため)

エッジ
　表示　　: エッジ(輪郭線)を表示
　サイズ　: エッジサイズ(幅)を変更


[設定3]
調色タイプ
　Toon適応：MMDのようなToon表示に最適化した描画様式

アンチエイリアス (環境によっては使用不可)
　無効    : アンチエイリアスを使いません
　x2      : アンチエイリアス2x2
　x4      : アンチエイリアス4x4
　x8      : アンチエイリアス8x8

※それぞれグラフィックボードの機能に従います。デバイス側で固定されている場合などは変化ありませんのでご注意ください。

軸／軸平面
　表示 : 座標軸と地面グリッドの表示
　裏   : 常にモデルの裏側に描画する(グリッドとして使う場合などに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を切り替えます(変更時テクスチャの再読み込み)

※標準設定は表示対象につき各々で管理。特にモーフ編集では左右で別画面扱いなので注意。
※ミップマップテクスチャは元のテクスチャサイズの大きさにより作成レベル数が変化します



●[表示] - [視点の回転中心]
カメラ移動の回転中心を任意の位置に設定します。

[初期化]     : 原点に設定
[選択頂点]   : 現在の選択頂点の位置に設定(複数の場合は重心座標)
[選択ボーン] : 現在の選択ボーンの位置に設定(複数の場合は重心座標)
[選択面 - 面正面配置] : 現在の選択面が画面正面に位置するように視点設定


●[表示] - [4画面モード]  ※"田"アイコン
表示画面を4つに分離して表示／編集可能

左上は1画面時と同様の画面、残り3画面はパースOFFの向き固定画面。編集作業はそれぞれ可能／表示設定は全ての画面で共通。
境界をドラッグ移動でサイズ変更可能。

[分割表示関連]
 - [分割位置の初期化] - 初期の分割サイズ(割合)に戻す
 - [分割位置の固定] - 分割画面のサイズを固定し変更できないようにする
 - [固定方向画面のカメラ同期] - 向き固定画面のカメラ操作を同期する(初期ON)





§ モデル表示／編集ウィンドウ(PmxView) の機能 - オブジェクト編集関連

オブジェクト編集に関する操作系処理。関連ウィンドウは [表示] 以下で選択、または上部アイコンから表示可能な操作子窓。


●[選択オブジェクト管理]

オブジェクトの選択対象／形式／選択後のハンドル編集について設定を行う操作子窓。

□選択対象
頂点／面／ボーン／剛体／Jointをそれぞれ個別に対象に設定可能。
選択時は一括して選択することが可能です。

※選択方式により選択できないオブジェクトや選択方法の変わるオブジェクトがあります。


□選択方式

[・] ポイント選択 | ポイントした位置のみで選択。面は選択不可能。ハンドル編集を併用することで任意位置への移動設定などが1操作(ワンアクション)で可能。

[□] BOX範囲      | ドラッグ指定での矩形内を選択
                  | 頂点／剛体／Jointは中心位置で判定するので注意(初期指定から選択が外れる場合がある)
                  | 面は対応する頂点が選択時の場合、合わせて選択

[δ] 自由曲線範囲 | ドラッグ操作による自由曲線の範囲内を選択(なげなわ選択と呼ばれる方式と同系の機能)
                  | 注意点はBOX範囲と同様

[○] 円形範囲     | 円形枠内のオブジェクトを選択(範囲内選択判定はBOXとほぼ等価／面は選択不可能)
                  | 範囲サイズは子窓内で数値設定可能、また画面内でも"Alt + ホイール操作"で大きさの変更が可能
                  | 主にShift+／Ctrl+で使うことを想定

[△] 面単位       | 特殊設定。面／対応頂点のみが対象
                  | 選択位置から一番手前の面を選択対象とする。範囲選択と異なり表面の面／頂点のみの選択が可能
                  | 選択後に[視点の回転中心]-[選択面-面正面配置]を使うことで視線UVなどへ応用可能
                  | Shift+／Ctrl+で使うことを想定(ドラッグ移動でそのまま対象を増減可能)

[Φ] 範囲ポイント | 円形枠内の中心に最も近い対象を1つ選択。他の選択方式と異なり常時選択状態
　　　　　　　　　| 選択状態で同位置をクリックした場合は操作ハンドル表示(ハンドル有効時)
　　　　　　　　　| 選択時ドラッグ操作を行うことで、画面に対する軸方向でオブジェクトを移動することが可能


それぞれShift+／Ctrl+と追加キーを押しながら選択することで、追加選択／選択対象からの削除が可能です。


□ハンドル操作

選択オブジェクトの基礎編集を画面内に表示されるハンドルオブジェクトで直感的に行うことができます。

有効時なんらかのオブジェクトを選択すると、画面にハンドルオブジェクト(軸や回転枠など)が表示され、
対応した各軸をドラッグ操作することで、移動や回転などの直接操作が可能になります。

※選択操作によっては表示されないことがありますが、Ctrl+Q(直前の選択状態)などで再度表示される場合もあります。

ハンドルの軸表示は主に、

赤:X
緑:Y
青:Z

△:移動
○:回転
□:スケール

に対応しています(一部例外あり)

移動は画面位置へ、回転／スケールは横方向へのドラッグ量に対して適宜操作されます(Shift+／Ctrl+での倍率変更も対応)
※ハンドル中心は画面方向を対象とした軸で操作が行われます(スケール変換は全方向同一スケール)

また必要に応じてハンドルの表示／操作形式を変更できます。
※ハンドルの軸を選択中(黄色系へ変化)、右クリックで表示されるメニューからも変更可能(一時的な非表示にすることも可能)


□ひっぱり移動

選択中心位置に重みを置く特殊な移動操作です。応用次第では平面構造から曲面を作ったり、曲面的な形状をあまり崩すことなく変形させることができます。

ひっぱり移動  : 距離に対して直線的に重みが付きます。平面からひっぱると円錐のような形状になります。
ひっぱり移動A : 尖るように移動します。
ひっぱり移動B : 丸みを帯びるように移動します。

※ひっぱり移動はドラッグを開始した位置での距離から重みの判定を行うので、
途中で移動を停止してその後継続移動した場合と、一度に移動した場合では異なった形状になります。

※□(スケール用操作)が表示されますが、ひっぱり移動では中心位置の変更に使います。




●[オブジェクト操作]

選択オブジェクトの座標位置などを変更可能な操作子窓。

同ウィンドウのメニュー [編集] - [編集用に表示切替] で
背景：黒
表示：ワイヤーフレーム
頂点：表示
ボーン：非表示
に自動的に切り替えられます。もう一度選択すると選択前の状態に戻ります。



○選択オブジェクトの操作

□移動
　[X][Y][Z] : 軸方向に移動
　[移動]    : 画面に対しての方向に移動

□回転
　[Y][X][Z] : 軸に対して回転
　[回転]    : 画面に対しての軸で回転

□スケール
　[X][Y][Z] : 軸方向に対して拡大縮小
　[スケール]: 全ての軸に等倍で拡大縮小

※Shift/Ctrlキーと組み合わせることで一時的に倍率を変更可能。
※回転配置の順序が上からY,X,ZとYが先頭になっているのは、操作上横方向ドラッグがY軸中心の回転になるため(移動のX方向と直感的な操作性が同じになるように配置)


○パラメータ設定

□中央部数値
　編集対象のそれぞれの変移量倍率

□Y軸縦
　緑字対象(回転のみX軸)の操作の場合、縦方向で移動。

□重心座標中心
 回転、スケール編集の場合、選択頂点の重心(範囲中央)座標を中心とします(チェックをはずすと原点中心)


○値指定
　編集値を直接値入力で設定可能

□中心座標
　原  : 原点
　重1 : 選択オブジェクトの位置重心(加算平均)
　重2 : 選択オブジェクトの分布範囲の中央(最大最小範囲の中央)


○法線関連 | 頂点のみ対象

□法線
　[X][Y][Z] : 軸方向に個別の法線を回転
　[移動]    : 画面に対しての方向に回転

□X軸縦
　赤字対象(回転のみX軸)の操作を縦方向で移動。

□法線軸
　[法線軸]  : 法線の軸に沿って頂点を移動(押出系機能)


○UV関連 | 頂点のみ対象

□移動
□回転
□スケール
→頂点のUV値を座標と同じように操作 | 頂点内のUV値を直接編集するので注意


○鏡像モード
　編集を鏡像対象のオブジェクトにも同時に行います(後述：鏡像モードについて)

○選択オブジェクト記憶

現在選択中のオブジェクトを記憶(5箇所に保存可能)

□MS
　選択中のオブジェクトを記憶

□MR
　記憶したオブジェクトを選択状態に設定(Shift,Ctrlによる追加／削除は不可能)


○メニュー [編集]

□元に戻す
　Undo処理。変更を元に戻します。

□やり直し
　Redo処理。元に戻した変更をやり直し。


□鏡像設定
■鏡像関係の初期化
　現在の形状から頂点の鏡像関係を算出し初期状態とします。

■同一頂点化距離の設定
　同一位置と見なす頂点間の距離(軸別の同一距離差)。鏡像化関係の初期化で使用されます。


□編集用に表示切替
　表示を編集用に切り替える([頂点編集]冒頭部参照)
　尚、表示設定で切り替えても特に問題ありません。


○鏡像モードについて
左右対称に位置しているオブジェクト名称が左右関係になっているオブジェクト対して、
逆側にも同時に編集を行います。

一つの座標位置に対して、頂点間距離(■[同一頂点化距離の設定])の範囲内で鏡像位置(X軸対象)内にあるオブジェクトのうち、
最も鏡像位置に近いオブジェクトを鏡像(対称)頂点とし、そのオブジェクトを鏡像編集の対象とします。

範囲内に対象がない場合や、いくつかのオブジェクトが重なっている場合は正常に動作しません。

※ハンドル操作においても、この鏡像設定で鏡像編集が可能になります。



●[頂点／材質マスキング]
表示する頂点／材質の絞り込みを行います。材質に関係する個別の編集処理を行うことも可能です。

○表示対象

□全表示
　全ての頂点を表示。

□任意
　任意の範囲の頂点を表示。

□材質
　チェックした材質に関係する頂点のみ表示(複数チェック可能)。
　個別パーツ表示状態で、モデルの表示パーツの切り替え。

[パーツ毎] - 材質選択で任意のパーツ部位のみ表示 | 有効反転
[全]       - 全ての材質を有効(チェック)化
[反]       - 全ての材質の有効状態(チェック)を反転
[除]       - 選択面に関連する材質を無効(非チェック)化

※特定の材質のみを絞り込み表示したい場合は、面選択(△)→[除]→[反] という手順で手早く完了します。
同様に不要な材質部分も 面選択(△)と[除] の組み合わせでどんどん除外可能です。


□ウェイト関連ボーン
　チェックしたボーンに関係するウェイト頂点のみ表示(複数チェック可能)。

□頂点モーフ
　チェックした頂点モーフに関係する頂点のみ表示(複数チェック可能)。


○メニュー [編集]
[選択頂点の含まれる材質のみ] -
　選択頂点に関連した材質のみを対象にします。

[選択面の含まれる材質のみ] -
　選択面に関連した材質のみを対象にします。

[選択面の含まれる材質を除外] - 
  選択面に関連した材質を対象から外します。※[除]ボタンと同様

[選択面の関連材質を自動選択] - 
  有効時、面選択(△)に対応して自動的に子窓内の材質を選択状態にします(チェックは変更しません) ※環境によっては重くなるかもしれないので適宜変更してください。


○メニュー [ボーン関連]
[リスト更新] -
　ボーン関連リストを更新します。各ウェイト処理後は手動で更新する必要があります。

[弱影響下も含む] -
　通常ボーン関連ではウェイト値が50以上の場合、関連頂点とされます(ウェイト50の場合は2つとも対応ボーンに登録)
　弱影響下にチェックした場合は50以下でも関連頂点として表示されます。

[同時にボーンの選択] -
　チェック選択と同時にボーンを選択状態にします。チェック処理と同時処理なので使いにくいかもしれません。


○材質リストメニュー
材質に関連した編集を行います。一部の処理は●[材質]と同様。

[選択材質の面表示] -
　材質に関係する面を選択状態に設定(選択面が表示状態の場合はモデル側に表示されます)。

[選択面の初期化] -
　選択面を初期化。

[選択頂点を新規材質に分離] -
　チェックが一つのみで、頂点が選択されていると使用可能。
  対象部分を新規材質へ分離します。

[上へ移動] -
　順番入れ替え
[下へ移動] -
　順番入れ替え
※複数一括操作はPmx編集側の材質リストを使用してください。

[全てチェック] -
　全ての対象をチェック状態に設定
[全て非チェック] -
　全ての対象を非チェック状態に設定
[チェック状態の反転] -
　チェック状態を反転

[選択材質のパーツ削除] -
　材質に関連した一連のパーツデータを削除します(非常に広範囲に影響がある場合があります)

[非表示材質のパーツ削除] -
　[パーツ毎] 有効状態で非表示になっているパーツを削除。



○頂点モーフリストメニュー

[選択頂点を新規モーフに分離] -
　チェックが一つのみで頂点が選択されていると使用可能。



●[拡張編集]
簡易的なモデリング操作及びオブジェクトの特殊追加を行います。

○ナイフ
面の切断(正確には辺の切断による頂点分割)を行います。
パースOFFでの使用を推奨(パースONの状態では切断の奥行き位置がずれます(仕様)

■正面を向いている面のみ
　ナイフの切断対象を画面手前に向いている面のみに限定します(裏に隠れていても正面を向いている面は対象になります)　


○追加／設定

カーソル位置に指定のオブジェクトを追加します。空間内のカーソル位置は子窓下部の"仮想座標"に表示されます。

■仮想中心
　この座標位置を通るカメラ正面の平面上の座標がカーソルの仮想座標になります。
  うまく設定することで奥行き位置などを任意に指定することが可能です。


□頂点-面
■頂点-面作成
　カーソル位置に頂点を追加 → 3点になると面として確定 → 連続チェック時は以降1点追加毎に面として確定／非連続時は3点毎に面確定
　画面に対して右回りに頂点を配置すると手前向きの面になる(同面貼り)。追加時は面向きを注意
　<Reset>ボタンで現在追加中の頂点要素をリセット可能

■頂点のみ追加
　頂点をカーソル位置に追加。面は作成しない。

■面貼り
　選択頂点に面を作成。頂点-面作成時と同様選択順によって面向きが変化するので注意

■連続
　頂点-面作成／面貼り時に処理を継続状態にする

■追加先
　面の追加先材質を選択

■新規材質
　材質リストに新規材質を追加(削除は本体から行う必要がある)


□ボーン
■系列ボーン追加
　親子関係で接続された一連のボーンを追加
※追加時に既存ボーンを選択することで、そのボーンを系列接続することが可能ですが、Index順の上下がうまく整合しなくなる場合があります。

■ボーンのみ追加
　個別のボーンのみを追加

■系列（親子関係）設定
　選択ボーンを親子接続

■種類設定
　選択ボーンを任意のボーン種類に変更／追加時のボーン種類の設定


□剛体／Joint
■連結物理剛体／Joint追加
　物理剛体及びJointを連結状態で順次追加
　Joint位置は追加剛体間の中央位置

■剛体追加
　剛体のみ追加

■剛体サイズ
　追加する剛体サイズ

■関連ボーン連結
　選択剛体とボーンを関連連結
※剛体選択→ボーン選択→(繰り返し)

■剛体種類設定
　選択剛体の種類設定／剛体追加時の種類選択

■剛体形状設定
　選択剛体の形状設定／剛体追加時の形状選択

■剛体グループ設定
　選択剛体のグループ設定／剛体追加時のグループ選択

■Joint追加
　Jointのみ追加

■Joint関連剛体連結
　選択Jointと剛体を関連連結
※Joint選択→剛体A選択→剛体B選択→(繰り返し)



●[ウェイト／UV描画]
頂点のウェイト値及びUV値を描画操作で設定します。事前に頂点表示、ウェイト有効などの変更が必要です。
→開始状態で自動的に表示を切り替えます。

設定ウィンドウの[開始]ボタンで描画状態になります。その際カーソル形状が丸枠などに変更され選択処理などが不可になります。

この状態で以下の操作が可能になります。

左ボタン(クリック＆ドラッグ) : 範囲内の頂点にウェイト(UV)を設定
Shift + 左クリック : 枠内の中央に一番近いボーンを選択
Ctrl  + 左クリック : 枠内の中央に一番近い頂点(対象ボーン内)のウェイト値(UV値)を編集窓に取得(スポイト機能)

※範囲サイズは選択オブジェクト管理子窓、または Alt+ホイール回転 で変更可能です。


○各部機能
□開始
　描画状態のトグルスイッチ

□ボーン選択
　選択中ボーンと関連ボーンの表示、及び親子側への移動

□描画モード
  BDEF / QDEF : ウェイト描画の場合指定のウェイト形式で描画
　●  : 円形範囲内を一括のウェイト値で描画
　◎  : 端が0になるように円形グラデーションで描画
　W4  : BDEF4用の4ボーン影響度の同時描画
　>>> : 任意の一方向範囲にグラデーション描画／ブレンド描画
  UV  : 円形範囲内を一括のUV値で描画

・通常描画 : ●／◎

□ウェイト値
　描画するウェイト値、詳細については後述

□対象
　ウェイト影響頂点のみ : ボーンのウェイト対象頂点のみに描画
　選択頂点のみ : 選択頂点のみに描画 ※頂点選択はサブ画面から設定することが可能です(簡易マスキングとしての利用を想定)

□スプレー
　ONでスプレー動作に切り替え。範囲内のウェイト値を徐々に変化させる機能

□強さ
　スプレーの強さ、値が小さいほど強いスプレー(ウェイト値の値も強さに関連)

□加／減算
　スプレーの描画モード

□頻度
　スプレーの更新頻度をミリ秒で選択。
　PC環境によってはうまく動作しない可能性があるので、頻度を大きくするなど対処してください。
　尚、頻度が変更されても時間あたりの変化量は変わらないので、
　頻度が大きくなると一度に設定される値の幅も大きくなります。


・BDEF4描画 : W4

□ボーン選択／ウェイト値
　任意のボーンと対応するウェイト値の入力

※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値を全て設定

□色値設定
  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に変更すると判別が簡単です。

一般的にこの機能は材質の頂点色設定と合わせて使われることを想定しているので、
頂点色の場合は、描画対象を "追加UV1" に合わせてください。

指定の色(UV値)でモデルを頂点単位に色塗りすることができます。




●[選択ガイド]
現在選択中のオブジェクトをガイドリストに取り込み記憶します。
選択項目の一時バッファや、実値を確認する場合などに利用してください。

取得／選択は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上でボーン列の削除、及び鏡像ボーン列の作成などでボーンが編集された場合、
エディタ側のボーンリストは更新されません。表示上整合しなくなりますので注意してください。
整合させるにはエディタ側の表示更新を行ってください。

ボーンの削除や作成などで内部Indexが自動的に変更されます。
頂点のウェイト値他、IKや表示枠などにも影響があるのでご注意ください。

※非表示ボーンもView上では選択されている場合があります(表示上では判別できません)
鏡像ボーン列作成の場合、〜先などの非表示ボーンも選択されていると同様に作成されますので、
必要な場合は子系列を含めた選択機能などで対応してください。



[法線関連] 
 - [選択法線の平均化] - 選択頂点の法線を平均化して再設定
 - [近傍頂点の法線平均化] - 選択頂点の中から指定の距離以内の近傍頂点同士を一つのグループとみなし法線平均化

 - [選択法線の平均面法線設定] - 選択頂点の法線を関連する面法線で平均化設定 ※法線の簡易スムージング機能

 - [選択法線反転] - 選択頂点の法線を反転(面の反転などと併用推奨)

[エッジ倍率変更頂点を表示] - エッジ倍率が1.0以外の頂点を表示(絞込み)


[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. 探索された頂点のウェイト設定から、鏡像関連ボーン及びウェイト値を設定。

※近似頂点数が複数の場合は、近い位置から複数の頂点を候補とし、ウェイト値を距離で重み付け補正。

※鏡像位置の関連ボーンについて、まずボーン名の先頭文字が左(or右)で鏡像ボーンがあるか判定。
対象名ではない場合は、鏡像位置に最も近いボーンを探索し、それを関連ボーンとします。
Y軸上のボーンなどでは、鏡像ボーン＝元のボーンとなることもあります。

尚、この処理はとても重いのでモデルの頂点数によってはかなりの時間がかかると思われます。


○近位置ボーンからの簡易ウェイト設定

選択頂点に対して、最も位置が近いボーン(ボーン位置基準)または最も距離が近いボーン軸(ボーン軸基準)を対象に
ウェイト値 100%(1.0)でウェイト設定します。

ボーン軸はボーンから表示先までの一連の[＜○]を対象にした軸です。
頂点から各軸までの直角距離が最も近いボーン軸＝ボーンを対象とします。

面単位／裏側優先チェック時は頂点単位ではなく面単位で計算を行います。
その際、面の裏側にあるボーンまたはボーン軸を優先的に対象とするよう重みが掛けられます。

※簡易な構造の場合はボーン軸がほとんどの場合面の裏側を通っているので、面単位／裏側優先がうまく機能しますが、
面の向きによっては随分と離れたボーンを対象としてしまう場合があります。

軸向きや頂点の配置状態など一般的な形状モデルを全体的に一気に設定するには不向きな機能です。
個別のパーツ単位でボーンと頂点を関連させていくことを想定しています。


○プリミティブの編集について

簡易的なプリミティブ(面／箱／テキストなど)の追加と、それに関連する各頂点／面への編集機能。
使用にはいくつかの注意点があります。

□追加可能なプリミティブ

・平面(+UV) : 任意の分割数を指定可能。平面のみUV値自動設定。
・箱        : 直方体。大きさのみ指定可能で分割数は設定不可。
・球        : 球。半径／経度方向の分割数／緯度方向の分割数を指定可能。
・柱        : 角(円)柱。上下の半径／高／経度／緯度方向の分割数を指定可能。Z方向へ生成されます。
・トーラス  : リング／ドーナツ形状。内径(外周の輪の大きさ)／外形(全体の大きさ)／外枠の分割数／内輪の分割数を指定可能。
・テキスト  : 文字／文字形状をモデル化。フォント(フォントと書体のみ)／サイズ(フォントサイズで指定)／テキスト内容／厚み他、指定可能。
・ロープ    : 直列した頂点をロープ形状で配置作成(原点上から下方向へ作成)。対応したSoftBodyも一括して作成可能。制御ボーンはY方向の最上頂点位置へ配置。

※テキストの大きさは暫定的にフォントサイズの指定で変更可能ですが、特に基準数値などがあるわけではありません。

それぞれ新規材質、または任意の材質へ追加が可能です。新規材質時は自動的にエッジONに変更されます(チェック中の場合)
また関連ボーンや剛体なども同時に作成可能です。

尚、プリミティブの追加処理はDirectX側の実装機能へ投げているだけなので、こちらで細かい指定はできません(平面やロープは内部で生成／平面はUVも設定可能)


□頂点編集

選択頂点の削除／結合や選択面に対して頂点の分離処理などが可能ですが、これらは比較的コストの重い処理になります。
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側から強制的に解放することも可能です。


○操作窓 (画面右側)

描画画面右下の [<<] ボタンで操作窓を表示側に格納することができます。


□ボーン／表示枠／ツリー
　対象のボーンやモーフを任意の形式で選択(ボーンは画面上でも選択可能)
　表示枠は未登録対象の確認も可能です。

※ツリー表示は初期状態の枠の大きさでは確認に難がありますが、操作窓境界位置の移動により窓枠を拡げることで全体の表示ができます。
※ツリー上でのボーン順編集などはできません。

□移動
□回転
　ボタンの上下ドラッグ処理でボーンを変形(ボーン毎のローカル変形量設定)

□制限解除
　ボーン種類で制限されている動作を一時的に可能にします。

□リセット
　変形の個別リセット(全体リセットではありません)

□操作／値指定
　変形を直接値で入力可能に変更

□スケール
　選択ボーンのスケール(拡大率)値を設定。※物理剛体などスケール設定が適用されない対象があります。

□IK - ON/OFF
　IKの有効状態を個別に設定。右クリックメニューから一括ON／OFF可能。


□モーフリスト
　対象のモーフ選択

※モーフリスト上で左右にドラッグ操作を行うと、対象のモーフ値を変化させることが可能

□変化量
　0.0 〜 1.0 : モーフの変化量

[←モーションから取得]
　現在のモーション変形の状態をモーフ側へ一括設定します。通常モーションをOFFにした場合はモーフは初期化されてしまうので、その対応です。


[初期化] - [姿勢の初期化] - 姿勢(ボーンでの変形)を初期状態に戻す
         - [モーフの初期化] - 全てのモーフ変化を初期化
         - [全て初期化] - 全てを初期化
→それぞれ
[R-B]／[R-M]／[Reset] に対応しています。

[表示枠] - 表示枠に関する設定。※一度全て展開した表示枠は、更新により全て閉じた状態に戻すことが可能です。

[反転P] - 現在の姿勢状態を左右逆側に反転設定



■メニュー関係

[ファイル] 
 - [現在の形状で保存] - 
→
変形した状態でそのまま別のPMXモデルとして保存します。
状態によっては以降モーフ変化が正しく機能しなくなります。
また通常ボーン変形による作用も異なるものになるため、完全に同じ形状のモデルに戻ることはなくなります。

 - [頂点モーフを正規化して保存] - 
→
現在の形状で別モデルとして保存しますが、頂点モーフによる変形は全て初期化されます。
ボーン変形による影響は正規化するので、以降も頂点モーフが正常に動作します。
モデル形状へのボーン影響は同様に異なるものになるのでご注意ください。

尚、この処理はそれなりに重い処理なのでモデル構造によっては時間がかかる場合があります。

 - [現在の形状をアーカイブ追加] - 
 - [頂点モーフを正規化してアーカイブ追加] - 
→
現在の変形状態でモデルアーカイブへ保存


 - [現在の変形状態でモデル形状を更新-頂点モーフ正規化] - 
→
現在の形状を変形元のモデル形状へ適用します。頂点モーフは正規化されます。
ボーン構造やウェイトマッピングの状況によっては保存時と同様に変形が正しく行われなくなる可能性があります。

剛体／Jointも形状に合わせて変形されますが、物理変形状態からの内部パラメータへの変換はうまく行われない場合があります。


[編集] 
 - [更新] - モデルデータの再更新
※別の箇所で更新した場合は、全て自動的に更新するようになっていますが、場合によっては手動で更新する必要があるかもしれません。

 - [変形状態を戻す] - 変形状態のUndo
 - [変形状態を進める] - 変形状態のRedo

 - [ボーン選択状態の維持] - ボーンを非選択状態にしない
 - [ボーン選択情報を親Viewへ送る] - ボーンの選択状態を親View側へ送信します。TransformView → PmxView → Pmx編集 まで選択状態を同期化可能(ただし逆は不可)

 - [現在の選択状態で更新] - TransformView側の選択状態でPmxViewを選択更新 ※不正な変形頂点などをPmxView側で即時確認可能になります。

 - [ハンドルの中心操作] - ハンドルによる変形操作時、ハンドル中心による特殊操作(※)を有効にする

 - [IKリンクの継続変形] - 通常PMXの変形は単一フレームにおいて全て初期状態から変形が行われますが、有効時はIKリンクを前回変形時から継続状態で変形します(一部のモデルでは変形が正しく行われないようです)
 - [物理IK系列の計算スキップ] - IKのリンク系列が全て物理演算ボーンに対応している場合、そのIK計算をスキップします。

 - [現在の変形状態で新規ボーンモーフ追加] - 現在のボーン変形状態をボーンモーフへ新規追加作成
 - [ボーンモーフ変形量を通常変形量へ戻す] - ボーンモーフによる変形を通常の回転／移動変形へ変換(モーフ値は初期化)

 - [形状をコピー] - Vpdテキストとしてクリップボードにコピー
 - [形状をペースト] - Vpdテキストをクリップボードから読み込みポーズ設定

 - [現在の設定で形状をMMDへ送信] - MMDへ形状データ送信 ※後述

 - [Vpdファイル関連] 
  - [保存]／[読み込み] - 現在の形状をVpdファイル(MMDのポーズファイル)で保存／読み込み
  - [拡張形式で保存] - 保存時にモーフ量を記録した拡張形式で保存(読込み時は自動判定)


○ハンドル中心による特殊操作
 選択ボーンが移動可 : カーソル位置に選択ボーンを移動
 選択ボーンが移動不可／親ボーンが回転可 : 
   選択ボーンがカーソル位置への軸に重なるように親ボーンを回転(軸向きによっては不正な方向へ回転するので注意)
   親が捩りボーンなど固定軸を持つ場合はその親を回転対象とする。同位置でのボーン多段化などでは取り扱いが難しくなるので注意。

※ハンドル中心をCtrlキーを押しながらクリックすると、一時的に裏側にあるボーンの選択を切り替えることが可能(同位置ボーンの選択切り替えなどに利用可能)

○Φ選択によるドラッグ操作
 ドラッグ操作時はハンドル中心の特殊操作と同様になります。
 ドラッグを行わず同位置でクリック操作を行えばハンドルが表示されるので、通常のハンドル操作を行うことができます。

 対象が回転ボーンの場合にShiftを押しながらドラッグを行うと、親側の回転量を逆算し自身の回転量へ付加します。
 肩などでは腕の方向を変えずに肩の位置を上側に移動させるような挙動となります(一部でキャンセルボーンと呼称される挙動と同等の構造)


□拡張vpd
モーフの変形状態も一緒に記録したポーズファイル(*.vpd)
MMDでもそのまま読み込むことが可能ですが、ボーン以外のモーフ(表情)部分は無視されます。
対応したMMD互換ツールなどで使用することが可能です。


[モード]
 - [リアルタイム更新] - 指定のFPSで常に変形更新し続ける状態

 - [FPS] 
  - [30F]／[60F] - 更新FPSを指定のフレームレートへ変更
  - [FPS表示] - 現在のFPSとモーションフレームを画面に表示

 - [物理演算] - 物理演算のON/OFF
 - [物理演算設定] - 重力などの物理演算設定窓を表示

 - [物理演算有効の自動切り替え] - リアルタイム更新のON/OFF変更時に物理演算の状態を合わせます。

 - [モーション再生] - リアルタイム更新時に設定されたモーションから変形を行います。
 - [変形対象をモーション変形から除外] - モーション再生時、任意の変形を行った部分はモーションからの変形を行いません。

 - [変形を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できません)
ポーズスライダで変形した箇所は変形済みのボーン色になりません(仕様)


○モーフスライダ

通常のモーフ設定を一覧状態としてスライダ設定可能な機能です。

左端チェックによりグループ化することが可能です。
グループ化した対象は同一値として設定される他、メニューなどから一定の値をショートカット設定可能です。

その他基本的な操作は通常のモーフ設定やポーズスライダと同じになります。



□各Viewでの個別ショートカット操作

メニューに配置されている [Ctrl+???] というショートカットとは別に配置されているショートカット一覧

[PmxView]
 H   : ハンドル表示のON/OFF
 E   : エフェクト描画のON/OFF

 V   : 頂点選択のON/OFF
 F   : 面選択のON/OFF
 B   : ボーン選択のON/OFF
 D   : 剛体選択のON/OFF
 J   : Joint選択のON/OFF

 1   : 選択範囲を [・] へ変更
 2   :            [□] へ変更
 3   :            [δ] へ変更
 4   :            [○] へ変更
 5   :            [△] へ変更
 6   :            [Φ] へ変更

※数字は非テンキー(テンキー側は視点変更)

 X   : 頂点表示のON/OFF
 N   : 法線／選択法線表示のON/OFF
 Z   : 表面頂点表示のON/OFF
 W   : 描画モードをWire+へ変更(Wire+の場合は通常へ変更)
 O   : パースのON/OFF | [正]


※以下のViewは変更点のみ

[SubView]
 ハンドル(H)／エフェクト(E)無効


[モーフ編集]
 エフェクト(E)／ボーン(B)／剛体(D)／Joint(J)無効
 Enter  : モーフ設定反映


[TransformView]
 エフェクト(E)無効
 P   : リアルタイム更新のON/OFF
 M   : モーションのON/OFF
 Esc : 変形初期化 | [Reset]








§ エフェクト描画機能

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エディタから起動した場合は「スレーブモード」となりモデルの変更が使用不可能になります。

替わりにPMXエディタからモデル情報をファイルとして受け渡す必要なく、ダイレクトに受け取ることが可能になっています。



○操作概要

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#)として、エディタ上で利用できるプラグイン。
　単純な編集作業の繰り返しなどで楽ができたり、計算結果からのデータ入力に適している編集などに適用です。

■ プラグインランチャ :
　システム／ユーザー作成プラグインを一つの操作窓から起動可能なランチャプラグイン。
　プラグイン起動用のショートカットキーなども設定可能(ただしショートカットキーはランチャ窓がアクティブ時のみ有効)

■ 自動バックアップ :
　指定の時間間隔でバックアップ保存ができるようになるプラグイン。
　デフォルトではOFFになっています。

■ 簡易剛体／Joint 操作パネル :
　剛体／Jointを移動などの操作可能なプラグイン。※ 現在はPmxViewも同様の編集機能を有しています。
　プラグイン側のみの機能として、複数選択状態での個々の"向きだけの回転"や、剛体サイズの"指定サイズのみの増減"などがあります。

■ 剛体グループ一括設定 :
　剛体のグループ配置を一覧で編集可能なプラグイン。
　衝突対象の全体確認なども可能です。

■ 剛体／Joint 選択表示 :
　剛体／Joint の表示絞り込みプラグイン。※ View上ではできません。
　SubView／TransformView も合わせて設定可能です。
　注意点として、表示管理はプラグイン側に一任されているので、状態は利用者が常に把握する必要があります。

■ 色操作補助 :
　各Viewの背景色や材質の色などをスライダ操作や HSV形式で変更可能なプラグイン。
　材質編集での大ざっぱな色設定では対応できない場合などに利用推奨。色の変更は即画面に反映されます。

■ リスト要素の順序入れ替え :
　材質／ボーン／モーフ／表示枠／剛体／Joint／SoftBody の各要素をまとめて一気に順序入れ替え可能なプラグイン。
　Pmx編集側のリストも複数まとめて移動できるようになったので、必要性は薄くなりました。

■ 位置揃え／等配置 : 
  頂点／ボーン／剛体／Joint の位置を一定の方向で揃えたり、複数の対象を等配置することが可能なプラグイン。

■ 位置オフセット : 
  頂点／ボーン／剛体／Joint の位置へのオフセット加算プラグイン。

■ サイズ変更 : 
　モデルのサイズ変更用プラグイン。全体サイズの一括変更はプラグイン機能のみの対応です。

■ 選択面を両面化 : 
　現在選択中の面を両面状態にします(裏側に面を追加)。このプラグインのみ特定の編集窓が表示されません。即時実行型です。

■ 終了時View状態保存 : 
　終了時の各編集窓の位置や大きさなどを保存するプラグイン。
　次回起動時に復元できますが、一部の編集窓しか対応していません。最小化などが入ると保持データが壊れるかもしれません。


■ OBJインポート／エクスポート :
　ファイルのインポート／エクスポートにて OBJファイル(*.obj) に対応するためのプラグイン。
　最低限の実装なので、同形式でも対応できる対象はあまりないかもしれません。

■ Imagインポート :
　BMP/JPG/PNG ファイルのインポートプラグイン。
　画像ファイルをインポートすると大きさに合わせた板ポリを生成します(サイズはXYで画像の1/10)
　追加インポートを行う場合はテクスチャとなる画像ファイルとモデルのファイルパスに注意してください。



====================================================================================================================

§ 利用規約

・利用規約及び規約に関わる内容に同意できないユーザーは本ソフトウェアを使用することができません。

・ユーザーは禁止事項に反しない範囲で、本ソフトウェアを利用することができます。

・利用規約、禁止事項等は予告なく変更されることがあります。
・利用規約、禁止事項等は特に断りがない限り、最新の内容が過去のすべてのバージョンに適用されます。

・日本語の理解は必須ではありませんが、原文の利用規約等(日本語表記)と完全に一致した
　内容を確認できないユーザーは本ソフトウェアを使用することができません。


§ 禁止事項

・配布パッケージの改変
・配布パッケージ及びパッケージ内データの配布・再配布(※1)
・配布パッケージ及びパッケージ内データの売買
・ソフトウェアの不正な改変及びその利用(※2)
・ソフトウェアの再利用(※3)
・ソフトウェアの商用利用(※4)
・事業者によるソフトウェアの利用(※1,5)
・ソフトウェアのリバースエンジニアリング及び不正な解析行為
・リバースエンジニアリング及び不正な解析行為等で得た情報の公開、取得
・公序良俗に反する利用行為
・社会的に問題があるとみなされる利用行為


※1 特別に許可を得た場合は除きます。

※2 ソフトウェアはパッケージに含まれる実行ファイル及びその実行に必要となる全てのデータファイルを対象とします。
　　SlimDXなど一般に公開されているものは除きます。ソフトウェア上での編集対象となるモデルデータなども対象ではありません。

※3 パッケージに含まれるソフトウェア(アセンブリなど)を別のソフトウェアに(許可なく)利用すること。
　　ユーザーが作成したプラグインは本ソフトウェア上で動作するものなので対象ではありません。
    ユーザープラグインについては、各プラグイン製作者の定めた規約に従ってください。
　　SlimDXなど一般に公開されているものは除きます。

※4 ソフトウェアの利用により作成されたデータの売買なども広義においては商用利用と見なされます。
　　ただし事業行為とは認められない程度の個人レベルでの取り扱いに関しては関知しません。
　　当然ながらこの例外には事業者は含まれません。なお、個人を対象とした商用利用の許諾は一切行いません。

※5 主たる事業目的においての継続的な利用、というのが主な判断基準となります。

※ 禁止事項に書かれていなくても著作権等法的に守られているものはそちらに優先されます。


§ 免責

ソフトウェアの使用及び使用に関わる行為、ならびにソフトウェアにより作成されたデータ類の利用及び利用に関わる
すべての行為において発生したあらゆる損失、損害、問題等について一切の責任を負いません。

====================================================================================================================









以上

極北P (2014/3/29 PMXエディタ 0.2.2.2)





・バージョン履歴

0.2.2.2(2014/3/29) <readme>タグによる表示機能。コメントタグ編集。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) 初期公開版
