個人的なメモ用です。成人向けの内容を含みます!未成年の方はご覧にならないでください!

MMDの描画(描写)順の話です。



描画(描写)順

MMDは基本、先に読み込んだものから描画されます。

具体的には、複数のアクセサリ(.x)とモデル(.pmx)が読み込まれている場合、
アクセサリ編集 [1]番目より後のアクセサリはモデル描写後に描写する となっている場合、
アクセサリ1.x→モデル.pmx(読み込んだ順またはモデル描画順で指定されている順)→アクセサリ2.x→アクセサリ3.x→...と描画されます。

とは言え人型モデルを読み込んだ後にステージやスカイドームを読み込んでもステージやスカイドームに人型が上書きされて表示されない...と、いったことはありません。
問題は透過材質や透過情報を含むテクスチャが使用された材質のモデルの描画順です。


画像左のような透過情報を含んだテクスチャを使用したパネルがあるとします。
それを画像中央のステージ、モデルの順で読み込んだシーンに人型モデルの手前に読み込ませると右のように表示されます。


これは正しい描画順です。

これをMMDのモデル描画順から人型モデルを一番下にします。


すると人型モデルが表示されなくなりました。画像右、斜めから見るとパネルにかかる部分だけ人型モデルが表示されません。

これはMMDのモデル描画順でステージ→パネル→人型モデルの順に描写(いわば計算)されているのに、視点からではステージ→人型モデル→パネルの順になっているためです。

ステージ→パネル→人型モデルの順に描写(いわば計算)しているため、パネル越しに見てもパネルの描写時(描写前)にモデルが描写されていないからモデルが表示されません。

これが問題となるのが窓(透過画像を含む)がある部屋ステージにスカイドームを読みんだ際などです。
窓の描写時にスカイドームがまだ描写されていないのでそのあとにスカイドームを読み込んでも窓の外は真っ暗or真っ白になります。

その場合はモデル描画順で上から順にスカイドーム→部屋ステージ、とすることで正しく描写されます。

また、モデル内の材質でも同様の描写がされます。
PMXEditorの材質タブで上の材質から描写され、一番下の材質は一番最後に描写されます。
そのため透過を含む材質、例えば頬染めや照れモーフの材質などは顔材質より下に位置しないと正しく描写されません。
タグ

管理人/副管理人のみ編集できます