第8回: SOPのレンダリング
今回はSOPのデータをTOPに変換する、レンダリングについてです。
レンダリングの工程は他のオペレーターと比較して色々覚えることが多いですが、順を追って説明していきたいと思います。
まずは、レンダリングの工程を理解するためにいくつかの重要な概念を解説します。
光を記録するには
レンダリングはコンピューターの中で、仮想的なカメラを通して仮想的なシーンを撮影するもの、と考えることができます。
通常私達が暮らしている世界をカメラで撮影する時には、以下のような要素が関係しています。
- カメラ、レンズ
- モノ、世界
- 光
- 素材
- フィルム、イメージセンサー

これと同じことがTouchDesignerでSOPをレンダリングする時にも起きています。
TouchDesignerでのレンダリング
/project1/BASIC_RENDER_SETUP を参照
TouchDesignerの中ではカメラ、モノ、光といった要素がそれぞれオペレーターとして存在しています。
これらを組み合わせてさまざまな質感や印象をもったシーンを組み立てていきます。
- Camera COMP
- カメラに相当、シーンをどこから、どういう画角で撮影するかを決定する
- Geometry COMP
- モノに相当、レンダリングされる形を決定する
- Light COMP
- 光に相当。どこから、どういう色や強さの光があたっているかを決定する
- MAT
- 素材に相当。色や質感を決定する
- Render TOP
- フィルム、イメージセンサーに相当、撮影したものが画像として得られる

レンダリングをするためのセットアップ手順
Geometry COMP は、SOPのアウトプットをクリックした後にTABキーを押して表示される OP Create Dialog で選択すると、接続がされた状態で作成されるので便利です。
レンダリングのターゲット設定
Camera COMP や Geometry COMP を作ると Render TOP に自動的に関連づけされます。これは、Render TOP のパラメーターのデフォルトの挙動によるものです。Render TOP の Camera(s)、Geometry、Lights などのパラメーターを変更することで任意のカメラやジオメトリを指定したレンダリングをすることもできます。
マテリアル
/project1/MATERIAL を参照
マテリアルは MAT オペレーターを Geometry COMP にアサインすることで適応します。マテリアルの種類にも色々ありますが、とりあえず Phong MAT を使ってみるのをオススメします。
Phong MAT では主に:
Diffuse 物体のベースとなる色を指定する
Specular 反射の色や強さを指定する
Emit 発光の色や強さを指定する
Shininess 表面のツルツル具合いを指定する
あたりのパラメーターをいじっていくことになると思います。
やってみよう
Phong MATのパラメーターをいじって、色々な質感を作ってみてください。マイナスの色を入れてみたりすると、物理的にはありえないけどおもしろい質感になることもあります。
Rim ページで指定できるリムライト(上下や左右からのシルエットを強調するようなライト)も結構おもしろいです。
テクスチャマップ
/project1/TEXTURE を参照
Phong MAT の Color Map のパラメーターにTOPをアサインすることでテクスチャ(画像)をジオメトリに貼ることができます。

ノーマルマップ、ハイトマップ
/project1/NORMALAND_DISPLACE を参照
TOPを使ってジオメトリの表面に細かな凹凸(ノーマルマップ)をつけることもできます。
ノーマルマップを使う時は、白黒のTOPを Normal Map TOP を通した結果の水色の画像を Phong MAT の Normal Map (Bump) パラメーターに指定します。Bump Scale の値を変化させると表面の凹凸のぐあいが変わっていきます。

ノーマルマップは表面の反射の方向を画像で制御しているだけなので実際にはジオメトリは変形していません。変形させるためにはハイトマップ(ディスプレイスメントマップとも呼ばれる)を適応する必要があります。
@velvet_kaoru さんの絵作りはライティング、ディスプレイスメントなどが非常に効果的に使われていて勉強になります。オススメ
やってみよう
カラーマップ、ノーマルマップ、ハイトマップの画像やパラメーターを変更してみて、どういう結果になるか試してみてください。
ジオメトリを動かす、カメラを動かす
/project1/TRANSFORM_CAM_AND_GEOM を参照
COMPは他のオペレータータイプとは違い、サブカテゴリのようなものがあります。
その中でレンダリングに関係するものは 3D Objects カテゴリの中にあり、それら全てには Xform ページがあり Transform SOP のように移動や回転、スケールをかけることができます。

Xform ページのパラメーターをいじることで、カメラやジオメトリの動きをつくっていけます。
3Dオブジェクトの親子関係
COMPは他のオペレーターとは違い、オペレーターの上下にもインプット/アウトプットのポートを持っています。
3Dオブジェクトの場合はこの上下の接続を使うことで移動、回転、スケールの親子関係を作ることができます。
まとめ
TouchDesignerの他の機能に比べて、3Dのレンダリングは覚えることがメッチャ多くて大変だと感じでいるのではないかと思います。
ですが、簡単には習得できないということは、覚えてしまったら他の人には真似されにくいオリジナルな表現になる可能性が高い、と言い換えることもできます。
それから、**他の人が同じソフトを使って表現できていることは、原理的にはあなたにもできます。**表現を観察して目コピしてテクニックと経験をつんで、どんどん自分でもそれができるようにしていくといいと思います!