やりたいこと
UnityにはUnity Toon Shader(UTS)というトゥーンレンダリング(セルティックレンダリング)のプレビューがあるので試してみます。
トゥーンレンダリング、セルティックレンダリング、アニメ調レンダリング、ToonRendering、Celtic rendering
環境
Unity Toon Shader:0.10.2-preview
Unity Toon Shaderの使用
インストール
Unityのメニュー Window → Package ManagerからPackage Managerを起動します。

Package Manager左上の”+”から”Add package from git URL…”を選択します。

表示されるエディットボックスに”com.unity.toonshader”と入力してAddをクリックします。

しばらく待つと以下のように表示され、インストールが完了します。

マテリアルの作成
Shaderの変更
新しいマテリアルを作成して選択します。
表示されたinspectorビューのShaderの”Toon”か”Toon(Tessellation)”を選択します。

以下のように3Dオブジェクトが陰がなく単色になりました。
変更前:

変更後:

影の設定
続いてinspectorビューのThree Color and Control Map Settingsの1st Shadingに以下のように灰色を設定します。

単色だった球に影が表示され2色になりました。

inspectorビューのShading Step and Feature SettingsのBase Color Stepを変更します。

値を大きくすると陰になる領域が増えます。
Base Color Step:0.4

Base Color Step:0.5(default)

Base Color Step:0.6

境界線の表示
境界線の表示を行います。
inspectorビューのOutline SettingsのOutline Widthを変更します。(defaultは0です)

球に境界線が描かれました。値を大きくすると境界線は太くなります。

“Toon”と”Toon(Tessellation)”違い
上にあるようにUTSには”Toon”と”Toon(Tessellation)”があります。
Tessellationはポリゴンをさらに分解する処理なのでToonよりも処理が重い可能性があります。
利点はポリゴンの分割により陰の境界や境界線が滑らかになるようです。
Toon

Toon(Tessellation)

結果
Unityを使ってトゥーンレンダリングを行うことができました。
ちなみに床に落ちている影にグラデーションがあるのが床のマテリアルがトゥーンレンダリングでないためです。
参考にさせていただいたサイト

コメント