Skip to main content

MToon


MToon 简介

MToon 旨在实现日本动漫风格的表现。它通过根据 光照参数 和 光源环境 混合 Lit Color(主色) 和 Shade Color(阴影色) 这两种颜色来实现这一目标。

mtoon_about.png

来自ニコニ立体的使用了MToon的3D角色模型。


快速设置

 基本步骤

  • 选择目标材质并将着色器更改为 VRM/MToon

  • 点击着色器面板

  • Color -> Lit Color, AlphaColor->Shade Color 设置相同的纹理

  • Color -> Lit Color, Alpha 设置为白色,Color->Shade Color 设置为想要的阴影颜色

  • Shading -> Toony 选择所需的值。如果需要使主色和影色区分更加明显,可以调整为1

  • Rim -> Additive 设置纹理(相当于 Spheremap 和 Matcap )

  • Outline -> Width -> Mode 如果需要轮廓线,则选择WorldCoordinates,否则选择None

  • Outline -> Width -> Width 根据外观选择适当的值

普通的材质

  • Shading Shift 设置为 0
  • Shading Toony -> Shadow Receive Multiplier 设置为 1

如果不希望角色面部或之类的材质有太多阴影

  • Shading Shift 设为负值
  • Shading Toony -> Shadow Receive Multiplier 设为 0

设置项目

准备

选择要进行修改的材质(Material) 并将着色器(Shader) 更改为 VRM/MToon

set_mtoon.png

将材质的着色器更改为 VRM/MToon

Rendering

download.png

Rendering Inspector(检查器) 中包含的项目。

在 Rendering 中,设置主颜色和阴影颜色以及 Cull Mode(剔除模式)。


渲染类型 (RENDERING TYPE)

这里可以设置材质是不透明还是半透明。

  • 不透明 (Opaque) 
    • 为了渲染性能。通常建议将其设置为 Opaque。

  • 裁切 (Cutout) 
    • 虽然是不透明的,但会根据 Color -> Lit Color, Alpha 中的 Alpha 数值来决定是否绘制小于 Color -> Alpha -> Cutoff 的部分。(根据 alpha 值进行绘制,透明度小于设定的值的部分会被裁切)
  • 透明 (Transparent) 
    • 这是半透明的。将会根据 Color -> Lit Color ,  Alpha 中的 Alpha 数值来确定不透明度。
    • 缺点是描边绘制可能不正确。

剔除模式 (CULL MODE) 

这里可以设置是否渲染多边形的法线反面。

  • Back (背面) 

    • 剔除背面,绘制正面。通常选择此项。

  • Front (正面) 

    • 剔除正面,绘制反面。

       

  • None (无) 

    • 绘制两面,因此会增加计算量。


Alpha (阿尔法)

只有当 Rendering Type(渲染类型)Cutout 时才需要设置。

  •  Cutoff (Color->Alpha)
    • 设置渲染阈值。

Color(颜色)

设置渲染颜色。纹理和颜色将进行乘法计算。将主色Lit Color, Alpha为受光照影响的颜色,影色Shade Color为未受光照的颜色。此外,设置不透明度信息Lit Color, Alpha的alpha值。另外,在Lit Color, Alpha的 Alpha 值中设置不透明度信息。


Lighting(照明)

Shading Shift(阴影偏移)

调整主色和影色的阈值,以适应光线照射物体的方式。当数值为0时,为正常的光照效果。当数值为负时,会呈现类似动漫般、范围广泛的主色光照效果。需要根据显示的警告信息将Shadow Receive Multiplier设置为0,以禁用自身阴影。

Shading Toony(阴影风格)

这个设置决定上面介绍的 Shading Toony(阴影偏移) 的明暗交界线过渡的平滑程度,当数值为0时,它(阴影过渡)会变得像一般的Lambert(兰伯特) 模型一样写实且平滑。当数值为1时,受光面和阴影面会在交界处产生明显的分割,呈现出动画风格的照明效果。(类似二分阴影)

Shadow Receive Multiplier(阴影强度)

设定自我投影和阴影的影响程度。0的时候不受影响。1的时候会受到影响。

LightColor Attenuation(灯光颜色衰减)

设置光源颜色的影响程度。设置为0时,受光源颜色的影响。设置为1时,不受光源颜色的影响,只反映光源的亮度。

Rim Additive(边缘光追加)

根据相机和法线之间的关系显示额外的光源。通常被称为 sphere map(球形贴图) 或 MatCap。

Emission(自发光)

设置与光源环境无关的恒定颜色。

Normal Map(法线贴图)

设置法线贴图。右侧值设置法线贴图的强度。

Outline(轮廓线)

轮廓线的设置

Width Mode(宽度模式)
  • None(无)

    • 不渲染轮廓

  • WorldCoordinates(世界空间坐标系)

    • 以世界坐标为基准,渲染出相对于世界空间固定宽度的轮廓线。

  • ScreenCoordinates(屏幕空间坐标系)

    • 以屏幕空间为基准,渲染出相对于屏幕空间固定宽度的轮廓线。

Width(宽度)

设置轮廓的宽度。当宽度模式是世界坐标系时,宽度单位为米。


Color Mode(颜色模式)
  • FixedColor(固定颜色)

    • 使用固定的颜色进行渲染。

  • MixedLighting(混合光照)

    • 增加光照颜色进行相乘运算。(简单来说就是轮廓线颜色会受光照颜色影响)。

Color(颜色)

设置轮廓线颜色。

Color Lighting Mix(色彩灯光混合)

当轮廓线的 Color Mode(颜色模式) 设置为 MixedLinghting(混合光照) 时生效,该设置可以调整轮廓颜色与光照颜色混合的乘法系数。