GeometryNodesちょっとだけ

Animation nodesのアップデートがされなくなったため、Geometry nodesのお勉強を昨年夏あたりから始めていますが、ジオメトリから必要な情報を得るための「Field」の概念が今一つ理解できず半年ほどが経ちましたが正月休みにYoutubeで関連動画を見漁って、なんとなくまで理解ができるようになりました。

で、以前Youtubeで公開したポリゴン毎のエッジでフリップさせる(AnimationNodes版)をGeometryNodesで再現してみたのが以下。Blender3.4.1のファイルです。

理解のために「Store Named Attribute」ノードをいくつか入れてますが、全部必要では無い…と思う。

ジオメトリの欲しい情報をどうやって受け取るかを理解するまで大変です。


Geometry Nodes

重い腰を上げてGeometryNodesのお勉強。Animation Nodesと同じ開発者なんだから難しくはないだろうと思っていましたが、どうも設計が違うようで。

頂点をランダムにオフセットしたい場合は、普通はランダムな3Dベクトルを頂点数ぶん用意して足してやればいいはずですが。ランダムな3Dベクトルのリストを作成するノードがなかったりします。正解は「Set Position」ノードにジオメトリと「Random Value」ノードを突っ込むだけ…。文章で書くと何も間違いではないですが、いったい何を元に必要なだけのランダム値を作ったの?

左から右へ、上流から下流に向かってデータは流れている『だけ』ではないみたいですね。


AN: Repeat Ray Reflection

昨日の投稿は1次レイをぶわーっと飛ばすヤツ。今日のは一本だけ、でも繰り返し反射させるヤツ。

ANでアニメーションついてます。

反射が出来なかった場合(Ray cast hit ==False)に打ち切りたいんですけど、どうすれば…。For文で言うBreakって無いのかな?

(追記)
ありましたBreak。Loopの出力ノードのConditionが非表示の状態になっているので、これを表示し任意の条件でFalseを入力すればループ処理から抜けられました。って事で修正!スッキリ!


AN: Ray Reflection

Vector MathノードにReflectって項目があったので試してみた。入射ベクトルと法線を入力するとまさに反射ベクトルが出力されます。Blender 2.93 + AnimationNodes 2.2.2です。

反射は一回だけ…

ところでVector Mathノードには外積(Cross)はあって内積(Dot)が無い、掛け算して総和を取るだけですけど。