DirectionalSphereの自分用メモ
閉じる
閉じる

新しい記事を投稿しました。シェアして読者に伝えましょう

×

DirectionalSphereの自分用メモ

2014-09-15 15:44
    Caeruさんのエフェクト(シェーダー)

    DirectionalSphre
    https://skydrive.live.com/?cid=9bd87d92867ebedd

    ※画像はCaeruさんのツイートの転載です(リンクが転載元)


    https://twitter.com/Caeru_Odin/status/461094529416708096

    効果)
    カメラのZ軸回転にスフィアの方向が付いていくようにする

    利点)
    髪の毛の天使の輪などが崩れない

    欠点)
    スフィアのZ軸回転を固定するので不自然な材質もあるかも?
    動いているとわかりにくいのでどちらかというと静画向き

    使い方)
    単独でシェーダーとして使えるけど他のシェーダーに組み込み可能
    (舞力介入Pのfull.fxシェーダーがベース)

     ①「DirectionalSphere.h」というファイルを組み込むシェーダーのフォルダに入れる
     ②シェーダー冒頭の「パラメーター宣言」付近に.fxの以下をコピペ

        // パラメータ宣言
        // LocalNormalToDirSphのアレをインクルード
        #include "DirectionalSphere.h"
        // LocalNormalToDirSph関数を使えるようにします
        DEC_LOCAL2DIRSPHERE( "頭", float3( 0, 1, 0 ) );
        // スフィアのUV計算のところでLocalNormalToDirSphを呼んでます

     ③「スフィアマップテクスチャ座標」近辺を書き換え
      (シェーダーによってパラメーター表記などに多少違いあり)

        if ( useSphereMap ) {
        if ( use_subtexture ) {
        // PMXサブテクスチャ座標
        Out.SpTex = Tex2;
        } else {
        // スフィアマップテクスチャ座標
        Out.SpTex = LocalNormalToDirSph( Out.Normal );
        }

    例1)AlternativeFullの場合
    https://twitter.com/Caeru_Odin/status/494156925005619201

     メモ:「AlternativeFull.fxsub」は上書き保存してもMMD上では自動更新されない
        「.fx」を上書き保存するか、読み込み直さないと書き換えが反映されない

    例2)HAToon2の場合
    https://twitter.com/Caeru_Odin/status/502146662790221824

     メモ:「HACore.hlsl」を書き換える
        「.fx」を更新しないとMMD上に反映されないのは(例1)と同じ
        M4Toonなども同様に書き換え可能


    広告
    コメントを書く
    コメントをするには、
    ログインして下さい。