ユニティちゃんトゥーンシェーダー(以下UTS)は、ユニティ・テクノロジーズ・ジャパン(以下UTJ)がUCL2.0(ユニティちゃんライセンス2.0)下で提供しているシェーダーコード群です。 UTSはいわゆるNPR(Non-Photorealistic Rendering)系のシェーダーで、トゥーン風の質感を手軽に描画することができます。手軽に輪郭線の描写が可能な他、非常に多くのパラメーターによる制御が可能で、セルアニメのようなパキっとした絵から、ピクサーのような滑らかな影まで、極めて幅の広い表現力を持っています。 UTSは、UTJの公式キャラ「ユニティちゃん」と共に配布されている事もあり、非常に知名度が高く、国内でのトゥーン系シェーダーとしてはデファクトスタンダードと言えるでしょう。 本書の目的は、UTSのコードを読み解き、どのようなロジックでUTSがトゥーン処理を実現しているかを理解することです。UTSはシェーダーコードのノードエディタであるShaderForgeでベースが作成されていることもあり、コードが読みにくく、気軽に改修するのが難しいです。本書でUTSの仕組みを理解し、是非貴方の求めるシェーダーに改良してください。
注意と前提
・本書は著者の独自解析に基づいて執筆されており、解析ミス、リファクタリングミスがあるかもしれません。本書の内容についてUTJ及び関係者に問い合わせるのは絶対におやめ下さい! ・本書では、3Dリアルタイムレンダリング、及びShaderLab/HLSL言語の仕様を把握している事を前提としています。これらについてご存知無い方は、拙著「Unityシェーダープログラミングの教科書 ShaderLab言語解説編(https://booth.pm/ja/items/660001)」を先に読む事をお勧めします。 ・本書では、UTSのコードのうち、頂点シェーダー関数とフラグメントシェーダー関数に焦点を絞って解説しています。UTSコードの全体像については、実装を参照して下さい。
構成
判型:B5 ページ数:28(本文26ページ)