2016年07月25日

環境更新(Win10)

悪評高い? Win10への無料更新期限も間近ということで、久しぶりに PC環境ごと更新しました。前回の更新時はまだ某 SNSにいた頃なので、このブログに越してきてからは初めてですね。

とりあえず主要部品はこんな感じ(右側は換装前のパーツ類)

CPUi7-6700ki7-2600K
MemDDR4-32G(8Gx4)DDR3-16G(4Gx4)
GPUGTX1070(8G)GTX460(1G) ※()内はVRAM量
OSWin10pro-64bitWin7pro-64bit

OS領域のストレージ(SSD)も古くなったので新しい SSDへ換装(マザーボードも当然対応品へ入れ替え)

CPU性能は昨今それほど変化ないので、メモリ周辺の足回りが多少よくなった程度でしょうか。原理上仕方ないにしても、もう少しコア単位の性能もよくなってくれるとありがたいんですけどね。

半面 GPUは性能の向上度合がすさまじいですね。コアクロックだけでも倍以上(ユニット数も換算すると倍々で向上)、ベンチマークによっては 4〜5倍以上のスコア差になっているものも珍しくはありません。

PC組上げ後は消費電力なども確認していますが、ネット閲覧程度では 50W前後でほぼ安定(常設ストレージは SSDx2+HDDx2)。GPUに至っては、ファンが止まったまま一日を終えることがほとんどです。

※PMXエディタなどで 3D機能に多少負荷をかけても 100W前後...それでも GPUのファンが少し回る程度でとっても静か。「掃除機か!」 とか言ってた頃の爆熱爆音時代が懐かしく思えます(笑)


■Win10インストール

インストール手順など、当初は一旦既存領域のアップデートを通す必要があったりなど非常に面倒だったようですが、昨今はインストールメディア(Win7上で作成可)から Win7/8のプロダクトキーでそのままクリーンインストールできるので、とても簡単になりました。

※アップデート版の Win7のキーでもそのまま Win10のクリーンインストールに利用できます。ちょっとオトクですね(32bit版から 64bit版へ移行もできるらしい/当たり前ですが home→pro は無理)

ちなみに Win10の認証で利用した Win7/8のプロダクトキーは今後も Win10の再インストール時に使えるという話です。


■Win10設定

OSがスパイウェア、と言われるほどあちらこちらから情報を送信しようとするので、初期設定が大変ですね。プライバシー設定(全部OFFでOK)以外にも、IMEからの送信や他にもキーロガー的なものなども標準で作動しているという話もあるので、気になる方は止めてしまうとよいでしょう。

うちはそれら以外にも、

・ロック画面のスクリーン表示無効化
・アップデートのP2P利用無効化
・自動アップグレード無効化
・OneDrive停止
・不要サービス停止(主にリモート関連と使わないデバイス関係)
・コルタナOFF(削除してしまうと別の不具合を誘発するかも?)
・MS-IME 予測入力無効化(このご時世に変換で固まるとか...)

など目につく不要なものを停止したり削除したりしました。

※これでも裏では色々情報が送られているようなので(FWに色々引っかかります)、全ての流れを止めるのは現実的には難しいと思います。

まあスマホなど "好き放題外部から監視できる機器" が一般化している現状、この程度は今更でもありますけどね(流行りのポケモンGOをはじめ、収集された大量の活動情報は今後も様々な分野で活用されるかと思われます)


■Win10ソフトウェア

Win7のデバイス関係は標準デバイスを除いて、ほぼ全滅と考えてよいかと思います。Win10用のドライバなりを事前に準備しておきましょう。更新に対応していないデバイスは不具合を誘発する前に外してしまった方が賢明です(何事も諦めが肝心)

通常のアプリケーションはほぼ問題なく動作するようですが、DLLフックを使ったツール(ホットキー関係など)や OSのセキュリティーに引っかかるようなツールは問題が出るかもしれません。この辺は Win8の時点で既に問題となっていましたが、Win7からの移行によりまた表面化する事例も増えていくように思います。

※Win7と共存利用される方は NTFSのバージョン問題などにも要注意

うちも XP時代から長年使用していたホットキーアプリが使えなくなったので、別のツールへ移行しました。その他常用しているツール類は Win10で動作確認されている最新版へできるだけ更新しておきました。


■PMXエディタ

特に問題はないようです。必要なランタイムは VC++関係と DirectX の更新のみで、.NETのインストールは不要でした(ユーザープラグインによっては.NET3.5以下のインストールが必要になるかもしれません)

全てリドミに記載してあるアドレスからの取得および更新で OKです。

※ページは IEで開きましょう。が、IEのポップアップブロックでファイルの DLが阻まれる場合もあるようです。MSなにやってんの...

※VC++ランタイムは x86(32bit)/x64(64bit)がそれぞれありますが、動作させる PMXエディタに合わせて設定が必要です。
  PmxEditor.exe(32bit版) → x86のランタイム
  PmxEditor_x64.exe(64bit版) → x64のランタイム(OSが32bit版の場合は x64のランタイムはインストールできません)

※MMD本体はさらに古い VC++のランタイムが必要なようです(リドミを要確認)

なお基本的なブロック解除や GPUドライバの更新などは忘れないように。

余談ですが Win10(.NET4.6)の場合、64bit版 PMXエディタの起動もかなり高速化するようです(うちの環境で起動時間 3秒程度) 参考1, 参考2


■Win10使用感

OSが変わっても普段利用しているアプリケーションはそのままですから、それほど大きな変化はありません。

システムフォントや UI関係など全体的に "ダサくなった" 気もしないでもありませんが、まあそれらもすぐに慣れることでしょう。

動かなくなったツール類も当然出てきますが、探せば大抵どこかに代替機能を持ったものはあると思います(ただし昨今は探索対象を海外まで拡げることを推奨します。日本だけではもうね...)

ぶっちゃけ Win7からわざわざ変更しなければならないほどの利点はないように思いますが、ハードウェア関係においては世代世代にあわせて OSを選ぶのが最善です。新しいハードに古い OSやまたその逆も、潜在的な問題を多く抱えることになり 「なんか調子悪い」 ってのが恒例のパターンになります。

そういう意味では古いハードウェア仕様に対しても、半ば強制に Win10への更新を勧めた今回の MSのやり方は下策だったかもしれません。


■まとめ

・Win10クリーンインストールは Win7/8のプロダクトキーがあれば簡単(7/29まで)
・動かなくなるデバイスやツールはゼロではないが対応は十分可能
・セキュリティは(MSが言う分には) Win7よりマシ(信用に足るかどうかはご自身の判断でどうぞ)
・情報収集(スパイ)機能が無駄に豊富。気になる方は要設定変更/完全な遮断は無理
・PMXエディタやMMD/MMEなどは特に問題なし

こんなところでしょうか。

※Win7/8を所持している方は、とりあえず手持ちのプロダクトキーの分だけはアップデート推奨(将来払う無駄金が減る...かも)。メーカー品利用で今後も PCを OSごと買い替えていく方は放置でも特に問題ないかと思われます。


一応、今後はこの環境が開発環境としての標準になります(いわゆる動作推奨環境)。といっても、うちに限らず MMD関連の開発関係は現状ほぼ止まっているようなものなので、特に注意される必要もないかと思いますが。

他にも DX9用のシステムをいつまでも更新し続けるというのも、ある意味時間の無駄に見えなくもないので、できることが増えた分 「また色々と考えることが増えるなぁ...」 と頭の痛い昨今でもありますね。


以上、PC構成から Win10まで、環境更新のお話しでした。

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

2016年05月08日

0236

■更新内容

・選択反転(頂点非表示ショートカット変更)
・サイズ変更時のエッジ適用選択
・サイズ変更(システムプラグイン)更新

以上


前verで予定だけして作り忘れていた内容です。

● 選択反転

初期の頃からあってもよさそうな機能でしたが、何故か抜けてましたね。

※他にもそういう機能はいくつかあると思いますが、既にユーザー作成プラグインなどで補完されてるかも?

関連で頂点非表示のショートカットキーが変更されました(反転をCtrl+R(Reverse)/非表示をCtrl+H(Hide)に変更)

● サイズ変更時のエッジ適用選択

内部的には随分前というか初期の頃から選択できていたんですが、これも何故か設定項目を外に出すのを忘れてましたね。

プラグインのサイズ変更やインポート/エクスポート画面の [エッジ]というようなチェック項目で適用除外できるようになっています。

● サイズ変更(システムプラグイン)更新

エッジ修正のついでにプラグインを最近の仕様に作り直しました。

[UIモデル表示]チェックで View側に操作モデルが表示されます(つまんでドラッグ)。数値ではなく感覚的に大きさを設定したい場合などに活用してください。

ちなみに同UIモデル仕様のシステムプラグインに「画像ボード追加」というものがありますが、PMXモデルを読み込むこともできるので、既存モデルと比較しながらのサイズ調整なども簡単にできますよ(一々インポートして調整して削除して...とか面倒は不要です)

● その他

子窓が画面外に出ないような補正機能が追加してありますが、環境によっては余計な不具合を引き起こす要因になっているかもしれません。


以上、今回の更新でした。

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

2016年04月21日

トラブルシューティングなど

ここ最近は したらば板の PMX関係も静かなものなので 「みなさん十分こなれてきたかな?」「いやいやもう誰も使ってないだけだろ(ワラ」 みたいに考えてましたが、

ツイッター少し覗いてみたら...全然そんなことはありませんでしたね(アイカワラズデシタ


■「起動すると変なエラーが一杯表示されるよ><」

ZIPやDLLのブロック解除忘れですね。よくあります。
DLした ZIPファイルを解凍する前に、ファイルのプロパティから "ブロック解除" を行っておきましょう。

自分は古い?Lhaz とかで解凍してるので、解除の必要はなかったりしますが(解凍ツールによってはセキュリティ関係に対応してない=勝手に解除される)


■「起動しねぇぞ!」

ランタイムは全部入っていますか?一度リドミの冒頭に目を通してみましょう。OSによっては .NETフレームワークが入っていたりいなかったりします(3.5と4.0は多分必須/64bit版を使用する場合は.NET4.6以上推奨)

DirectX関係はグラボのドライバもよく忘れられるポイントです。またエディタや MMDで使っている DirectXは最新のものではないので(要DX9) 「最新版だから大丈夫」 というわけにはいきません。

※DirectX9も前期/中期/後期タイプなどバージョンが色々あったりします。

たまに OSが駄々をこねてインストールに失敗していることもあります(見掛け上は成功)...古いシステムを使い続けるのはホント面倒ですね。


■ UIが滅茶苦茶で使いものにならない

画面の解像度設定などで大きさや文字を拡大してると壊れます(win8以降は初期設定で拡大している環境も多いです)。対応面倒なので仕様です。

一応 EXEのプロパティから 「高DPIでは〜無視する」 で多少の軽減もできないことはありませんが、基本的に焼け石に水なのは変わりません。100%(拡大なし)に戻しての利用を推奨します。

スケーリングは新しいUI(WPF関連)にまかせて、古い仕様(WinForms)では無視できるようにすればいいのに...などと OSの設計思想に辟易するのでした(ホント古いシステムを(ry

※Win10の場合は、
1. "カスタムの拡大率" を 100% 及びテキストサイズを各 9(pt) に設定(※従来の解像度設定)
2. "ディスプレイ設定" の拡大率を変更
により UIを壊すことなく表示画面の拡大が可能なようです。


■ 使ってると落ちる

十中八九メモリ周りが原因です。

Undo関係で本体メモリはどんどん消費されます。特に頂点数の莫大なモデルなどを編集するときは 64bit版を選択するなり、こまめなバッファの掃除(本体[編集]-[Undo用バッファのクリア] [Undoバッファ管理]からクリア)なりが重要です。

またもう一つ VRAM=グラボのメモリ という厄介なメモリもよく問題になります。PMDエディタは大丈夫だけど PMXエディタはよく落ちる、というケースはVRAMやグラボ関係(ドライバ)が怪しいです。

グラボがオンボード(CPUとかに付属してる奴)だと、メモリ管理の問題や DirectXへの対応状況など、さらにややこしいことになります。

他にも物理演算(bullet)の内部処理にも色々と問題があるようで、PMXエディタでは 32bit版と64bit版では最適化オプションが異なっていたりします(変えないと落ちまくり)

不意に落ちても大丈夫なよう、編集作業では無意識のうちに Ctrl+S を押せるようにしておきましょう(ソフトウェア作成関係者は大抵体得済み)。

一応、自動バックアップ機能は標準プラグインで用意されています(標準では OFFなので注意)


■ 帰ってこない/反応(応答)がない

処理数が多すぎるなど無茶なことをするか、なんらかの理由で内部ループに陥っているかなどで発生します(無限ループの場合は大抵スタックオーバーフローですぐに落ちますが)

※編集中にOSのロック画面を出すなど、DirectX側に負担をかけると復帰に少々時間がかかる場合があります。

しばらく放置しておけば復帰することもよくありますが、なんにせよ困ったときはタスクマネージャ(タスクバーの右クリメニューから起動可)から落としてしまえば問題ありません。

そのためにエディタは自身の環境保存を一切おこなわない設計思想になっていますので(最近使ったファイルがなかったり、表示設定などが個別保存の理由)


■ 起動したら一部のウィンドウが表示されない/どこにあるか不明

「終了時View状態保存」 という標準プラグインでウィンドウ位置を保存できますが、最小化やらなんやらの影響で値がよく壊れます(OS付属のソフトですらよく出る問題)

プラグインを一旦無効化して再起動するか、プラグインフォルダ内の当該データファイル(ViewStateSave.dat)を削除すれば治ります。

修正もできないことはありませんが、PMDエディタ時代に作成したプラグインは移植やらテストがもう面倒なのデス。


■ Xが読めない

Xのロードは DirectX側に投げているだけですが、それでもうまく読み込めないデータを吐き出すツールは多いです。

スキンメッシュも一応対応はしていますが、色々な理由から失敗することが多いです。インポートは OBJの方が多少マシですが... ↓


■ OBJが読めない

元々インポート/エクスポートプラグインのテスト用に作成しただけなので(ImportObj.txtにも書いてありますが)、あまり真面目に作ってあるわけではありません。

そもそもうちにはまともに OBJを吐き出すモデリングツールすらないので、実質的にエディタの作成(エクスポート)した OBJを読めれば OKという程度のものだったりします。

※データによっては頂点や面とかが、やたらと増えることがありますが詳細は不明です。


■「MMDと色とか違うじゃん!」

とりあえず PmxViewの右上の方に [Fx] というのがあるので押しておきましょう。これで大体同じような色合いになります。

※厳密には MMEの標準状態と同じ色計算になります。MMEと MMDの相違についての苦情は 舞Pの方へどうぞ(ぉぃ

ちなみに [Fx]状態だと地面影が MMDと同じオブジェクト影になっていたりします(標準は地面影もセルフシャドウ仕様)


■「変形階層ってなんぞ?」

「IKは 1にしないといけない」...なんてことは別にないです。そもそもにおいて"変形階層"は PMXでは全く不要なパラメータだったりします。

ではなぜこんなものがあるのか、という話は PMD/PMX両対応の PMDエディタの時代までさかのぼります。

当時は PMX(2.0)を作ったばかりで PMXモデルの存在なんてものは皆無でした。当たり前ですが。

当然ながら当時の PMDエディタは名前の通り "PMD" のための編集ツールだったわけで、内部的には PMX化していても......とまあ、この話は長くなるのでいずれまたの機会として、

現在の PMXでは特に気にする必要はありません。未だに律儀に変形階層を設定しているモデルも多いかと思いますが、

本体メニュー [編集]-[ボーン]-[同一階層化] で簡単にチャラにできますので(変形順序は守られます)、以降はボーンの順番を気にするだけでよくなります。

※少々経緯は異なりますが、外部親フラグも現在はほぼ不要なパラメータとなっています(MMMでの外部親利用ではフラグを設定しておきましょう)

※MMDでは実装の問題から IKや連動構造を組み合わせる場合など階層の調整が必要なケースがあるようです(PMX本来の変形仕様とは異なります)


■「MMDだと物理後変形にしなくても動くんだけど?」

物理後変形は同フレームでの変形を保障します。

MMDでは前のフレームからの継続で物理演算結果を引き継ぐことができるので、問題がないように見えているだけです(実際は 1F遅れています)

PMXエディタの変形は 「単一フレームでの変形を確実におこなえるかどうか」 を最重要視しています。そのため内部的には(毎フレーム)完全な初期状態からの変形を適用しています。

単体テスト重視の環境か、それとも実用重視の環境か、その違いが仕様の差異となってあらわれているわけです。

物理演算の他にも IKなどでもフレームをまたいだ結果の違いが出てきます。


■ verUPでプラグインのコピー

一々新環境に全部コピーとかしなくても、プラグインフォルダ内の "user.path" をメモ帳などで開いて中に元のプラグインフォルダパスを書けば、そのまま参照してくれます。

※書き換えた"user.path" を保存しておけば、それを新環境に放り込むだけで OK

同じように、実行ファイル(PmxEditor.exe) と同じ場所に "_data.path" を作っておいておくと、"_data"フォルダ(表示設定などが保存されています)を外部参照することもできます。


■「表情(頂点モーフ)の作成つらい...」

頂点モーフ(旧表情)編集ウィンドウは 「とりあえず作っただけ」 のシロモノですので、編集が苦しいのはある意味当然だったりします。
基本的に表情ファイル(形状データ)をまとめて放り込んでモーフにするぐらいしか想定されてません。
0.2.5.1で機能は改変されましたが、基本的な評価は変わりません。

造形はモデリングツールでできるだけ行い、PMX化の後はモデリング側へ戻らないような作業工程が望ましいです。

※後から(外部から)モーフを追加や変更したりする場合は、頂点にID振ってモデリング側へ戻し、IDを参照して変更した頂点の位置などをモーフ適用するような仕掛けを作ればいいだけですが、各モデリングツールへの引き戻しは形式がそれぞれ異なるので PMXエディタとしてそういう共通機能を持たせることは困難です(インポート/エクスポートプラグインなどをうまく活用すれば、技術的にはそう難しい話ではありません)


■ PmxViewで選択している頂点を本体側で一括数値編集

1. PmxViewで頂点選択
2. 頂点タブを開いて、本体メニュー [編集]-[リスト関係]-[現在のView対象をリスト選択] (または本体アクティブで Ctrl+L)
3. 頂点データを設定(入力部分だけ一括変更されます)

※選択対象は適宜ガイドなどに一旦保存しておくと操作を誤った場合にも復帰が容易です。

頂点や面は選択対象が大量になるケースが多く 2.の選択がとても重くなるので手動でリスト選択する仕組みになっています。自動選択にすることもできますが、まず使い物にはなりません。

他にも PMXエディタでは複数選択状態で特定のデータ部分のみを一括で設定変更することが可能です。PMDエディタではできなかった仕様なので、そもそも知らない方も多いかもしれませんね。


■ 特定のボーンだけ表示したい(絞込み)
0.2.5.1で対応しました。
とりあえずそういう機能はありませんが、

1. 絞込み表示したいボーン"以外"のボーンを選択(全部選んで絞込み対象だけCtrl+で排除した方が早い)
2. 選択ガイドなどに保存
3. ボーンの属性から[表示]をOFF
4. 絞込み状態で編集
5. 保存したボーンを選択し表示状態へ戻す

というような手順で一応できないことはありません。保存し忘れたり、戻す前に保存分が消えたりすると悲惨ですが。

剛体や Jointの絞込み表示もわざわざプラグインからしかできないようになっていたりと、その辺は色々大変なんだなぁ...と察していただけるとありがたいです(ボーンは非表示属性が元からあるし...さらに設定のために UI増やすとね...)



■「位置とかXYZで3回もコピペするの面倒なんですけどぉ」

ベクトルコピー という単語でリドミを検索してみましょう。


■「UV展開の実装はまだですか?」

ラップして貼る程度の UV展開だけなら別に難しくはありませんが、UV展開は頂点が重複複製されてしまうケースが多いので(切れ目の部分が大抵増える)、PMXのように編集頂点=描画頂点のモデルデータとは絶望的に相性がよくありません。

UV展開は PMX化の前に済ませておくのが定石です。

他にも UV展開は展開後の編集をテクスチャと組み合わせていかに効率よく行うかなど、総合力の問われる機能です。まともに関係する機能を構築していったら、それだけで高機能モデリングソフトが作れてしまうぐらいになってしまいます。

そういうわけで餅は餅屋にまかせておきましょう。


■ モデリング機能の強化希望

一度この辺の記事 よくある誤解 を熟読してみるとよいでしょう。


■「重い...」

開発環境は未だに 5年前水準の PC(※)ですが(i7-2600K/GTX460) サクサク動いております(PCの進化が止まっているせいでもありますが)

※このエントリ記載時(PMX策定以降からここまでの PMD/PMXエディタの作成は全て上記 PC環境)

重厚モデルの編集では仕方ありませんが、MMD標準モデルぐらいでも動作に支障が出るようであれば、グラフィック関係や OS環境自体を一度見直された方がよいかもしれませんね。


■ Win10で(ry

MSだから仕方ない...というのは冗談にしても、グラフィックドライバやハードウェア関係を一度洗ってみるとよいでしょう(まさか実際にPCを洗濯機に突っ込む方はいないと思いますが、一応ソフトウェア的な話ですので念のため)

他にも基本フォントが変更になっていることから、なにかしらの問題を引き起こしているケースもあるようですね。

※OSのアップデートはゴミが残ったりと様々な問題を抱えます。強制アップデート後にもう一度クリーンインストールし直すのも一つの方法です。

開発環境を Win10に移行しましたが、特に問題はないようです。なお Win10は標準で.NET4.6が入っているので、64bit版の利用が多少快適になります(起動がとても速い)


■「わからんなんとかしろ」

1. リドミを上から読み進めます。

2. PMXの各データ(情報→頂点→面→(中略)→剛体→Joint(→SoftBody))の説明が、本体(Pmx編集)のタブ順に出てくるので、実際に一つ一つのデータの値を変えてみてモデル側がどう変化するのか観察します。

3. 2.の工程で PmxViewや TransformViewを取り扱う知識が必要になるので、もう一つリドミを開いて当該項目をよく読みます(マウス操作/表示の切り替え/モデルの変形の仕方など)

4. 2.でやった作業を大量のオブジェクトに行う面倒さを想像しながら、PmxViewの各編集機能を眺めます。

5. これでだいたい PMXマスターになれます。おめでとう。

※ぶっちゃけ PMXエディタの扱いは PMXの構造や仕組みを正しく理解していれば簡単なものです。エディタの各編集機能はすべて PMXデータを入力するためのショートカットでしかありませんので。




とりあえずこんなとこでしょうか。

以上、なんか困っている方がいたら、このページを思い出して頂けると助かります。

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