第5回 レンダリング / MAT 基礎

Tuesday, May 25, 2021

今回は 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

Network

まず 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 の出力結果がどのように変わるか試してみてください!

Network

Geometry の中の SOP の紫のボタンは render、青のボタンは display のトグルボタンになっています。表示がおかしい時はここをチェックしてみるといいかもしれません。

SOP と Geometry をつなぐ: /project1/Render_fundamental_2

SOP のアウトプットの上で右クリックして Geometry をつなぐと 内部に InSOPOutSOP を自動で作成し、入力した SOP と同じものを Geometry 内に入れることができるのでおすすめです。

PhongMAT: /project1/Phong

基本的なマテリアルである PhongMAT を使ってみましょう。PhongMATをネットワークに配置して、Geometry の Render タブの Material にドラッグ&ドロップして指定します。

Network

PhongMAT の代表的なパラメーターは以下の通りです。

Name Summary
Diffuse diffuse reflection light。ベースとなる色
Specular 光沢のある物質のハイライトの色
Shininess 表面の光沢度
Emit 物体の発光の強さや色

Network

PhongMAT Color Map: /project1/Phong_color

PhongMATColor Map に TOP を指定することで TOP のテクスチャをジオメトリに貼ることができます。

Network

PhongMAT Noise & Height Map: /project1/Phong_Height

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

Network

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

Network

Network

ConstantMAT: /project1/Constant

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

Network

ConstantMAT Color: /project1/Constant_color

Color Map の指定もできます。

Network

WireframeMAT: /project1/Wireframe

SOPw キーを押したときのような、Wireframe のレンダリングができます。

Network

PBRMAT: /project1/PBR_look

PBRMAT はリアリスティックな質感を比較的作りやすい MAT です。Physically Based Rendering という名が示すとおり、物理法則に基づいたライティングモデルを使用しています。代表的なパラメーターには以下のものがあります。

Name Summary
Base Color ベースとなる色
Metallic 金属度合い
Roughness 表面の粗さの度合い
Specular Level 鏡面反射の度合い

Network

PBR Environment Light: /project1/PBR_environment_light

Environment Light COMP を使うと、HDRI (High Dynamic Range Image)と呼ばれる環境光の情報の入ったパノラマ画像を使ってライティングをすることができます。HDRI Haven というサイトでダウンロードできますので好きなパノラマ画像を使ってみましょう。

Environment Light COMPEnvironment 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 などでダウンロードできるのでこちらも試してみてください。

Network

PBR Substance: /project1/PBR_substance

Substance Designer | Substance 3D というプロシージャルにテクスチャを作れるツールがあるのですが、そのツールの形式で書き出されたファイルを TouchDesigner でも読み込むことができます。

Substance TOP は、.sbsar ファイルを読み込むだけでなく、テクスチャが持っているパラメーターを TouchDesigner 側で調整することもできます。

Network

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

Network

ユーザー登録が必要ですが、Substance Source Homepage から様々な .sbsar ファイルがダウンロードできます。

本日の課題: 今日勉強した MAT を使ってみる

PhongMAT、WireframeMAT, ConstantMAT, PBRMAT などを使用してレンダリングをしてください。前回の顔でも構いませんし、新たに SOP をご用意頂いても構いません。形状よりも質感を重視します。プロジェクトフォルダごと Teams に提出してください。

参考

第6回 Instancing & Particle SOP 基礎

第4回 SOP 基礎