Unity Shader Programming Vol.02 (v.1.1.0)【PDF】
- ダウンロード商品Unity Shader Programming Vol.02 (v.1.0.0)【PDF】¥ 1,000
- ダウンロード商品Unity Shader Programming Vol.02 (v.1.0.0 サンプル)【PDF】¥ 0
Unity でシェーダプログラミングを始めたいけど、公式の資料や散見する様々な資料では難しいという人に対し、小さく、簡単に、サンプル付きでまとめた資料です。 総ページ数:69 本文中のサンプルはオープンソースで管理しています。合わせて購入の検討に利用してください。 https://github.com/XJINE/UnityShaderProgramming_02_Sample
資料の内容
この資料では、スクリプトからシェーダの値を設定する方法や、複数の SubShader、複数の Pass、複数のシェーダを使う方法など、基本的ではあるものの、より進んだシェーダの使い方について解説します。これらはより高度で実用的なシェーダの実装において重要な機能ですが、それらと並行して学ぶには学習コストが高すぎるので、小さく簡単な例を用意しました。 内容の難易度は比較的低く、それぞれのサンプルは見た目にも非常に地味ですが、より高度なシェーダの理解のために、必ず役に立つでしょう。
目次
はじめに 第 1 章 スクリプトからシェーダの値を設定する ―― 1.1 シェーダに変数を用意する ―― 1.2 スクリプトから値を設定する ―― 1.3 Material.Set~ ―― 1.4 Renderer.material ―― 1.5 インスタンスの複製 ―― 1.6 Renderer.sharedMaterial ―― 1.7 マテリアル数の問題 ―― 1.8 MaterialPropertyBlock ―― 1.9 Shader.SetGlobal~ 第 2 章 複数の SubShader と LOD / Fallback ―― 2.1 LOD の値を設定する ―― 2.2 SubShader と LOD の定義 ―― 2.3 Fallback 機能 第 3 章 複数の Pass を使ったオブジェクトの描画 ―― 3.1 2 つの Pass で白にする 第 4 章 ColorMask によるカラーチャネルの出力制限 ―― 4.1 ColorMask の使い方 ―― 4.2 背景色に注意する 第 5 章 複数の Pass と ColorMask による完全な透過 ―― 5.1 問題が起こる手順 ―― 5.2 Z Buffer を書き込むだけのPass 第 6 章 プリプロセッサ命令・マクロの基礎 ―― 6.1 #define による置換処理 ―― 6.2 #define によるキーワードの定義 第 7 章 ライブラリによる関数や構造体の共通化 ―― 7.1 ライブラリの追加 ―― 7.2 ライブラリの参照 ―― 7.3 プリプロセッサディレクティブ ―― 7.4 多重定義の問題 ―― 7.5 多重定義の解決 第 8 章 シェーダバリアントによる複数シェーダの生成 ―― 8.1 複数のシェーダの生成 ―― 8.2 シェーダバリアントのメリット ―― 8.3 Properties からキーワードを切り替える ―― 8.4 組み合わせのあるシェーダバリアント ―― 8.5 補足:キーワードの制限とローカルキーワード 第 9 章 MipMap の効果と仕組み ―― 9.1 MipMap の効果 ―― 9.2 MipMap の仕組み ―― 9.3 MipMap のデメリット ―― 9.4 Mip Level を可視化する 第 10 章 Properties の一覧 ―― 10.1 基本形 ―― 10.2 表示系 ―― 10.3 テクスチャ系 ―― 10.4 特殊なテクスチャ ―― 10.5 値型系 ―― 10.6 トグル/ チェックボックス系 ―― 10.7 列挙型系 ―― 10.8 ブレンドステートに Properties の値を代入する おわりに
想定する読者と方針
この資料は Unity の基本的な操作方法については知識があり、シェーダプログラミングを経験したことがない方を読者に想定しています。あるいは、シェーダプログラミングの学習を進める上での補助的な資料として役立てることを想定しています。 また、この資料は「UNITY SHADER PROGRAMMING - Vol.01」の続刊です。したがって、これより以前の資料で解説した内容を前提にして作られています。もし必要があれば以前の資料を確認して頂くか、別の資料で補うようにしてください。 この資料のよい点として (1) もっとも小さいサンプルからステップバイステップ形式で内容が整理されていること、(2) それぞれのステップでサンプルが用意されていることが挙げられます。 ほとんどすべての技術的な解説については Unity 公式の資料やその他の資料から確認することができますが、多くの場合に、それらは学習の順序などを考慮していません。教材形式の資料を用いて学習する一番のメリットは、さまざまな資料を集め、それらを取捨選択しながら順序立てる負担を軽減できることにあるでしょう。 一方で、この資料では高度な技術やその詳細、応用の類は解説されていません。特に、シェーダプログラミング以外の CG に関する詳細な解説や数学的な内容は、その多くを割愛しています。これらは「シェーダプログラミングの入門」に当たっては不要であり、より詳細な情報については、それらを専門に扱う資料を参照した方がよいためです。したがって、数学的な内容からきちんと順序立てて CG を学習したい方、高度な技術や CG による表現技法について学習したい方には、この資料は不向きであるといえます。
感想・要望・その他のお問い合わせ
要望、感想、誤字脱字などのご指摘、その他のお問い合わせについては専用フォームでお伺いします。折り返しのご連絡等については必ずのお約束をしかねる体制であることご了承ください。 【問い合わせフォーム】 https://goo.gl/forms/mOiWo6JuPz848deh1
価格について
価格は (1) 学習のために順序立てて整理する (2) 最小限のサンプルを考えて用意する (3) 執筆して管理する、などの要因から決定しています。 価格は、特に新しい情報が追加されるときに改定されることがあります。あるいは、広く広報するなどの目的のために、一時的に改定することがあります。 新しいバージョンがリリースされるとき、既に同じものを購入されている方については、基本的には追加料金なしに入手できるようにしています。ただし電子的な管理が可能なもの、著しく内容が変更されないものに限ります。 上記について、予めご了承ください。
更新履歴
ver.1.0.0 (2020.04.10) ―― 初回リリース。 ver.1.1.0 (2020.09.24) ―― 全体で言い回し調整。 ―― マクロの項目を追加。 ――― 伴って関連項目のテキストを修正。