VRM - humanoid 3d avatar format for VR

MToon

Shader preloadingの設定

MToon について

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

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

手早く設定したい人向け

共通項目

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

普通のマテリアル

  • Shade->Shift0
  • Shadow->ReceiveRate1

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

  • Shade->Shift はマイナスの値
  • Shadow->Receive Rate0

設定項目

準備

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

select MToon
Material の Shader を VRM/MToon に変更.

Basic

MToon Basic
Basic Inspector に含まれる項目.

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

Rendering Type

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

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

Cull Mode

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

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

Alpha

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

  • Cutoff
    • 描画するしないのしきい値を設定します。

Color

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

Lighting

Shade Shift

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

Shade Toony

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

Shade LightColor Attenuation

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

Shadow Receive Rate

セルフシャドウや落影の影響度を設定します。 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 のとき、その乗算係数を設定します。

VRM - humanoid 3d avatar format for VR