2020年03月12日

高解像度対応

PMXエディタの高解像度環境への対応方法について記載しておきます。
対象環境は Windows10を想定しています (画像は Win10-1903)

■対応手順
1. ディスプレイ設定を開く ※背景の右クリックメニュー
2. 表示スケールの詳細設定の修正項目を "オフ" にする
3. ディスプレイ設定のサイズを変更する
0157.png


2.が オンのまま拡大すると下記のようにフォントの大きさが変更され、いくつかの UIが不正な状態になります。
0158.png


※全体環境を オン (ボケにくい設定=実際はXP時代の従来方式に戻しているだけ) で使いたい場合は以下の手順を試してみるとよいでしょう。

ex. 実行ファイル(*.exe) のプロパティから 互換性 → 高DPI設定の変更 → "システム" で上書き
0159.png



対応手段はいくつか検討しましたが、

・標準コントロール (OS側の基本UI) に解決できない問題が残る
・開発環境においても重篤な不具合?が出てしまう

というあたりで、やはり古い規格の標準UIを使っている限り、完全な対応は難しいように思います。


以上

posted by - at 21:24| PMX | 更新情報をチェックする

2019年12月04日

小ネタ2 (PMXエディタ)

大半の内容については、説明書(readme.txt) や以前のブログ記事などでも触れているものですが、まあ復習がてらということで。

過去の小ネタなどは DLページ からどうぞ。


■ 繋がったパーツの選択方法

0118.png

0119.png



■ 重心と中央の違い

0120.png

0121.png

図説の通り、見た目が同じでも選択頂点の状態によっては、重心と中央の値に違いが出ることがあります。

なお "中央" と呼称していますが、分布 (統計) の中央値 (順番に並べたときの真ん中の対象) とは本質的に異なるので注意しておきましょう (以前は 重2 でしたが解り難いので 範囲の中央→中央 へ改名)

その他、用語関係が気になる方もいるかもしれないので、一応書いておきますが...

加算平均は一般(数学)的には相加平均や算術平均と呼ばれます。いわゆる普通の平均のことです。字面的に解りやすいので個人的によく使っています (同リドミ)

また "最大最小平均" はここでの勝手な造語(説明用) です。一般的な名称ではないので勘違いされないように (画像や UI関係などではよく使う割に適切な呼び方がない?)

ちなみに平均には 加重平均 というのもあります (算数や数学でやりましたね?)。アレがすなわち頂点のウェイト計算そのものだったりします。ウェイト=重み とか 合計が何故 1.0 (100) なのか とか色々繋がりますね。



■ 複数の値を一度にコピペ
●コピー
0122.png

●ペースト
0123.png

●クリップボード経由
0124.png



■ 任意の値をベクトルコピー状態にするには?
視点の回転中心位置の直接設定など、一部のベクトルコピー関連でクリップボード経由が使えない場合の対処方法。
0125.png



■ 座標の簡単コピペ

0126.png

0127.png

実際は ベクトルコピー → クリップボードへ貼り付け → (クリップボードから) 位置のペースト というルートで処理が進んでいます。要するに "テキストコピーからでも位置のペースト設定は可能" ということです。


■ 座標のX/Y/Zを個別に設定

0128.png


現在 (PMXエディタ以降) は以下の手順の方が早かったりします。

0129.png



■ 位置揃え

0130.png



■ パーツ単位での位置合わせ

0131.png

特に互いに頂点モーフを持っているパーツ同士を組み合わせるような場合は TransformViewでの編集を推奨します。なお位置ペースト機能は通常モデルの回転ボーンなどでも強権的に発動可能なので、利用にはご注意を。



■ 形状更新で注意すること
●余計な変形状態が入らないよう、まず初期状態にしてから必要な変形を加える
0132.png

●頂点モーフ正規化による違いを理解する
0133.png

●頂点モーフ正規化って実際なんなん?
正規化をしない場合は変形した状態をそのまま PmxView側のモデルデータ (同本体データ) に上書きします。図説にあるように、頂点モーフ自体は更新前のモデル状態からのオフセット (差分) のままなので、破綻してしまうケースが出てきます。

正規化処理の内実は、現在の変形状態に対して、
1. A:頂点モーフなし / B:頂点モーフあり の 2つの変形状態を作る
2. B - A の頂点差分から頂点モーフを再度作り直す
ということを全頂点モーフに渡って繰り返しています。

要するに 「裏で大量の変形とモーフの再作成処理をおこなっている」 わけですね (故に負荷が高くなりやすい)



■ ミラー操作

0134.png

あまり知られていないようですが、PMXにはミラー (鏡像) オブジェクトを記憶する手段はありません。エディタに こんな編集機能 があること自体が本来おかしなことなんですね...



■ ナイフの使い方

0135.png

ナイフを使うときは一つの辺ごとに切断していくのがコツです。といっても、そもそも PMX的には (△面しか扱えないので) ナイフはできる限り使用しない方がよいですが... (どうしてもの時用)



■ Del と Shift+Del の違い
●Del (ボーン/剛体/Joint 対象)
0136.png

●Shift+Del (頂点 対象)
0137.png

ということで 同じ削除処理 といってもその仕組みは全く異なるので、別の処理として分けられているわけです。特に Shift+Del の場合は意図しない対象にも影響が及んでしまうケースが多く注意が必要です。

なお、どちらでも表示枠内の対象は参照先がなくなると自動的に削除されています。



■ らくらくポーズ作成
●従来方式との比較
0138.png

●キャンセル系変形 (Shift+でのボーン操作)
0139.png

これらの変形操作を組み合わせることで、面倒なポーズ設計が多少楽になるようになっています (無理な改造不要/まあ何事も最初は慣れが必要ですが...)

操作方法の詳細は異なるかもしれませんが、一応 MMMにおいて同系方式のポーズ作成機能が実装されているかと思います。

※多段ボーンとか連動IKを駆使した自動操作とか (一般3DCGでは専用Rigとか果てはFullBodyIKとかね...)、そういう互換性を犠牲にする局所進化に頼るだけでは、全体的な底上げからは遠ざかるばかり...もっと根本的な部分での改善をなぁ...特に MMDで培われたような 「みんなで前に進みましょう」 的な環境では...

みたいなことは昔からよく考えます。まあ今更な話ですが。



■ 変形画面の枠内サイズ変更

0140.png



■ 特別なモーフ操作

0141.png



■ モーション再生/物理演算ベイク(固定化)
●TransformView で確認
0142.png

●VMDView
0143.png

モーションによる変形確認にさらに踏み込みたい場合は VMDViewを使うとよいでしょう。

※元々こっちが (PMDエディタ時代では) メインで、PMXエディタになったときに TransformViewに再生機能が付いたんですけどね。



■ 自動バックアップ

0144.png



■ HSV(色相)で材質色設定

0145.png



■ 色合いの確認

0146.png

多用されている MME用のエフェクトは大半そのままでは使えません。エフェクト機能は、あくまで確認用途としての役割が主です。



■ "E" の付く数値

0147.png

ということで不具合ではなく仕様です。

他に NaN(非数) とか Infinity? とかの表記を見掛けることがあるかもしれませんが、そちらの場合は値として壊れているので、見付け次第すみやかに初期化 (0を入力など) してやる必要があります。



■ 視点の回転中心表示 (PmxViewのみ)

0148.png



■ カメラ操作(テンキー)
※ MMDとは若干キー配置が異なります。
0149.png

0150.png



■ 実物長(仮想距離)の測り方

0151.png



■ 簡単板ポリ作成

0152.png



■ 本体編集時に反応が悪いときは?

0153.png



■ ファイルダイアログとパスの関係
ファイルダイアログは数多のアプリケーションで共通部品として使われていることもあり、本来ならここでわざわざ採り上げるような内容ではないはずなんですが...
0154.png

ファイルダイアログは案外よくできているので、コマンドラインの頃の知識が多少あれば 一々マウスでポチポチ移動するとかの必要はなかったりします。

なお (図説内との繰り返しになりますが...) 上書き保存 (Ctrl+S) の初回時は事故防止のためにダイアログを一旦開く仕様になっていますが、ダイアログの表示フォルダがモデルの格納場所と異なっていても、そのまま Enterを押すだけで問題ないように設定されています (理由はもう解りますね?)

下手にフォルダの方をマウスで触ったりすると余計な手間が増えて大変なことに...なるのでご注意ください。



■ インポート時のテクスチャフォルダの注意点

0155.png

モデルオープン (開く) と (追加) インポートの最も大きな違いは、テクスチャフォルダの設定更新にあります。

追加時は変更されないので、例えば 「インポートしたら真っ白になってしまった」 みたいな経験のある方は案外多いのではないでしょうか。テクスチャの参照パス (フォルダ) を意識すると、そのあたりの問題は解決が早くなるかと思います。

なお余談ですが、テクスチャの再ロードは PmxViewの [更新] でおこなうことができます。加えて更新監視機能なんてのもあったりしますが、その辺の詳細はリドミを参照してください。



■ とりあえず確認

0156.png




やっぱり キリガナイ ですな...

他にも個別記憶や仮想軸なんて機能も増えていたりしますが、まだまだ活用どころか機能実装すら知られていない気も(ry

ではちょっと長くなりましたが、今回はこんなところで。


以上

posted by - at 06:23| PMX | 更新情報をチェックする

2019年11月03日

起動に失敗する主な理由

いまだに PMXエディタの起動に苦しんでいる姿が見受けられるので一応まとめておきました。
読むの面倒な方は "■ 初心者用セットアップ手順" まで一気にどうぞ。


原因としては、だいたい以下の 3点に絞られます。

A. ブロック解除
DLしたZIPファイルをエクスプローラで展開する前に、ファイルのプロパティから "ブロック解除" をおこなっておく必要があります。

起動時に大量のエラーが表示される現象はこのケースが該当します。ブロック解除以外に下記のような解決方法もありますが、

・ゾーンIDに対応していない古い展開(解凍) ツールを使用する
・展開時に自動的にブロック解除をおこなってくれるツールを使用する (デフォルトだとOFFになっていることが多い)

なんにしても OS標準のエクスプローラだけでは解決できない事案なので、ご注意ください。またアーカイブ(ZIP) から直接展開するタイプのプラグインや他ツールでも、同様の問題が発生する場合があります。

B. ランタイム
実行ファイル(EXE)を起動しても反応がないケースや 「〜が不足している」 といった旨のエラーメッセージが表示されるような場合が主に該当します。

readme.txt の冒頭に参考リンクが書いてあるので、各環境に合わせてセットアップしてください。

追加が必要な必須ランタイムを大別すると以下の 3種類に分類されます。
・DirectX
・.NETフレームワーク
・VisualC++ (VC++)

[DirectX]
特に問題になりやすいのが DirectX のランタイムです。よくある罠としては 「バージョン診断で DirectX 12 (現行の最新版) と書いてあったから大丈夫」 というものがあります。

PMXエディタや MMDなどで使用している DirectXのバージョンは DirectX 9 (正確には 9.0c) なんですが、残念ながら DirectXは各バージョン間に互換性がありません。

DX12に対応済みといっても、すなわち DX9もOK ではないんですね、困ったことに。
経験上、昨今の PC環境では DX9は新たにセットアップが必要になるケースがほとんどです。

※問題になった事例はあまり聞いたことがありませんが、グラフィックドライバも DirectXランタイムとの相性が出るかもしれません。一応注意しておきましょう (ドライバが問題になるのは起動時よりも実行時の方が多い)

[.NET]
.NETフレームワークは現在では OS標準の基本機能として組み込まれていますが、いくつかバージョンの違いがあります。

PMXエディタの起動だけなら .NET4世代が入っていれば十分です (64bit版の使用は .NET4.6以降が推奨)。Win10なら標準状態で .NET4.6が構築されているので、特に何かをする必要はありません。

ただし追加する各プラグインによっては .NET3.5以下が必要になるかもしれません。その場合 Win10では .NET3.5以下は "別途インストール" ではなく、コントロールパネルの 「プログラムと機能」 → "機能の有効化" から設定する必要があります。

[VC++]
VC++ランタイムは x64(vcredist_x64.exe) が64bit版用(PmxEditor_x64.exe)、x86(vcredist_x86.exe) が32bit版用(PmxEditor.exe) に対応しています。

VC++2013は DL時に同様のファイルを選択する必要があります。2010と同名ファイルのようなので間違って上書きしないようご注意を (アイコンが異なります)

その他全体的な注意点として、
・ランタイムのインストールが特定のブラウザ経由の実行ではうまく動作しない
・インストールが正常に終了しても実際は正しく構築されていない?
といったことなども、(稀に) 発生したりするかもしれません。

C. セキュリティソフト
一部のセキュリティソフトが誤った判定をしてしまうケースがあるようです。

電子署名がないとか、インストーラーを通してないだとか、プラグイン的な外部プログラムの実行機能を有しているだとか... いくつか理由は想像できますが、なんにしても "本当に危険なアプリケーションなのか正しく調査していない" というのは間違いないので、そういう判定のいい加減なセキュリティソフトは、自分の環境ではアンインストール対象にしてしまうでしょうね。

●マルウェアプラグイン
PMXエディタのプラグイン機構は OSの実行機能をそのまま流用しているだけなので、実際は個別のアプリケーションを動作させているのと変わりありません。

要するに マルウェア(ウイルス) を仕込むことや踏み台にすること自体は "さほど難しいことではない" ということです。

簡単な対応として PMXエディタ及び同梱プラグインは "ネットワークへの接続を一切おこなわない" という方針のもとで作成されています。ネットが当たりまえの昨今では既に標準機能化している 自動バージョンチェック や 更新機能 がないことなども、その方針によるものです。

もし個別のファイアウォールなどに何らかの通信が引っかかるような場合は、追加したプラグインによって引き起こされた可能性が高いです。

通信内容があらかじめ明記してあればよいですが、そうではない場合は何かしら情報が盗み出されているかもしれません (明記していても信用に足るかは別の話)

当然ながらネットワーク不使用だけではオフライン環境に悪さをするタイプは防げないので、結局のところは利用者が責任を持って 利用するorしない の選択をするしかありません。このあたりも 「タダより高いものはない」 を実感/実践するハメになる可能性があるので、(出所の怪しいブツの利用など) 気を付けて頂きたく思います。


■ 初心者用セットアップ手順

1. ダウンロードページから ZIPファイル (PmxEditor_####.zip) を DL(ダウンロード/保存)

2. エクスプローラから DLしたファイルのプロパティ(右クリックメニュー) を開き、ブロック解除
0116.jpg

3. ZIPファイルを展開

4. 実行ファイル(*.exe) をダブルクリックで起動してみる
※正常に起動 → MMD標準モデル(*.pmd) などを開いて(ファイルドロップでOK) 問題なければ完了

5. 反応がない場合や 「〜が足りない(云々)」 などのメッセージが出るような場合はランタイムが不足

6. readme.txt の冒頭部分に必須ランタイムへのリンクが書いてあるので、ブラウザなどから "DLして" 各種インストール (↓の6.1以降にページへのリンクが貼ってあります)
注意! 画像内のランタイムのURLは現在は繋がりません (下記リンク先を要参照)
0117.jpg

6.1. Win8まで (XPや7含む) の方は .NET4 (世代の最新版のみでOK) をインストール
Win10の方はそのまま次へ

6.2. VC++ランタイムを 2010:x86 → 2010:x64 → 2013:x86 → 2013:x64 の順番に入れる
※vcredist_x86.exe と vcredist_x64.exe をそれぞれDLして実行。2010と2013で同名のファイルになっているので上書きなどに注意すること(別フォルダへ分けて保存推奨)。当然ですが OSが32bit版の方は x64のインストールはできません
Microsoft Visual C++ 2010 Service Pack 1 再頒布可能パッケージ
Visual Studio 2013 の Visual C++ 再頒布可能パッケージ

6.3. DirectXランタイムのインストール
DirectX End-User Runtime Web Installer
または (通常なら↑でよいです)
DirectX End-User Runtimes (June 2010)
(うまくいかない場合は一旦グラフィックドライバを更新して再度試してみる、など)

7. これで起動確認して (4.※) 問題なければ OK

正常に起動しない場合は、
・ランタイムを DLするブラウザを変えてみる
・ランタイムを調査 (SP版がないかとか、他のインストールパッケージがないかとか)
・セキュリティソフトで実行を防がれていないか調査
などを確認してみましょう。

プラグインは本体の正常起動を確認した後に配置してください。

よくある失敗として、PMXエディタと PMDエディタ用に分けられたプラグインをそのまま全部組み込んでしまい支障が出る、といった事例があるようです。同梱の説明書はよく読みましょう。

.NET3.5以下が必要なプラグインの場合、Win10ではコントロールパネルからの有効化を選ぶ必要があります。またプラグイン(*.dll) も本体と同様に ZIP(またはDLL) のブロック解除が必要です。忘れやすい項目なので注意しておきましょう。


以上


posted by - at 12:16| PMX | 更新情報をチェックする