連携について、デプス、モーションベクター、オブジェクトマスクを出力するまでを解説していく。編1.Houdiniにおけるレンダーパスの設定法まず、Houdiniでのレンダリングには標準搭載されているMantraを使用する。今回マルチパスの出力に用いるOpenEXRにも対応している。MenuからMantraを作成する必要がある。Houdiniが他のソフトウェアと異なる点で、レンダリングするための「オペレータ(ノード)」を作らなくてはいけない。Planes]から+マークで、新たなパスを追加できる。Planeを追加したら、レンダリングする要素を決定する。Mantraがパスをレンダリングするためには、VEXから出力されている値を指定する必要がある。シェーダレベルで設定されたものが、パスとしてレンダリングできるということだ。Variableがある。Variableが挙げられる。Variableが多数用意されている。自分で定義することも可能で、今回用意するVariavleは全て新たに定義していく。Variableには、シェーダ側で新たに定義した変数名を入力し、もしチャンネル名を変更したいのであれば、そこも設定する。これで同名の変数をシェーダから引っぱってくることができるようになる。3.Depthパスの設定まずDepth(深度情報)のパスを作成していく。Variableオペレータから引っぱることができる。Depth(Pz)」と言われる環境変数がそれにあたる。これはカメラからサーフェイスまでの距離を格納している変数だ。そのため、値はfloat型になる。Variableにも用意しているが、OpenEXRのパスに含めたときにチャンネル名がotherになってしまう現象が起きたため、今回はfloatをvectorに変換し、Color情報としてパスに埋め込む。深度情報にクランプをかけたりする場合も、このシェーダ内で行うことも可能。VOPを使用して、データをExportする必要がある。Conectedにすることで、値が出力される。これはどのチャンネルを作る際にも必用になるので、覚えておきたい。VOPで指定したNameに由来するため、ここの設定もミスが許されない。して変数は、Mantra側で、depthのVariableを読み込み、レンダリングの際にRGBの値にカメラからの距離が埋め込まれる。4.Velocityパスの設定Velocityパスを生成するためには、まずモーションブラーがレンダリングできる状態に設定しなければいけない。Blur]にチェックを入れる。これでモーションブラーがかかるようになるが、ここで問題なのが、これだと、すでにレンダリング時にモーションブラーが入ってしまうということだ。Blur]のチェックを外し、モーションブラーの計算はするが、イメージに反映しないようにする必要がある。続いて、Depthの際と同じように、シェーダ側にVelocityの値を生成するための仕組みを作る必要がある。VOP」を使用することにした。これは、レンダリング時に変化するポジションを時間によって引っぱれる機能をもっていて、時間をずらしたものの差分を計算することで、Velocityを算出することが可能になる仕組みだ。その際、抽出するポジションはカメラスペースにトランスレートする必要がある。VOPで値をExportすれば、Velocityパスをレンダリングできる。SOP」を用いたID作成のための方法を紹介したい。SOPはサーフェイスのコンポーネントに対して、属性を与えることができるSOPであり、今回はDetailに対して、Vector型のアトリビュートを入れ込む形にする。アトリビュートの名前を決定する。今回は4つのオブジェクトに対してマスク処理をするため、Vector型2つのアトリビュートで対応可能だ。