====== MToonリファレンス ====== MToonとは **アバター(VRM)とアイテム(VCI)で使用可能なトゥーンシェーダー**です。 * [[https://github.com/vrm-c/UniVRM | UniVRM github]] (MToonが含まれています) * [[https://www.slideshare.net/VirtualCast/vrm-mtoon|VRM 標準シェーダ MToon の使い方]] **公式スライド** ===== プロパティー ===== ^ Rendering (Mode) ^^ | Rendering Type | 基本的に**Opaque**を使用します。\\ 半透明のテクスチャを使用する時はTransparentに設定してください。 | | Cull Mode | 基本的に**Back**を使用します。\\ Offにする事でメッシュが両面表示されますが、描画負荷が高くなります。 | ^ Color (Texture) ^^ | Lit Color, Alpha | テクスチャを設定します。\\ カラーの設定はテクスチャ全体に適用されます。 | | Shade Color | テクスチャを設定します。\\ **カラーの設定は1影の色**として適用されます。\\ | ^ Lighting ^^ | Shading Toony | 影の境界線のなめらかさ。\\ 0に近づくほど境界線がボケて、1に近づくほど境界線がハッキリします。 | | Normal Map | [[https://docs.unity3d.com/ja/current/Manual/StandardShaderMaterialParameterNormalMap.html | ノーマルマップ(法線マップ)]]を設定します。\\ | ^ Lighting (Advanced Setting) ^^ | Shading Shift | 影のかかる領域を調整します。\\ -1に近づくほど影が落ちなくなり、1に近づくほど影の面積が増えます。\\ | | Shadow Receive Multiplier | 影を弱める領域をマスクで指定します。\\ 顔だけに影が落ちてほしくない時などに有効です。 | | Lit & Shadow Mixing Multiplier | 影を強める領域をマスクで指定します。\\ この項目は[[http://unity-chan.com/download/releaseNote.php?id=UTS2_0 | UTS2]]のShadingGradeMapと互換性があります。 | | LightColor Attenuation | 環境光の光の色をどれだけ反映するか設定します。 | | GI Intensity | グローバルイルミネーションの明るさをどれだけ反映するか設定します。 | ^ Emission ^^ | Emission | 設定したカラー(HDR)に光ります。\\ マスクを指定する事で光らない領域を定義できます。 | | MatCap | マットキャップを指定します。 | ^ Rim ^^ | Color | リムライトの色 | | Lighting Mix | 環境光の色をリムライトの色を混ぜる割合 | | Fresnel Power | 値を大きくするとリムライトの境界線がハッキリします | | Lift | 値を大きくするとリムライトの影響範囲が大きくなります | ^ Outline (Width) ^^ | Mode | Noneにすると輪郭線を表示しません。\\ 輪郭線を表示する場合はWorldCoordinateに設定します。 | | Width | 輪郭線の太さ | ^ Outline (Color) ^^ | Mode | FixedColor:アウトラインがColorの色になります。\\ MixedLighting:アウトラインがテクスチャの色とColorを乗算した色になります。 | | Color | 輪郭線の色 | | Lighting Mix | 色を混ぜる割合 | ^ UV Coordinates (Scale & offset) ^^ | Tiling | 基本的に X=1,Y=1 で設定します。 | | Offset | UV座標の基準点を(0,0)の原点からずらします | ^ UV Coordinates (Auto Animation) ^^ | Mask | マスクでUVスクロールしない領域とする領域を指定できます。 | | Scroll X (per second) | X方向にUVをスクロールさせる速度\\ スクロール方向は値のマイナスとプラスで選択します。 | | Scroll Y (per second) | Y方向にUVをスクロールさせる速度\\ スクロール方向は値のマイナスとプラスで選択します。 | | Rotation (per second) | UVを回転させる速度\\ 回転方向は値のマイナスとプラスで選択します。 | ^ Options (Debugging Options) ^^ | Visualize | デバッグで使用。シェーダーの表示を変更できます。 | ^ Options (Advanced Options) ^^ | Double Sided Global Illumination | | | Render Queue | レンダリング順の設定 | ===== 詳細な説明 ===== ==== Rendering Type ==== ^ Rendering Type ^^ | Opaque | メッシュ全体が不透明の場合に使用します。※デフォルト設定 | | Cutout | テクスチャの透明度が cutoff の値より小さい領域を完全に描画しません。\\ 不透明箇所と透明箇所の2つに分かれます。 | | Transparent | ガラスやプラスティックなどの反射を考慮する半透明な物に使用します。 | | TransparentWithZWrite | 基本的にはTransparentと同じですが、半透明同士のオブジェクトが重なった際に手前のものしか描画されません。\\ (TransparentWithZWriteが適用されたマテリアルの奥側に存在するTransparentなオブジェクトは描画されない) | [[https://docs.unity3d.com/ja/current/Manual/StandardShaderMaterialParameterRenderingMode.html | Rendering Mode]] ==== Cull Mode ==== ^ Cull Mode ^^ | Back | 表面のみを描画 **(デフォルト設定)** | | Front | 裏面のみを描画 面をシェーダーで反転させたい時に使用 | | None | 両面を描画します 処理が重くなります | カリングとは、裏面のポリゴンを描画しない事によって処理速度を上げる手法です。\\ カリングをNone(表面描画)にする事もありますが、描画負荷を上昇させます\\ [[https://docs.unity3d.com/ja/current/Manual/SL-CullAndDepth.html|ShaderLab - Culling]] ==== Shading Toony ==== {{:unity:shader:mtoonshadingtoony.jpg?direct&600|}} ==== Shading Shift ==== {{:unity:shader:mtoonshadingshift.jpg?direct&600|}} **※設定するには Lighting の Advanced Settings を展開してください。** ==== Emission ==== Emissionとは、発光するオブジェクトを作成するのに使用します。 下記にEmissionを使用したサンプルを掲載します。\\ [[unity:shader:mtoonsample2 | MToonでエミッションを使用して光るオブジェクトを作成する]] ==== MatCap ==== {{:unity:shader:mtoonmatcap.jpg?direct&600|}} マットキャップとは事前にライティングした結果を画像として保存し、\\ 面の向きによって画像のサンプリング場所を変える事で疑似的にライティングを行います。 ==== Outline ==== {{:unity:shader:mtoonoutline.jpg?direct&600|}} マスク画像を設定する事によって、その領域の輪郭線を表示しなくなります。 ==== UV Coordinates ==== {{:unity:shader:mtoonuvshift.gif?direct&600|}} ※画像をクリックしてアニメーションを再生します。\\ Scroll X と Scroll Y にScrollスピードを設定すると、テクスチャがアニメーションします。\\ 水面やエフェクトなどの表現に使用する事ができます。 下記にUVスクロールを使用したサンプルを掲載します。\\ [[unity:shader:mtoonsample1|MToonを使用した光の表現]]