KrShaderSytem使い方入門
Added 2021-08-13 13:02:27 +0000 UTCちょっと問い合わせがあったのでわかりづらいかもしれませんが記事にまとめます。 まず推奨される下準備としてスカイドームの配置があげられます。 これはMMD画面上に空白地帯を作らないための措置です。 スカイドームやモデルを読み込んだらまず初めに MainSystemD.x MainSystem.x を上記の順番に読み込み、使用したいモデルにShader_simple.fxを割り当てます。 この作業で行っていることは MainSystem.xで各タブから情報を用意 MainSystemD.xで描画 それをShader_simple.fxでモデルに適応 となります。 (MainSystemD.xでスクリーンスペースですべて描画されるので、メインタブでスカイドーム以外を非表示にしてスカイドームだけにShader_simple.fxを割り当てるという方法もあります。 またMainSystem.xはPostSimpleB.xを代替するので、KrShaderSystemを使用の際にPostSimpleBのエフェクトを使用する場合、PostSimpleB.xは不要です。ていうか読み込まないでください) NormalKrssMapRTタブでは割り当てたfxファイルから主に法線マップなど(凸凹間など)を、MaterialKrssMapRTタブでは割り当てたfxファイルから材質を決定します。 影中心はMainSystem.xの座標、シャドウマップの広さはMainSystem.xのSi値で決定されます あとは環境光各種の調整となります。 環境光について EnvC.x…偽環境光 MainSystem.xのRy値で拡散光を調整(-1でゼロ) MainSystem.xのRz値でスペキュラを調整(-1でゼロ) SSAO…スクリーンスペースでの遮蔽。 MainSystem.xのRx値で調整(-1でゼロ) MainSystemD.xのZ値を1にすると直接光にも作用 SSGI…スクリーンスペースでの環境光。 カメラアングルの影響を受ける。 MainSystemD.xのRx値で調整(-1でゼロ) SSR…スクリーンスペースでの環境光(鏡面反射)。 カメラアングルの影響を受ける。 MainSystemD.xのRy値で調整(-1でゼロ) LSGI…ライトスペースでの環境光。KrShaderSystemHのみ モデルやステージに当たった直接光からの反射 MainSystemD.xのSi値で調整(0でゼロ) とりあえず急ぎで書いてみました。時々手を入れるかもしれません