・開発環境をVS2017へ移行
・モーフ編集の改修
・不具合修正
以上
0251も不具合修正版が随分と積まれているので、とりあえず ver上げておきます。
●開発環境移行
開発環境を VS2013から VS2017へ移行。ただし参照する VC++ランタイムは 2013のままなので、更新の必要は特にないかと思われます。
また .NETも4.0で変更なし。4.5なら async/awaitで非同期処理が楽に書けるとか、4.6以降だと 64bit版の動作が(かなり?)改善されたりするとか利点も色々ありますが、その他のランタイムとの整合性や 「動かなくなったー><」 とかの面倒ごともまた色々出てきますのでね...
※.NET4世代は 「実行時に OS側にインストールされている最新版を利用する」 という仕組みらしいので、64bit版を利用される方は .NET4.6以降を入れておくとよいでしょう(Win10なら標準で構築済み)
●モーフ編集の改修
主な改修点としては、
----
■選択頂点をモデル形状位置へ移動 (モーフ編集窓:[編集]メニュー内)
頂点の位置初期化は 0251の仕様で正常です(以前の専用編集窓の動作の方がむしろ不良)
モデル形状の方に合わせる(戻す)方法は 同0251で実装された [個別記憶] 機能で自由に行えるので特に不要かと思っていましたが、操作手順も少々多いので専用処理をメニューに追加しておきました。
それにしても両目閉じから片目閉じモーフを作成するのに、わざわざモーフ編集から片側を初期化して新規モーフを追加するとか、随分と面倒な手順をとっておられる方がいるようで...
PMDエディタ時代からある機能ですが、[絞](:絞込み表示) に選択した頂点を別モーフへ分割する機能が搭載されています。
1. [絞]
2. [頂点/材質]タブ内で [頂点モーフ]を選択
3. 対象のモーフを 子窓リストから選択
4. 分割したい頂点を選択
5. 子窓のリスト上で右クリック→メニューから[〜分離]を実行
6. モーフリストから名称などを修正
両目から片目であれば、モーフリストから両目を一旦複製し、↑で分割すれば 1分もかかりませんよ。
※実際は両側の片目(頂点)モーフを用意して、両目モーフはグループモーフで統合した方がデータ容量的には多少節約になります。
■新規⇔既存や既存モーフ対象を変更した場合の最終形状を Undoへ登録
ちょっとした操作ミスから編集状態が初期化されてしまうケースがあるようなので、変更時に形状状態を Undoへ登録するようになっています。
例)
0251: 新規モーフ作成中、誤って既存モーフを押してしまう→形状が初期化→新規に戻しても作成中の状態に戻れない=消えてしまう
0252: 新規に戻した後に Undo(Ctrl+Z) で変更前の形状に戻る
既存モーフ編集中に別のモーフを選択して初期化されてしまった場合も同様の操作で戻せます。ただし途中でモーフ編集を終了したり Undoを挟んだ後に変更したりなどすると Undo内の形状データは消えてしまいます。
■モーフ編集終了時に編集内容がある場合、終了確認及びキャンセル選択
なんらかの形状編集状態が残っていると判断される場合(Undoバッファの初期化を挟むと正常に機能しません)、モーフ編集終了時に確認を行います。
状態によっては追加や更新直後にも出る場合があるかもしれませんが、問題なければ気にせず終了を選択してください。
■モーフの追加/更新を分離(既存モーフからの新規追加可能)
0251は追加/更新が一つのボタンでしたが、分離されています。既存のモーフ編集から新規に別のモーフを作成することができます。
「更新したつもりが別のモーフ追加してた」 みたいなケースもあるかもしれませんので、その辺はユーザーが責任を持って選択してください。
合わせて既存モーフの名称とパネル位置をモーフ編集上でも変更(要更新)ができるようになっています(あまり意味はありませんが)
■モーフ編集時のTransformViewの表示を正常化
0251ではモーフ編集中は TransformViewの状態が "モーフonモーフ" みたいな不正な状態で表示されていましたが、一応改善されています。
----
といったところです。他に一部の編集手順でモーフの更新に失敗するケースへの対応などもしてあります。
余談: どこぞやで 「最新版は SubViewに [動] がなくなった」 とか見かけたときは目が点になりましたが (PMDエディタ時代から[動]:オブジェクト操作 が付いたことは一度もありません/一体どういうクラック版使ってたんだか...とか思わざる)、エスパーするにも話のベクトルがあっち方向すぎでは流石に理解が追いつきません (件の話は以前の頂点モーフ編集窓のことのようです...)
以上、今回の更新でした。
【関連する記事】