Begin/EndHOUDINI誰向け?Houdiniのいくつかチュートリアルを触り始め、少し自分でもノードを組んでみようかな?という方向けの記事です。Begin/End」の使い方です。Begin/Endノードです。ネットワークグラフのペインで、Tabキー→Forで検索すると何種類か出てきます。Begin/Endノードのセットです。Begin/End以外のノードもついてきます)繰り返したい処理を、このblockノードで挟みます。繰り返し処理が行われる部分が、オレンジの枠で囲まれるようになります。こんなに何種類も分けられているのでしょうか?それは、「何に対して繰り返し処理を行うのか?」がそれぞれ違うためです。Methodこの、「何に対して」を決めるためのパラメータが以下の3つです。Methodパラメータ順番にみていきましょう。iterationまず、「イテレーション」の意味を押さえておきます。「箱から白い玉を取り出し、偶数回目なら赤、奇数回目なら青に塗る」という処理5回を行うとします。この処理を、細かく手順分けすると以下のような書き方になります。カッコ内の処理を5回行う{箱から玉を1つ取り出すもし今が偶数回なら玉を赤く塗る偶数回でないなら玉を青く塗る}このときの、「箱から玉を1つ取り出す」〜「玉を青く塗る」までの動作をひとまとまりと考えます。これが、1つのイテレーションと考えます。処理の中にある「今」とは、「今行っている処理が何回目のイテレーションか」ということを表します。各イテレーションが始まる際に、どのような状態のジオメトリーを受け取るか?を設定します。Feedback前のイテレーションで得た結果を受け取ります。前のイテレーションで、箱にりんごを1こいれたとします。Feedbackでは、1つのりんごが入った箱をそのまま受け取り、現在のイテレーションでりんごをもう1つ入れます。Point1つのピースまたは1つのポイントずつ、イテレーションの最初に受け取ります。ピースとは、ひとかたまりになったプリミティブです。ユーザーがアトリビュートによって指定することができます。Beginノードを「メタデータ」として扱うために設定する値です。メタデータ用ノードのDetailアトリビュートには、「今現在のイテレーションは何回目か」を示す「iteration」アトリビュートなどが存在しています。それぞれのイテレーションで違うことをしたいときに、detail()エクスプレッションを使ってこの値を読み込んで使用することができます。Input常にインプットされたジオメトリーを各イテレーションの最初に受け取ります。前のイテレーションで、箱にりんごを1こいれたとします。Inputでは、最初の箱をそのまま受け取り、現在のイテレーションでりんごを1つ入れます。Methodこのパラメータではイテレーションの回数をどのように決めるかを設定します。Inputs入力されている情報から、イテレーション回数を検出します。検出方法は以下の通りです。ヘルプから引用しました。Iterationメソッドがそのジオメトリに使用されます。Blockの入力に使用されます。どちらでもない場合、Countメソッドが使用されます。Pointsピースまたはポイントの数だけ処理を繰り返します。ピースが12種類あるなら、12回処理を繰り返します。Iterationsパラメータに設定した回数分、処理を繰り返します。Methodここでは、すべてのイテレーションの処理が終わったとき、その結果をどのように取得するかを設定します。Iterationループの最後のジオメトリを取得します。Feedbackにしていると、ちょうど処理を累積した結果を得ることができます。Iteration全てのイテレーションの結果を得ます。pointsのとき、ピースごとに処理を行っているので最後に結合してやる必要があります。まとめ最初は混乱しやすいパラメータについてまとめてみました。Loopが使えるようになると、グッとHoudiniでできることが増えるのでためしてみてください。コメントや指摘などあればぜひお願いいたします。upLoginユーザーは見つかりませんでした。