ランバート
もっとも基本となるシェーダーです。
ディフューズ、アンビエントの値を個別設定することができます。
(例)
-l[0xffffff,0x000000] ・・ フラグ名[ディフューズ色、アンビエント色]
フォン
ハイライトのある質感を表現するのに適しているシェーダーです。
ディフューズ、アンビエント、スペキュラ、スペキュラ範囲、スペキュラ強度の値を個別設定することができます。
ハイライトの影響範囲をテクスチャで指定することも可能です。
(例)
-p[0xffffff,0x000000,0xffffff,10,10][mask.tga] ・・フラグ名[ディフューズ色,アンビエント色,スペキュラ色,スペキュラエリア,スぺキュラ強度][スペキュラマスクテクスチャ]
トゥーン
アニメキャラをリアルタイム3DCGで再現するためにチューニングを施したシェーダーです。
パーツごとにトゥーンのシェーディングを個別設定することが可能です。
シェーディングに使用するテクスチャをxファイルと同じフォルダに保存し、テクスチャ名をフラグに設定してください。
(例)
-t[shade.bmp] ・・フラグ名前[トゥーンシェーディングテクスチャ名]
輪郭線
ピクセルシェーダーによる輪郭線描画に対応しています。
(例)
-ol(-outline) 輪郭線ON
-old 深度輪郭線
-oln 法線輪郭線
墨汁
輪郭線の一種です。
アウトラインに強弱のある輪郭線を描画することができます。漫画や墨絵の様な表現をしたい時に便利です。
(例)
-sumi
シャドウマップ
PSSM技法を用いて作成された、高品位のシャドウマップ(影生成技術)です。
独自のチューニングを施し、影のアウトラインをシャープなアニメ風に表現することが可能になりました。 シェーダーエディタでカラー設定を行うことによって、パーツごとにシャドウの色を自由にコントロールすることが可能です。
(例)
-ss-0x554F1C1 ・・・ フラグ名[シャドウカラー]※通常版
-ssb-0x554F1C1 ・・・ フラグ名[シャドウカラー]ぼかし入りシャドウマップ
-ssp-0x554F1C1 ・・・ フラグ名[シャドウカラー]トゥーン用シャドウマップ
αを適用したオブジェクトなど、影を落としたくないオブジェクトにはシャドウ生成をオフにするフラグが実装されています。
描画負荷の軽減や影を落として欲しくないデータにはこのフラグを適用してください。
(例)
-soff ・・フラグ名
シャドウを生成するには地形の定義が必要です。デフォルトではgrod.xオブジェクトに対して、地形の定義が行われています。
地形の設定をgrid.x以外に変更するには、新たに定義を行うデータをメインツールバーのリストから選択して、
マテリアルシェーダーエディタを開き、以下のフラグを設定してください。
(例)
-shadowMapSrc ・・フラグ名
キューティクル
髪の毛のキューティクルを再現するためのシェーダーです。
テクスチャを球状にゆがめて投影するスフィアマップと呼ばれる技法を採用しています。 独自のチューニングによって、従来の手法よりも綺麗に投影することができるようになりました。
投影する部位の中央にヌルを設定することで歪みなくテクスチャを投影することが可能です。
(例)
-th{hair_center} フラグ名{センターのヌルの名前}
環境マップ
物体への映り込みを表現するシェーダーです。 マスク用のテクスチャを適用することによって映りこみの度合いを調整することができます。
加算(add)、減算(sub)、乗算(mul)、オーバーレイ(ol)の4種類の計算方法を選択することで投影結果を変化させることが出来ます。
(例)
-r(add)[refmap.tga][refmask.tga] 環境マップフラグ(レイヤーフラグ)[環境マップのパス][マスクテクスチャのパス]
ハーフランバート
ランバートシェーダーに若干アレンジを加えたシェーダーです。暗い部分(アンビエント)がランバートシェーダーと比べて若干明るくなるのが特徴です。
数学的には正しくない表現ですが、表現としてはこちらのほうがリアルに見えるということで、多用されているテクニックです。
(現実では環境光があるので必ずしも陰が真っ暗になるとは限らないという理論)
ランバートと同様に、ディフューズ、アンビエントの値を個別設定することができます。
スペキュラ付きのバージョン(-hlp)もあります。
(例)
ハーフランバート -hl[0xffffff,0x000000] ・・ フラグ名[ディフューズ色、アンビエント色]
ハーフランバート+スペキュラ -hlp[0xffffff,0x000000,0xffffff,10,10][mask.tga] ・・フラグ名[ディフューズ色,アンビエント色,スペキュラ色,スペキュラエリア,スぺキュラ強度][スペキュラマスクテクスチャ]
ノーマルマップ(法線マップ)
高解像度モデルの法線情報をテクスチャに与えることができるシェーダーです。
実際に凸凹しているわけではないのですが、光の当たり方が高解像度モデルと同等になるため、最近のリアル表現には欠かせないテクノロジーとなっています。
スペキュラなしの-nと-スペキュラ付きの-npの二種類のシェーダーを実装しています。
※V1.1では-nと-npを統合しし、-nのみの実装としました。
(例)
-n[normalmap.tga][0.1] ・・フラグ名[ノーマルマップ名][ノーマルマップの適用レベル(1.0が影響なし)]
-np[normalmap.tga][1.0,0.3,0.7] ・・フラグ名[ノーマルマップ名][スペキュラエリア,スペキュラ強度,ノーマルマップの適用レベル]※スペキュラマップ(マスキング処理)はV1.0(コミケ78版)では未実装です
-n4 ・・ Tangent〈デバッグ用フラグ)
-n5 ・・ Binormal〈デバッグ用フラグ)
-n6 ・・ Normal〈デバッグ用フラグ)
※V1.1
-n[normalmap.tga,mask.tga][0.8,0.2,0.7,0xfffff] ・・フラグ名[ノーマルマップ名、スペキュラマスクテクスチャ名][スペキュラエリア,スペキュラ強度,ノーマルマップの適用レベル,スペキュラカラー]
リムライト
逆光を表現するシェーダーです。
カメラがライトに対して逆光の位置になった場合、オブジェクトのアウトラインにハイライトを描画します。
派生品として、アウトラインに対して常にハイライトを発生させるリムライト2があります。
(例)
リムライト1 -rm[0xffffff, 3, 5] ・・フラグ名[色, 強度, 乗数(例)]
リムライト2 -rmt[0xffffff, 3, 5] ・・フラグ名[色, 強度, 乗数(例)]
グレア
発光表現ができるシェーダーです。
美しいエフェクトの作成に威力を発揮します。
(例)
-glare[ 1.0 , 0xffffff] ・・フラグ名[閾値, グレアカラー]
カリングの設定
ポリゴンの作画方法(カリング)の指定を行うフラグです。表のみ、裏のみ、両面のみの三種類を指定できます。
(例)
表のみ -ffc ・・ フラグ名
裏のみ -bfc ・・ フラグ名
両面 -dfc ・・ フラグ名
オブジェクト算術
オブジェクトの描画の計算方法を指定するフラグです。加算、減算、乗算、オーバーレイの4種類があります。
※V1.0(コミケ78)版のユーザー様へ モデルプロパティでX,Z反転にチェックが入っている場合正常動作しません。
上記バージョンではaddのみの実装となっております。あらかじめご了承ください。
(例)
加算 -add
減算 -sub
乗算 -mul
オーバーレイ -ol
シェーダー算術
シェーダーの計算方法を指定するフラグです。加算、減算、乗算、オーバーレイの4種類があります。
ランバート、フォン以外の全てのマテリアルシェーダーに対して設定が可能です。フラグ名の後ろに()を記述し、その中に計算方法を示す文字列を指定してください。
(例)
加算 -r(add)[refmap.tga][refmask.tga] 環境マップ(算術フラグ)[環境マップのパス][マスクテクスチャのパス]
減算 -rmt(sub)[refmap.tga][refmask.tga] リムライト2(算術フラグ)[環境マップのパス][マスクテクスチャのパス]
乗算 -np(mul)[refmap.tga][refmask.tga] ノーマルマップ+スペキュラ(算術フラグ)[環境マップのパス][マスクテクスチャのパス]
オーバーレイ -tl(ol)[refmap.tga][refmask.tga] キューティクル(算術フラグ)[環境マップのパス][マスクテクスチャのパス]
UVアニメーション
UVスクロールアニメーションを設定するフラグです。
実装にあたり検証を行いましたが、この値のアニメーションはフリーのエクスポータで直接出力することは難しいようです。
FUNでは.Xファイルが出力できるCGツールならなら何でもOKというのが開発の大前提です。そこで、今回は間接的なアプローチで実装を試みました。
各CGツール上でUV値をヌルにエクスプレッションなどでリンクさせて、そのヌルをプロットしてアニメーションを.Xファイルに出力してください。
CGツール上で設定したUVスクロールアニメーションをFUNに送り込むことが出来ます。XがU値、YがV値に対応しています。
(例)
-uva[l_eye_mat,1,0 ] フラグ名[UVスクロールのアニメーションが設定されたヌルの名前,X軸反転フラグ(1であれば反転)、Y軸反転フラグ(1であれば反転)
αブレンディング
テクスチャのαチャンネルを参照し黒く塗りつぶされた部分を透過処理する機能です。
-texAlphaフラグを設定することで閾値を設定し、それ以下の値は強制的に透過させることが可能です。
(例)
-alpha ・・・ フラグ名
-alpha-texAlpha[0.1] ・・・ フラグ名 フラグ名[透過の閾値]
スキンシェーダー(Subsurface scattering)
皮膚、大理石、ミルクのような材質を再現するためのシェーダーです。
光が半透明な物体の表面を透過し、内部で錯乱した後に出てくるメカニズムをシミュレートします。
2000年初頭にハリウッド映画で使用されたテクニックで、ハリーポッターのドビー、スターウォーズのヨーダ、ロードオブザリングのゴラム
など、cgキャラクターの表現に用いられていました。
(例)
-sss[25][0.05]-ffc ・・・ フラグ名 [ 厚み強度 ] [ 色強度 ] -ffc もしくは -dfc(※表面となるサーフェイスを明示)
※コミケ78版には実装されておりません。V1.1以降で実装となります。
















