備忘録:MMD関連

Windows10環境におけるMMD/製作環境の構築

インストールする準備
まず土台としてDirectX9をインストールします。
Win10ではウェブインストーラーが使えないので、スタンドアローンインストーラーを使います。
詳細はこちらを参照してください。
DirectX9のインストールが終わったら必要なランタイムのインストールをします。
MMEやPmxEditorのプラグインに何を使うのかで必要なリソースは変わってきますが私の場合はこんな感じです。
2017020301
.Net系は最初からインストールされているので必要ありませんでした。
32bitと64bitの両方をインストールしているのは古いエフェクトは32bit版のMMDでしか動作しないものがあったり、Metasequiaで使うプラグインが32bitで動作しているためです。
OSのバージョンではなく使用するアプリのバージョンに合わせてインストールしてください。両方インストールしておくのが無難です。

インストールする前の注意事項
圧縮ファイルを展開する前にプロパティから"ブロックの解除"にチェックを入れて適用してください。
2017020302
この手続きをしないと外部のリソースへのアクセスが弾かれることがあるようで正常に動作しないことがあります。
チェックを入れずに展開するとPmxEditorでは起動時にエラーメッセージまみれになりました。

以上でMME、PmxEditorの圧縮ファイルを展開して使える状態にできます。
PmxEditorではUIが解像度依存なのでディスプレイの設定によってはレイアウトが崩れることがあります。
そのときはWindowsの設定->システム->ディスプレイから"テキスト、アプリ、その他の項目のサイズを変更する"を100%に設定します。
2017020303

メタセコイア関係
問題なくインストールすることができましたがVer3系はライセンスを入力してアクチベートしてもプラグインが使えないことがありました。
原因としてはセキュリティソフトが動作をブロックしていたのでこれを解除することで正常に動作するようになりました。
古いうえにマイナーなソフトウェアなので弾かれやすいようです。



Windowsの設定
ドライバー関係のトラブルを減らすために電源設定から高速スタートアップを無効にします。
プライバシー関係の設定は全てオフで問題なし。
IMEは詳細設定でプライバシー関係の設定で履歴を保存しないように。標準の設定では入力内容が勝手に収集されます。
コルタナには死んでもらいました。コルタナの消し方。

これはひどいOSですね
Win10では収集したデータを切り売りして収益源としているようですが、プライバシーポリシーを読んで眩暈がしてきました。これはひど過ぎる。
アップデートでは水漏れを塞いだそばから別の場所から水が漏れる始末なので、アップデートの延期を選択できないHomeバージョンは買う気になれません。
アップデートの仕様がああなったのは修正プログラムの適用漏れによるニッチな不具合を根源的に潰そうということなんでしょうが、毎月アップデートする度にどこからか悲鳴が聞こえてくる有様では単純に人件費を削りたいだけにしか感じられませんね。
アップデートの品質がグダグダになって久しいですが微塵も改善する気配がないあたり、MSの経営者連中を木に吊るさない限り変わらないのではないかと
そんな感想を零さざるをえないですね。Windows0.10とかに改名しとけよと。なんとかしる。


 同人誌、同人ゲーム、同人ソフトのダウンロードショップ - DLsite.com

日記_20151215

2015121501先日のゆかりさんのセットアップでは物理演算の都合でJointの向きをボーンのローカル軸と一致させる必要がありました。








2015121502PMXEditorはボーンの位置と一致してJointを配置する機能はあるものの、ボーンの向きで設定する機能がありません。
ベクトルコピー&ペーストの機能はあるのですが、ボーンの向きはベクトルで保持しているのに対して、Jointは角度(Degree)であるためにコピー&ペーストできません。
プラグインを使うことで設定することができましたが、他が水が流れるようなスムーズさで設定できるだけに歯抜け感がありますね。




BL同人、BLゲーム、乙女ゲームのダウンロードショップ - Girl's Maniax

透過表現とAutoLuminous

2014082801透明な物体を表現するときに反射の表現は重要になります。
MMDでは物体を透明にする方法として材質の透明度を操作するか、テクスチャを透過させる方法がありますが、困った現象として、スフィアマップによる反射、映りこみもこれに合わせて透過されてしまい、効果が弱くなってしまいます。





2014082802この現象を回避する方法として材質、テクスチャを透過させるのではなく、スフィアマップに透過テクスチャを使用することで、スフィアマップの効果を維持したまま、透明な表現が可能になります。







2014082803材質、テクスチャを不透明にしてスフィアマップに背景を透過したテクスチャを"乗算"で適用しています。








ここまでは周知の事実であると思いますが、よく使われているMMEエフェクトのAutoLuminousを適用すると不具合があります。

2014082804画像右がスフィアマップを乗算で適用して透過表現をしているモデルですが、透過しているオブジェクトと重なる部分だけエフェクトの効果がトリムされています。






2014082805厄介なのがMMEのパネルで材質単位で描画のオン/オフ切り替えることができますが、透過している材質を非表示にしてもエフェクトの効果がトリムされたままになります。


この検証用のデータは透過している球の外に露出している部分があるので異変に気がつきやすいですが、発光しているところが完全に埋まっていると不備があるのがエフェクト側なのかモデル側なのか一見して判りません。
MMEのパネルで材質の描画を操作しても変化がないので早い段階でMME側の可能性を排除してしまい原因の特定に回り道をしてしまいました。

検証データ

201408310120140831追記
MMEのパネルのAL_EmitterRTから透過材質のチェックボックスを外して無効にすることでスフィアマップと発光を両立させることが出来ました。
テストデータでは"mat2"が球体の部分の材質になっています。



 Doujin manga and game download shop - DLsite English

日記_20140307-2

2014030707MMDの物理演算で気がついたことがあるので記します。
画像はロープに球体がぶら下がる構造のモデルで剛体を物理演算に設定しています。
左右の違いは剛体のサイズ以外にはありません。左のロープの剛体は0.01、右は0.3にしています。





2014030708MMDの物理演算を有効にしました。
左は少しでも動かすと物理演算が荒ぶります。
重力加速度を小さくして観察すると剛体が落下して元の位置に戻るような動作を繰り返しています。
剛体の質量、jointの設定は全く同じですが、剛体のサイズが極端に小さいと動作が変わることがあるようです。

実験に使用したデータはこちら


PMDEditor/PmxEditorが落ちる構成

先日公開したデータがPMDEditor/PmxEditorの"TransformView"を起動したときにエディタが落ちる不具合を抱えていました。
現象自体は確認していたものの、根本的な原因を特定できずに対処療法での対応となっていましたが、原因を特定できたので記します。


2013040601画像のような互いにボーンの付け根を向き合うボーンの構成があります。









2013040602どのような方法で実現しているかというと。

円筒部分のボーンの片方である"boneA"はIKを設定してあり、もう片方の"boneB"にリンクさせています。



2013040603"boneB"は"boneA"にIKをリンクさせています。





2013040604このような"相互にIKを適用"するボーン構成でTransformViewを起動させると再現性100%でエディタがクラッシュします。









同様の機能をエディタを落ちないようにして実現する方法を記します。
20130406052013040606先の構成に円筒のボーン("boneA""boneB")の付け根にダミーボーン("boneA_IK""boneB_IK")を設置します。
このダミーボーンにIKを設定して円筒のボーン("boneA""boneB")をリンクさせます。
こうすることで相互にIKを適用するボーンがなくなるのでTransformViewを正常に起動させることができます。


PMDEditor/PmxEditorでは相互にIKを適用する構成は不具合がでますが、MMDではどちらの構成も正常に動作しました。
PMDEditor/PmxEditorが完全にMMDの動作を模倣していないのが根本的な原因と考えられます。


検証に使用したテストデータを置いておきました。DLはこちら

20130429追記
この不具合はPmxEditor0.2.1.8で解消されました。


初期姿勢変更のトラブル-4

2013012701"PMDEditor"の"TranceformView"で適当に初期姿勢を変更します。
ここでは"頭"ボーンをY軸90度回転して"現在の変形状態でモデル形状を更新-頂点モーフ正規化"で変更を確定します。








2013012702するとある一部の"剛体"が機能しなくなることに気が付きました。
その剛体の設定です。
"回転"のZ軸が"無効な値"になっています。







2013012703こちらは"PMXEditor"で同様の操作を行いました。
こちらは正常な値になっています。








2013012704他にも"PMDEditor"と"PMXEditor"で変形操作後の結果に違いがありました。

PMXEditorで変形操作した後の設定です。
"回転"のZ軸の値は"90.00"になっています。







2013012705PMDEditorでは"回転"のZ軸の値は"90.00"ではなく、微妙にずれた値となっています。







このような結果を鑑みるにPMDEditorの不具合となりそうです。

PMDEditorは既に"開発終了"しておりバグフィクスもされません。
後継としてPMXEditorが開発されていますので、PMDEditorを使い続ける必然性が無いのであれば乗り換えたほうがよさそうです。

この検証に使用したソフトウェアは以下に記すバージョンを使用しました。
PMDEditor 0.1.3.9
PMXEditor 0.2.1.6


AutoLuminous3登場

毎度お世話になっているMMEエフェクト"AutoLuminous2"の後継である"AutoLuminous3"が登場しました。
いくつか機能面で拡張されていますが、その一つとして"材質モーフ"に対応するようになりました。
20130114012013011402
画像左がAutoLuminous2で右がAutoLuminous3を適用しています。
MMDの"表情操作"パネルにある材質モーフ"輝度"のスライダを操作しています。
スライダを右に動かすことで、発光箇所が暗くなるように材質モーフを設定していますがAutoLuminous2では材質モーフの結果が無視されるために光量に変化がありません。
AutoLuminous3では材質モーフに対応しているため、光量が変化し正しい効果を得ることができます。
私が制作してきた既存のモデルはAutoLuminous2にパッチを適用したバージョンでの使用が前提になっており導入に手間がかかりましたが、AutoLuminous3では公式のバージョンで対応できるようになりました。


AutoLuminousを使用するうえでの注意点

発光の表現としてMMEエフェクトの"AutoLuminous"を使用していますが、前回の制作で気がついたことがありました。

2012121607モデルの"セルフシャドウ"を"有効"にしたときに問題が起こります。










2012121608今まで"材質モーフ"を利用して材質の反射率を変えることでAutoLuminousの"光量"を調節してきました。
これが操作を加えない状態です。








2012121609"セルフシャドウ"が"無効"の状態では正常に動作します。
この場合では"AL輝度2"のモーフのスライダを右に動かすことで暗くしています。









2012121610"セルフシャドウ"が"有効"の状態では"材質モーフ"の結果が無視されるらしく、光量の変化が見られませんでした。

セルフシャドウはシャドウマップの精度の荒さとトゥーンレンダではあまり綺麗に描画されないという理由から無効にしていることが多かったので見落としていました。






2012121611これに関連して、シェーダー系エフェクトを適用したときにも"材質モーフ"が機能しない現象に気がつきました。

これが通常の状態で。








2012121612材質モーフで発光部分が暗くなります。










2012121613シェーダー系エフェクト"Mechanic"を適用しました。
材質モーフの結果が無視されます。
他のシェーダー系エフェクトでも同様の結果となったのでMMEを使用すると材質モーフは大きく制限されるようです。







"AutoLuminous"はコントローラーとなるアクセサリの値を変更することで光量を変更することができますが、それは"シーン全体"に及び、"あるモデルに限定"して操作することが出来ません。
しかし、解決方法はあります。
"AutoLuminous"のファイルに含まれる説明文にはこのようにあります。
---以下引用---


■ 表情による個別発光制御

PMDまたはPMXモデルの場合、以下のような名前のダミー表情を
モデルに組み込むことで、モデル個別に発光を制御できます。
必要なものだけ選んでもかまいません。

・LightUp
・LightOff
・LightBlink
・LightBS
・LightUpE (New!)
・LightDuty (New!)
・LightMin (New!)

"LightUp"および"LightOff"では光量を調整できます。
LightUpでは最大3倍まで明るくなります。
LightOffではMAXで完全に発光が消えます。

"LightBlink"および"LightBS"というダミー表情を使うと、
発光の点滅をモデル個別制御できます。
"LightBlink"はサイン波点滅、LightBSは矩形波点滅をします。
最大で10秒間隔になります。

"LightUpE"では、明るさが指数関数的に上昇します。
最大で400倍まで上昇します。
"LightDuty"は点滅のオンとオフの比率を変えることができます。
"LightMin"は点滅時の最小明るさを設定できます。


これらダミー表情が使えるのはスペキュラ強度を利用して発光指定した場合だけです。


---引用ここまで---


"ある文字列のモーフ"を"AutoLuminous"のコントローラーとして扱うという仕様になっており、"モデル個別"での制御が可能になります。


2012121614操作用のモーフを追加したモデルです。
モーフ"LightUp"で明るく。









2012121615モーフ"LightOff"で暗くなります。
"LightOff"は"LightUp"に優先します。
目出度く解決しましたが、この方法にも欠点があり、"材質単位"での光量の調節ができません。
そこだけ残念です。






過去に作ったデータはそのうち修正する予定です。
中の人が修正するまで待てないよという人は修正データを用意しましたのでPMDEditorかPMXEditorで適用してください。


修正データ


以下に適用方法を記します。環境はPMDEditorを使用しています。

2012121616"モーフ"タブで右側のモーフが表示されているところで右クリックして"CSVファイルから追加/更新"から修正データのCSVを読込みます。









2012121617"AutoLuminous"のコントローラーとなるモーフが追加されました。







2012121618"表示枠"タブで追加されたモーフを任意の"表示枠"に追加すれば作業終了です。
これで光量の調節が可能になります。
修正データは一切に変更を加えないダミーモーフとなっているのであらゆるモデルに適用できます。



追記20121217
2012121701"材質モーフでAutoLuminous2"を使用することで材質モーフを使用して材質単位で"AutoLuminous"の光量を調節できることを確認しました。
"AutoLuminous"+"材質モーフでAutoLuminous2"を導入した環境で使うようにしてください。
あまり環境の要求を高くするのは良くないので、今後のモデルは"LightUp""LightOff"で基本的な光量の操作をし、
それで足りない部分は材質モーフで材質単位の光量の調節を行うようになるとおもいます。
今回の解決策の情報を提供してくださりました"ななし"氏に感謝いたします。
配布動画はこちら


追記20130114
AutoLuminous2の後継であるAutoLuminous3では材質モーフに対応するようになりました。
これにより、プリセットされたダミーモーフ以外でも光量のコントロールが可能になりました。



頂点モーフ適用後の描画について

頂点モーフに関して、ある現象を見つけました。

2012102701このボックスをX軸180度回転させた頂点モーフを作成し、天地が逆転するモーフを適用してみました。









20121027022012102703左がセルフシャドウOFF、右がセルフシャドウONにしてあります。
ボックスに対してモーフの操作を行ったことを除いては、一切の変更を加えていません。見てのとおり、陰の付き方が天地逆転しています。
MMD以外にPMDEditorとMikuMikuMoving(MMM)でも同様の描画結果となりました。




原因については推測になりますが、頂点シェーダーの仕様によるものではないかと考えています。
ポリゴンの描画はピクセルシェーダーと頂点シェーダーの二つに分類することが出来ます。
ピクセルシェーダーはスクリーンのピクセル単位で光源からの光量を計算して塗りつぶしているのに対して、頂点シェーダーはポリゴンの頂点単位で光源からの光量を計算して、ポリゴンはそれに属する頂点の色をブレンドした色で塗りつぶします。
ピクセルシェーダーに比較して精度は劣るものの、処理負荷の低さから高速に描画することが出来ます。
頂点単位で計算しているので、データサイズも小さく、値を保存しておくことも容易であり、事前に計算した値を保存しておいて、更に高速で描画するということも出来ます。
MMDは頂点シェーダーによる描画であるようなので、今回の描画を見るに、あるフレームにおいて、
1.ポリゴンモデルの各頂点を計算して値を保存。
2.頂点モーフ変形
3.保存した値を使用してポリゴンを描画
という順番で処理が行われているのではないかと推測するところです。
シェーダー系のMMEエフェクトを適用しても効果が無いので、あまり大きく面の向きが変化する頂点モーフは使わないというのが消極的な解決方法になるかと思います。



初期姿勢変更のトラブル-3

2012102501SDEFを適用した場合に、捩りボーンの影響を受けるポリゴンが、捩りボーンを回転させたときに歪んで変形してしまう現象の解決方法を記します。









2012102502PMDEditorで姿勢を変更した後で、捩りボーンの影響を受ける範囲の頂点を選択します。









2012102503"PMDView"の"編集"メニューから、"ウェイト関連"の"選択頂点をSDEF設定"を実行します。









2012102504これで歪むことなく滑らかに変形するようになりました。










この問題の解決に繋がる助言をして戴いた、でで氏には深く感謝いたします。



作品一覧
サークルプロフィール
メールアドレス
kuroyu128■gmail.com
■→@に変換してください。
最新コメント
記事検索
  • RSS
  • Dlsite blog