土屋つかさの技術ブログは今か無しか

土屋つかさが主にプログラミングについて語るブログです。

「ユニティちゃんトゥーンシェーダーの コードをひたすら読む本(PDF版)」内容紹介

 仕事が忙し過ぎて更新できないまま技術書典4を迎えてしまったため、その時の新刊「ユニティちゃんトゥーンシェーダーの コードをひたすら読む本 (Ver2.0.3対応版)」の紹介記事をまだブログにアップしていなかったのでした。にもかかわらず、気づけば5月23日時点で紙版(コピー本)とPDF版の総頒布数が100を越えました。皆様に感謝。

 コピー本の方は完売してまして、PDF版がBOOTHさんの下記ページから購入できます。

ユニティちゃんトゥーンシェーダーの コードをひたすら読む本 (Ver2.0.3対応版)
https://s-games.booth.pm/items/662396

 以下、内容紹介になります(本文序文から抜粋)。

内容紹介

 ユニティちゃんトゥーンシェーダー(以下UTS)は、ユニティ・テクノロジーズ・ジャパン(以下UTJ)がUCL2.0(ユニティちゃんライセンス2.0)下で提供しているシェーダーコード群です。

 UTSはいわゆるNPR(Non-Photorealistic Rendering)系のシェーダーで、トゥーン風の質感を手軽に描画することができます。手軽に輪郭線の描写が可能な他、非常に多くのパラメーターによる制御が可能で、セルアニメのようなパキっとした絵から、ピクサーのような滑らかな影まで、極めて幅の広い表現力を持っています。

 UTSは、UTJの公式キャラ「ユニティちゃん」と共に配布されている事もあり、非常に知名度が高く、国内でのトゥーン系シェーダーとしてはデファクトスタンダードと言えるでしょう。

 本書の目的は、UTSのコードを読み解き、どのようなロジックでUTSがトゥーン処理を実現しているかを理解することです。UTSはシェーダーコードのノードエディタであるShaderForge でベースが作成されていることもあり、コードが読みにくく、気軽に改修するのが難しいです。本書でUTSの仕組みを理解し、是非貴方の求めるシェーダーに改良してください。

参考リンク1

 本書では、3D リアルタイムレンダリング、及びShaderLab/HLSL 言語の仕様を把握している事を前提としています。これらについてご存知無い方は、下記拙著を先に読む事をお勧めします。

Unity シェーダープログラミングの教科書ShaderLab 言語解説編
https://booth.pm/ja/items/660001

参考リンク2

 ユニティちゃんシェーダーの膨大なプロパティの表示を整理するエディタ拡張を作りました。よければお使い下さい。

ユニティちゃんトゥーンシェーダーのUIを改修するエディタ拡張を作ってみた
http://d.hatena.ne.jp/t_tutiya/20180513/1526177049

次回予告(???)

 「紙で読みたいのでコピー本を再販して欲しい」というリクエストを何度か頂いているのですが、再販する際には2.0.4以降対応にした上で、不足している記述を補完してオフセット印刷にしたいと思っています(ただし、シェーダー本2を書くのが先)。

サンプル