Geometry NodesのSimulation Zoneの使い方ようやく使い慣れてきました。今日は前回よりも簡単にパーティクルが重力を受けて放物運動をするだけのサンプル。寿命で消滅もします。
速度や寿命などはSimularion Zone(SimZone)に入れる前にStore Named Attributeでポイントに書き込んでおくだけ、あとはSimZone内で取り出してアップデートするなり、計算に使うなりします。
SimZone内で大事な事はポイントの位置を変更するなら、
オフセット(m)=速度(m/s)x時間(s)
速度をアップデートするなら、
次フレームの速度(m/s)=現在の速度(m/s)+重力(m/s2)x時間(s)
と単位に気を付けて加工していけば結線に迷わないと思います。単位というより「次元」ですね。
衝突とかはRayCastやSample系のノードで何とかする必要があるようです。Simulation ZoneのDelta Timeはシーンのフレームレートに依存しますが、サブステップが無いのは精度を上げられ辛くて困りますね。