前回予告した
「トゥーンっぽいシェーダ」の説明をしてみます。
まず、適当な形状を作成。

「Luxology」の「Assets Share」から「ToonLinesThick」をDLします。
http://www.luxology.com/asset/materials/view.aspx?id=40
形状に適応。

これだけだと、エッジしか出ないので設定をしていきます。

まずは説明。上から順に
Highlight:Gradientシェーダ。ぺかっっと白く光るハイライトを表現します。
ObjectOutline:Gradientシェーダ。オブジェクトの輪郭に黒線を描きます。
ToonOutline:Gradientシェーダ。セルやトゥーン特有の階調の境目に線を追加します。
ToonFill:Gradientシェーダ。階調の変化を作り出します。
それぞれ、「サーフェスグラディエント」の「入力パラメータ」が
ObjectOutlineが「入射」
それ以外が「ロケータ入射」
となっています。
入射:カメラに垂直(正面)に対する面を0度、真横を向くエッジ部分が90度になります。
カメラが動けばもちろんそれに伴って方向も追従するのでこれを利用して
90度付近のGradientのみを極端に振ることでエッジを作り出します。
ロケータ入射:こいつが悩んだwマニュアル読んでも
「Incident Angle(入射)と同じですが、カメラのように視点が固定されるのではなく、
ロケータの位置を変えてグラディエントを変化させることができます。」
と書いてあるだけ。もちろん意味は分かるのだが、ここでのロケータって何??
最初に思いついたのが「ロケータの追加」もちろん連動して動かない。
じゃあ連動させればいいんじゃね?ってことで「チャンネルリンク」で
Gradientに使われているテクスチャのXYZ座標をロケータとリンクさせてみたらこれがビンゴ。

要するにGradientで使われるテクスチャの位置=ロケータらしいw
別にロケータ追加してチャンネルリンクさせなくてもGradientのテクスチャをまとめて動かせば同じです。
*DirectionalLightにリンクさせたら光源が動くと連動するようになるよっ
ロケータを追加して

アニメーション>チャンネルリンク
ドライバをlocator、ドリブンを各テクスチャにしてXYZ値を直接リンクする。

ここらへんの位置にLocatorを移動

さてここまでやってただの球体じゃつまらないなっと・・・
トゥーンで丸い物丸い物・・・・・
これだっ!
テクスチャ描き描き

ペタっ

ちょっと階調のバランスをなんとかしたいな。ということで調整。
グラディエントエディタを表示して

こんな感じに調整。

今回は左のキーはいじってない。真ん中のキーを右上に、右のキーを右に動かしてみた。
実際プレビューを見ながら色々動かしてみるとすぐにこのグラフの意味が理解できると思う。
同様にHighlightやOutlineも調整してみてください。
今回、ToonOutlineは使いませんでした。
調整結果。

それから、全体のアウトラインの表示ですがこの方法意外にも方法があります。
これは他のソフトでもよく使われる方法ですが、通常ポリゴンは裏側はレンダリングされません。
これを利用して、線を付けたいメッシュをすこし大きくして面を裏返します。
裏返したメッシュのディフューズ量を0にして出来上がり。
この時、マテリアルにカスタムシェーダを追加して「カメラに可視」意外のチェックを外すといいかもです。
こうなります。

この方法のポイントは大きくした分だけ線を太くできるので、調整が出来る事ですね。
それからもうひとつ「少し大きく」する方法ですがメッシュを「Push」ツールで大きくするといい感じになります。
単に「拡大」すると・・・・やってみたらわかりますw
また、この方法でのアウトラインは「線の強弱」でさえ表現出来てしまいます。
太くしたいところのメッシュを「ソフトドラッグ」等で引っ張ります。
右クリック&ドラッグで影響範囲の大きさを決めて左ドラッグで引っ張ります。
こんな感じ。

とりあえずな説明ですが、なんとなくトゥーンっぽく見えるはずです。
応用編ですが、裏返して表示したエッジのマテリアルに「Noise」等を追加して
パラメータ調整してやると「手書きっぽい線」になるです。
まだまだ色々出来そうですね。