Blender Cycles レンダラーでレイマーチングしてみよう 第2.2版
- ダウンロード商品¥ 800
2018.10.13 ver 1.0 2018.11.17 ver 2.0 2022.06.24 ver 2.2 (blender 3 系列対応) この本は、Blender の Cycles レンダラー上で、OSL (Open Shading Language) という言語を使ってレイマーチング法を行う方法を解説します。 Blender 3 系列への対応と、幾つかの項目での説明の更新やブラッシュアップを行い、2.2版にしました。 サンプルファイルが、以前の版では一部のピックアップだけだったのですが、本文で使った図の作例を数多く同封して大幅に増えています。 レイマーチング法は、リアルタイム描画の分野で用いられることのある、ポリゴンを用いずに数式を用いて図形を描画する方法です。 本来は GPU 上で高速に動作させる目的で使われることが多く、CPUを使ってレイマーチングを行うのは珍しく、速度もあまり出ないのですが、Cycles というレイトレーサーの中で実行されるために、いつものレイマーチングとはちょっと違った使い方ができます。 この本の主な内容としては、OSL スクリプトの作成とノード編集になります。 ある程度の Blender や Cycles の知識があることを前提としていて、基本的な内容の説明は省いています。 OSL はプログラミング言語としては C言語に似ているものですので、C言語の流れを汲むプログラミング言語をある程度習得していることが必要になります。また、Blender でのノード編集の初歩的な知識も必要でしょう。 また、高校生レベルの線形代数、幾何学の知識は必要になるかと思います。 ファイルの内容はPDF形式の文書で、表紙や目次を含めて全60ページ分になります。 また、サンプル用の .blend ファイルも数種類まとめてあります。 ダウンロードサイズは 50.4 MB ほどになります。 作者は、ひっそりとBlenderのシミュレーションについての解説のページを作成して公開しています。 http://qcganime.web.fc2.com/BLENDER/SmokeHowTo.html 上記のサイトで、この内容のあたま16ページ分は無料で公開していますので、内容の難易度とか気になる方は、そちらをチェックしてみてください。
目次
レイマーチング法 … 3 OSLによるレイマーチング法のスクリプト作成 … 6 法線方向を計算する … 9 Emission シェーダーの利用、OSL内での Diffuse 計算 … 10 距離関数の編集・繰り返し … 11 平面以外へのマッピング … 12 Cycles で光線を飛ばして厚みを調べる … 13 影の計算の基本 … 15 距離関数の基本的な性質と編集 … 17 直方体と円柱 … 17 定数の追加と、角の取れた形状 … 17 図形の組み合わせ・ブーリアン合成 … 18 距離関数の編集・繰り返しその2 … 22 擬似的なアンビエントオクルージョン(AO)とフォグ … 25 位置情報の利用・テクスチャ … 26 シーン内のオブジェクトしてレイマーチング法を活用する … 28 ワールド座標とオブジェクト座標 … 28 構造物を作成する(林立する柱) … 30 レンガブロック … 31 穴あきの立体テクスチャ … 31 スジ彫り・深さ情報の利用 … 33 フラクタル図形とレイマーチング法 … 37 座標変換による繰り返し構造 … 37 フラクタル構造の例 … 37 不正確な距離関数 … 41 不連続な距離関数 … 41 正確な距離関数を得るのが難しい形状 … 41 浸食形状 … 43 ポリゴンの裏面に表示する … 45 カメラと他オブジェクトが両方キャンバス用のオブジェクト内にある場合 … 47 スペキュラーと反射 … 48 反射ベクトルとスペキュラー … 48 背景の反射 … 49 そのほかのテクニックなど … 50 他のオブジェクトから落ちる影 … 50 複数のスクリプトを使った多層構造 … 51 逆向きに光線を飛ばす … 51 切断面を滑らかにする … 53 終わりに … 55 付録:基本形状 … 56 付録2:サンプルファイル … 59