-
Notifications
You must be signed in to change notification settings - Fork 17
UnToon Manual
ここでは UnlitWF/UnToon の設定について解説します。 内容は最新のリリースに基づいて記載しますが、必ずしも最新の状態を反映しているわけではなく細部に違いがある場合もあります。ご了承ください。
インスペクタの最下部に Editor language
の設定があります。『日本語』にすると設定項目名が日本語化されます。
これはUnityEditorで共通の設定のため、どこかひとつのマテリアルで設定されると他マテリアルでも設定が引き継がれます。
インスペクタ最上段に、現在使用しているシェーダの説明が表示されます。
-
Variant
を切り替えると、Outline や Mobile などへとシェーダを切り替えることができます。 -
RenderType
を切り替えると、Opaque や Transparent などの描画モードを切り替えることができます。
インスペクタ最上段に メインテクスチャ
マテリアルカラー
の設定項目があります。
Culling を操作できるバリアントでは カリングモード
も現れます。カリングモード
のないバリアントは常に Cull OFF で描画されます。
透過についての設定です。
-
アルファソース
では、透過に使用するAlpha値の参照先を指定できます。- MAIN_TEX_ALPHA は
Main Texture
およびColor
のAlpha値で透過します。 - MASK_TEX_RED は
アルファマスク
のRチャンネルを参照します。 - MASK_TEX_ALPHA は
アルファマスク
のAチャネルを参照します。
- MAIN_TEX_ALPHA は
-
アルファ強度
は、透過具合の調整用です。0で透明、値が大きくなるほど不透明に近くなります。 -
フレネル強度
は、浅い角度で面をみたときの透過具合を調整します。0では調整なし、値が大きくなるほど浅い角度で不透明に近くなります。
ノーマルマップについての設定です。ノーマルマップを1枚使用可能な他、Detail Normal として Secondary も使用できます(Mobile版を除く)。
-
影の濃さ
ではノーマルマップによる陰影の濃さを設定できます。0 は影が付きませんが、0 であっても凹凸の情報は Metallic, Matcap, ToonShade に伝達され描画されます。 -
ミラーXY反転
ではUVが反転している箇所 (ミラーモディファイアを使用した箇所など) にて NormalMap を反転させるオプションです。 -
2ndノーマルマップ
を使用する際は2ndマップの混合タイプ
を選んでください。- OFF では2ndマップを合成しません
- BLEND では1stノーマルと2ndノーマルを混合します
- SWITCH では1stノーマルを使用せず2ndノーマルに切り替えます
-
2ndノーマルマップは効果範囲をマスクテクスチャで指定することができます。
2ndノーマルのマスク
にマスクを設定してください。
金属表現についての設定です。Reflection と Specular の設定ができます。
-
メタリック強度
は 0 が非金属、1 が金属となるパラメータです。Standard Shader での Metallic パラメータに相当します。 -
滑らかさ
は 0 が荒い、1 が滑らかとなるパラメータです。Standard Shader での Smoothness パラメータに相当します。UnToon では Reflection 用と Specular 用にそれぞれの Smoothness を設定できます。 -
MetallicSmoothnessマップ
は Standard Shader でも用いられるメタリックマップ(RチャンネルにMetallic、AチャンネルにSmoothness)を指定できます。 -
Roughnessマップ
は、Standard Shader (Autodesk Interactive) でも用いられるラフネスマップを指定できます。Roughnessマップと MetallicSmoothnessマップは併用可能で、Autodesk Interactive で使用できる MetallicMap + RoughnessMap を流用できます。 - Metallic Secondary では、ReflectionProbeからの環境マップではなく独自のCubeMapを設定できます。
- OFF では
キューブマップ
を使いません。 - ADDITION では環境マップと
キューブマップ
を加算合成して使用します。 - ONLY_SECOND_MAP では、環境マップは使用せず
キューブマップ
のみを使用します。
- OFF では
-
モノクロ反射
を 0 にすると、環境マップ/キューブマップの明度のみ反映し、色彩は Albedo をそのまま用います。1 にすると環境マップ/キューブマップの色彩をブレンドした色が反射光となります。
Matcapについての設定です。UnToonでは MEDIAN_CAP, LIGHT_CAP, SHADOW_CAP の3種類の Matcap を扱うことができます。
-
matcapタイプ
から Matcap の種類を選んでください。以下の3種類を使うことができます。- MEDIAN_CAP 灰色を基準とした、加算合成(減算合成も)を行う matcap
- LIGHT_CAP 黒色を基準とした、加算合成を行う matcap
- SHADE_CAP 白色を基準とした、乗算合成を行う matcap
- matcap画像は
matcapサンプラ
にて指定してください。 -
matcap色調整
では、matcapサンプラの色調を調整できます。 -
視差(Parallax)
は matcap の視差について調整できます。1 にすると右目左目で光沢の位置が変化します。0 にすると右目左目で位置が変化しません。金属光沢を matcap で表現する時は大きめの値に、影を matcap で表現する時は小さめの値にすることがおすすめです。シングルパスステレオではない場合は無効です。
表面にラメ(Lamé, 金属粉)を追加します。
-
ラメ色
ではラメの基本色を指定します。実際に描画されるラメの色はラメ色.RGB ± ランダム色パラメタ.RGB
で、さらにこれに強度を考慮した色が画面に描画されます。 -
スケール
ではラメの大きさ、密度
はラメの量を調整できます。 -
きらきら
を強くすると、ラメの光量がより強まります。 -
距離フェード開始
は、ラメが見える最大距離を指定します。カメラとメッシュの距離が指定された距離以上になるとラメの効果は弱まり、最終的には不可視になります。 -
スポットフェード強度
は、ラメの見える範囲を指定します。強くするとカメラに対して正面を向いたラメのみが見えるようになります。 -
アニメ速度
は、ラメの明滅速度を指定します。値が大きいほど周期が短くなります。値が0
のとき、明滅せず常に可視になります。
階調影についての設定です。
- UnToon の ToonShade は、
ベース色
に指定された色が1影色
および2影色
となるように描画されます。- 数式で表すと
color.rgb *= 影色.rgb / ベース色.rgb
となっています。 - それぞれの色をテクスチャによって指定することもできます。
- 数式で表すと
-
ベース色
に基準色をスポイトし影色を自動設定する
の APPLY ボタンを押すと、ベース色を元に1影色および2影色を自動で設定します。 -
アンチシャドウマスク
は、影のかかりにくい部分を白色、そうではない部分を黒色としたマスクテクスチャを指定します。- もっぱらアバターの顔に影をかけないよう指定するためのマスクテクスチャです。
- 顔マテリアルが他と独立しているのであれば、テクスチャは指定せず
マスク反転
をチェックするだけでも効果があります。(テクスチャ未指定=黒色の状態にてマスク反転するので、全域が白色となり影がかかりにくくなる)
リムライトの設定です。
-
混合タイプ
を ADD(加算合成) と ALPHA(ブレンド) から選ぶことができます。 - 強度は
強度(マスター)
にて調整できます。方向によって変化させるときはさらに強度(上)
強度(横)
強度(下)
で変化させることもできます。
デカールテクスチャの設定です。Detail Albedo などの詳細マップを使用できます。
-
デカールテクスチャ
にテクスチャを設定してください。Tiling と Offset を MainTexture とは別に指定できます。 -
UVタイプ
にて Decal Texture の座標系を選ぶことができます。- UV1: MainTextureと同じUV座標系で描画します。
- UV2: UV2の座標系で描画します。
- SKYBOX: SkyBoxのような天球座標系で描画します。Decal Texture は Latitude-Longitude 型レイアウトとして扱われます。
- ANGEL_RING: エンジェルリング matcap 用の座標系です。Y座標を
UV2.y
から参照するUTS互換形式です。UV2.y
との混合強度はCustom Parameter 1
で指定します。
-
混合タイプ
では、Decal Texture のブレンド方法を指定できます。- ALPHA: アルファブレンド
- ADD: 加算合成
base.rgb + decal.rgb
- MUL: 乗算合成
base.rgb * decal.rgb
- ADD_AND_SUB: 加算合成の亜種で、零点が黒ではなく灰色のものです。
base.rgb + decal.rgb - GRAY.rgb
- SCREEN: スクリーン合成
1 - (1 - base,rgb) * (1 - decal.rgb)
- OVERLAY: オーバーレイ合成
lerp(2 * base.rgb * decal.rgb, 1 - 2 * (1 - base.rgb) * (1 - decal.rgb), step(calcBrightness(base.rgb), 0.5))
- HARD_LIGHT: ハードライト合成
lerp(2 * base.rgb * decal.rgb, 1 - 2 * (1 - base.rgb) * (1 - decal.rgb), step(calcBrightness(decal.rgb), 0.5))
エミッションと EmissiveScroll の設定です。
- Emission Map および Emission Color を
Emission
に設定してください。 -
混合タイプ
を ADD(加算合成) と ALPHA(ブレンド) から選ぶことができます。 - EmissiveScroll の
波形
を数種類から選ぶことができます。- CONSTANT スクロールせず、常に最大出力で Emission を適用します。Standard Shader での Emission 設定の代替として使用できます。
- STANDARD, SAWTOOTH. SIN_WAVE Emission 設定に応じて、光る部分をスクロールさせます。
-
方向の種類
では、スクロールするときの座標系を WORLD_SPACE(ワールド空間)、LOCAL_SPACE(ローカル空間)、UV1、UV2 から選ぶことができます。
アウトラインについての設定です。
- アウトラインの描画方法を
線の種類
から選択できます。- NORMAL メッシュの法線方向に沿ってアウトラインを膨らませる、通常の描画方法です。
- EDGE ハードエッジに強いアウトラインの描画方法です。
- アウトラインの色を
線色テクスチャ
から指定することもできます(UVはMainTextureと同じ)。ブレンド強度は線色テクスチャとブレンド
にて調整してください。 -
カメラから遠ざける
を調整することで、アウトラインのメッシュを近づけたり遠ざけたりすることができます。
Occlusion Map と Lightmap の設定です。
-
オクルージョンマップ
に Occlusion Map を設定してください。 - Lightmap static を付与したメッシュであればライトマップを読み取ることができます。
ライトマップも使用する
にチェックを入れてください。 - オクルージョンマップやライトマップの合成にて
明るさ
とコントラスト
を調整できます。
ライトに対する反応の設定です。
-
Unlit Intensity (最小明度)
は、ライトの明るさが 0 のときに明度に乗算される係数です。0 に指定すると明るさ 0 のときに真っ黒(明度が0)になります。1 に指定するとライトの明るさに依らずUnlitのように明るく描画されます。初期値 0.125 では暗くなりますが、明るさ 0 でもテクスチャの模様は判別可能です。 -
Saturate Intensity (飽和明度)
は、明度1.0倍となるライトの明るさを設定します。低い値を指定すると、多少暗くても指定された値以下にならないとライトの明るさに反応しないようになります。 -
Chroma Reaction (彩度)
はライト色彩に対する追従度です。0 ではライトの色彩に反応しません。値を大きくするほどライト色彩に影響するマテリアルになります。初期値 0.8 では「ライト色彩の影響は受けるが、Standard Shader と比較すると色付きが穏やか」に調整されています。 -
他の物体に影を落とす
は、SkinnedMeshRenderer のCast Shadows
と同様の設定項目です。チェックを外すと影を落としません。
UnToonのライト応答特性は、次のようにクランプ付き1次関数となっています。Unlit Intensity
と Saturate Intensity
は以下のようになります。
ライティングに関する追加の設定です。通常は変更する必要はありません。
-
太陽光のモード
では、マテリアルが基準とする Realtime Light を選ぶことができます。- AUTO ワールドに配置されたライトを元に自動で Realtime Light を選択します。
- ONLY_DIRECTIONAL_LIT ワールド内の Realtime Directional Light、厳密には Light0 を基準にします。
- ONLY_POINT_LIT ワールド内の Realtime Directional Light、厳密には Light1 を基準にします。
-
CUSTOM_WORLDSPACE 下欄
カスタム太陽の方角
カスタム太陽の高度
で指定されたワールド方向を光源として扱います。 -
CUSTOM_LOCALSPACE 下欄
カスタム太陽の方角
カスタム太陽の高度
で指定されたローカル方向を光源として扱います。
-
逆光補正しない
にチェックすると、光源方向による ToonShade と RimLight の補正をしません。- ワールド構造物のように、static かつ大きなメッシュである場合にはチェック推奨です。
-
メッシュ原点を取得しない
にチェックすると、一部の処理でメッシュ原点を取得しないようになります。- Batching Static を付与したメッシュ(バッチ処理にて原点位置が変わってしまう)である場合にはチェック推奨です。