今回は 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 に提出してください。