>   >  Houdini Cook Book:vol.82 For and VOP
vol.82 For and VOP

vol.82 For and VOP

03 Rendering

最後にレンダリングの設定をします。Mantraの場合、Physically Based Renderingで行います【1】。これによって、放電の光を使ってライティングすることができます。そのためにはLimitsのDiffuse Limitを高く設定します【2】。また、Reflection Qualityを高くすることで、光が反射した際のノイズを抑えます【3】。それでもノイズを消すことは難しいと思いますので、その際はPixel Sampleを高く設定します【4】


これで、ノイズはどんどん減っていきます。さらにこれは細いラインをレンダリングする際に有用な設定で、なめらかなラインをレンダリングすることができます。ただし、Pixel Sampleはレンダリングのコストが累進的に上がっていきますので、上げすぎには注意しましょう。マテリアルの設定はBDSFで作成する必要があります。これはPhysically Based Renderingのため必須です。



  • PBR Emissionなどを使用することでジオメトリライトとしてのマテリアルが作成できます【A】。もちろん、デフォルトで準備されているマテリアルでも十分設定可能です。これでレンダリングが完了します【5】

04 Operator

主要ノードを解説します。

For Loop

For Loopは2つのノードで構成されています。この2つのノードに挟まれている部分を反復することで、くり返しのプロシージャルを作成できます。

Block Begin:Methodを決定します。Feedbackで使用すると、最初の出力以降は反復されたデータが出力されていきます。Pieceは入力されたデータからnameなどを読み取り、エレメントとして切り分けて出力します。Metadataは現在のループに関する情報を含んだエンプティジオメトリを出力します。
Block End:大きくはCountとPiecesに分けられます。Countは決められたIterationsで反復します。Piecesでは入力されたジオメトリがもつ情報からエレメントを切り分けます。
Gather Method:フィードバックをそれぞれのIterationもしくはPieceに対してくり返して処理するか、反復処理を最後にまとめて結合するかを設定できます。

あとがき

今回のフローでは、Branchの世代をCountで決定して、どの程度細かいBranchを作成するか、Iterationの数値だけで調整できます。今回のように10回程度であればノードをくり返し配置することは不可能ではないですが、手間がかかります。もちろん、くり返しの処理が100や1000などになった場合では、ノードの配置によって処理することは難しいです。どのようなシチュエーションによってForが役立つのか、その選択眼をいかに養うかが肝です。

その他の連載