
今回は SOP や MAT を使ったレンダリングの勉強をしていきます!
サンプルファイル
chimanaco/takara-univ-media-programming-2021
05が本日のディレクトリです。
レンダリング
レンダリングとは、3DCG ソフト上で形状や、マテリアル、テクスチャ、ライティングなどの計算を行い、最終的に2Dのイメージ出力を行うプロセスのことです。
TouchDesigner では以下のオペレーターを組み合わせてレンダリングしていきます。
| Name | Summary |
|---|---|
| Geometry COMP | 実際にレンダリングされるもの |
| Camera COMP | カメラを通して映し出されるものが出力される |
| Light COMP | ライティング |
| MAT | マテリアル、質感 |
| Render TOP | 出力結果 |
はじめてのレンダリング: /project1/Render_fundamental

まず Geometry COMP を追加。 中を見てみるとデフォルトで Torus SOP が入っています。
次に Render TOP を追加。そうするとカメラが無いと Warning が出ますので、
Camera COMP を追加。 形状がそれらしいものが出てくるのですが真っ黒になっています。ここで Light COMP を追加。無事 Torus が照らされました。
これが TouchDesigner のレンダリングの基本形です。
3D 空間で各コンポーネントを確認できる Geometry Viewer を開いてみましょう。alt + [ でネットワークエディターを分割し、左端の矢印ボタンから Geometry Viewerを選択すると以下のような画面になると思います。
SOP の Active Viewer と同じように操作することができます。
このように Geometry、Camera、Light が配置されているのが分かるかと思います。これらを動かしてみて、Render TOP の出力結果がどのように変わるか試してみてください!

Geometry の中の SOP の紫のボタンは render、青のボタンは display のトグルボタンになっています。表示がおかしい時はここをチェックしてみるといいかもしれません。
SOP と Geometry をつなぐ: /project1/Render_fundamental_2
SOP のアウトプットの上で右クリックして Geometry をつなぐと 内部に InSOP と OutSOP を自動で作成し、入力した SOP と同じものを Geometry 内に入れることができるのでおすすめです。
PhongMAT: /project1/Phong
基本的なマテリアルである PhongMAT を使ってみましょう。PhongMATをネットワークに配置して、Geometry の Render タブの Material にドラッグ&ドロップして指定します。

PhongMAT の代表的なパラメーターは以下の通りです。
| Name | Summary |
|---|---|
| Diffuse | diffuse reflection light。ベースとなる色 |
| Specular | 光沢のある物質のハイライトの色 |
| Shininess | 表面の光沢度 |
| Emit | 物体の発光の強さや色 |

PhongMAT Color Map: /project1/Phong_color
PhongMAT の Color Map に TOP を指定することで TOP のテクスチャをジオメトリに貼ることができます。

PhongMAT Noise & Height Map: /project1/Phong_Height
Normal Map を使って凹凸を表現することができます。グレースケールの TOP を Nomal MapTOP につなぐことによって Normal Map が作られるので、これを Normal Map(Bump) に指定します。さらに Enable Height Map を ON にして Height Map に Color Map と同じグレースケールの TOP を指定することにした上で、Displace Vertices を ON にして Height Map とその下にあるパラメーターを使って displacement を行うことができます。

Normal Map を使用して RenderTOP に warning が出る場合は、Attribute Create SOP を追加して Compute Tangents を ON にすることで解消できる可能性が高いです。


ConstantMAT: /project1/Constant
ライティングの影響を受けないマテリアルです。よって表面の光沢などはありません。

ConstantMAT Color: /project1/Constant_color
Color Map の指定もできます。

WireframeMAT: /project1/Wireframe
SOP で w キーを押したときのような、Wireframe のレンダリングができます。

PBRMAT: /project1/PBR_look
PBRMAT はリアリスティックな質感を比較的作りやすい MAT です。Physically Based Rendering という名が示すとおり、物理法則に基づいたライティングモデルを使用しています。代表的なパラメーターには以下のものがあります。
| Name | Summary |
|---|---|
| Base Color | ベースとなる色 |
| Metallic | 金属度合い |
| Roughness | 表面の粗さの度合い |
| Specular Level | 鏡面反射の度合い |

PBR Environment Light: /project1/PBR_environment_light
Environment Light COMP を使うと、HDRI (High Dynamic Range Image)と呼ばれる環境光の情報の入ったパノラマ画像を使ってライティングをすることができます。HDRI Haven
というサイトでダウンロードできますので好きなパノラマ画像を使ってみましょう。
Environment Light COMP の Environment Map に TOP を指定すれば OK です。そのままだと暗いので、Level TOP を使って Gamma 1 を2.2~2.4、Clamp Input to [0, 1] を Off にしてください。
PBR Maps: /project1/PBR_Maps
Base Color Map, Normal Map, Height Map などを指定することもできます。 Texture Haven などでダウンロードできるのでこちらも試してみてください。

PBR Substance: /project1/PBR_substance
Substance Designer | Substance 3D というプロシージャルにテクスチャを作れるツールがあるのですが、そのツールの形式で書き出されたファイルを TouchDesigner でも読み込むことができます。
Substance TOP は、.sbsar ファイルを読み込むだけでなく、テクスチャが持っているパラメーターを TouchDesigner 側で調整することもできます。

PBR TOP の Substance TOP パラメーターに指定します。

ユーザー登録が必要ですが、Substance Source Homepage から様々な .sbsar ファイルがダウンロードできます。
本日の課題: 今日勉強した MAT を使ってみる
PhongMAT、WireframeMAT, ConstantMAT, PBRMAT などを使用してレンダリングをしてください。前回の顔でも構いませんし、新たに SOP をご用意頂いても構いません。形状よりも質感を重視します。プロジェクトフォルダごと Teams に提出してください。