Skip to main content

MToon

MToonの使い方

MToon について

MToon は日本のアニメ的表現をすることを目標としています。 主色 (Lit Color) と陰色 (Shade Color) の 2 色を、Lighting パラメータや光源環境に応じて混合することでそれを実現します。

alicia MToon

MToon を適用したニコニ立体ちゃん

手早く設定したい人向け

共通項目

  • 目的のマテリアルを選択し、シェーダを VRM/MToon に変更
  • Color->Lit Color, AlphaColor->Shade Color に同じテクスチャを設定
  • Color->Lit Color, Alpha は白色 Color->Shade Color は好きな陰色を設定
  • Shading->Toony は好きな値。主色と影色をパキッとさせたいときは 1
  • Rim->AdditiveSpheremapMatCap と同等のテクスチャを設定
  • Outline->Width->Mode は輪郭線を必要とするなら WorldCoordinates で、しないなら None
  • Outline->Width->Width は 見た目上好きな値

普通のマテリアル

  • Shading Shift0
  • Shading Toony->Shadow Receive Multiplier1

キャラクタの顔など、影があまりついてほしくないマテリアル

  • Shading Shift はマイナスの値
  • Shading Toony->Shadow Receive Multiplier0

設定項目

準備

目的のマテリアルを選択し、シェーダを VRM/MToon に変更します。

select MToon

Material の Shader を VRM/MToon に変更.

Rendering

MToon Rendering

Rendering Inspector に含まれる項目.

Rendering 項目では主色と影色、および描画方法を設定します。

Rendering Type

マテリアルが不透明か半透明かどうかを設定します。

  • Opaque
    • 不透明です。基本的には Opaque を設定することを推奨します。
  • Cutout
    • 不透明ですが Color->Lit Color, Alpha のアルファ値情報を参照して Color->Alpha->Cutoff の値より小さな箇所の描画をスキップします。
  • Transparent
    • 半透明です。Color->Lit Color, Alpha のアルファ値どおりの不透明度になります。
    • デメリットとして輪郭線描画は正しく行われません。

Cull Mode

ポリゴンのどちら側の面を描画するかを設定します。

  • Back
    • 表側を描画します。基本的にはこの Back を選択します。
  • Front
    • 裏側を描画します。
  • None
    • 両面を描画します。

Alpha

Rendering TypeCutout であるときだけ設定する必要があります。

  • Cutoff (Color->Alpha)
    • 描画するしないのしきい値を設定します。

Color

描画色を設定します。 テクスチャと色は乗算されます。 光が当たる主色は Lit Color, Alpha に、光が当たらない陰色は Shade Color に設定します。 また Lit Color, Alpha のアルファ値には不透明度情報を設定します。

Lighting

Shading Shift

光の当たり方に対して、主色と陰色のしきい値を調整します。 0 のとき普通のライティングになります。 マイナス値にするとアニメ的な、主色の範囲が広いライティングになります。 マイナス値のときはセルフシャドウを無効化する必要があるため、表示された警告に従い Shadow Receive Multiplier0 に設定する必要があります。

Shading Toony

Shading Shift の項目における主色と陰色のしきい値付近を滑らかに変化させるか否かを設定します。 0 のときは通常の Lambert モデルのような写実寄りの滑らかさになります。 1 のときはしきい値ではっきり主色と陰色が変化するアニメ調のライティングになります。

Shadow Receive Multiplier

セルフシャドウや落影の影響度を設定します。 0 のときは影響を受けません。 1 のときは影響を受けます。

LightColor Attenuation

光源の色の影響度を設定します。 0 のときは光源の色の影響を受けます。 1 のときは光源の色の影響を無効化し、光源の色の輝度だけを反映します。

Rim Additive

カメラと法線の関係による追加光源を表現します。 一般にはスフィアマップや MatCap と呼ばれます。

Emission

光源環境によらず一定な色を設定します。

Normal Map

法線マップを設定します。 右側の値は法線マップの強さを設定します。

Outline

輪郭線を設定します。

Width Mode

  • None
    • 輪郭線を描画しません
  • WorldCoordinates
    • 世界に対して一定の幅の輪郭線を描画します
  • ScreenCoordinates
    • スクリーンに対して一定の幅の輪郭線を描画します

Width

輪郭線の幅を設定します。 Width ModeWorldCoordinates のとき単位はメートルです。

Color Mode

  • FixedColor
    • 固定色で描画します
  • MixedLighting
    • ライティングの影響を乗算します

Color

輪郭線の色を設定します。

Color Lighting Mix

Color ModeMixedLighting のとき、その乗算係数を設定します。