どうも篠島です。前回に引き続き、DOPのデータについてです。今回はデータの名前についていろいろ説明してみたいと思います。
今回のサンプルファイルは趣向を変えてクイズにしてみました。今回のHipファイルは再生しても何も起きません。今回のブログの記事を参考にシミュレーションが動くように してみてください。ルールとして、ノードの追加、削除、バイパスは禁止します。既存のノードの設定変更だけで解決してください。全然難しく無いんですが、Geometry Spreadsheetは必ず開いて作業しましょう!
今回のHipファイルです。
dop_quiz.zip
DOPでSolverが計算をするときはオブジェクトにアタッチされている特定のデータを探します。例えばGravityを追加するときに Forces/Gravity というデータツリーが作られますが、Solverはフォースを探すときに「Forces」という所からデータを得ます。なので試しに「forces」や「Force」などという名前に変更してみるとSolverがデータを認識せずに無視してしまいます。
そして試しにGravityの名前を適当に変えてみるとどうなるか? これは問題なく動きます。この事からForcesという名前が重要であって、Gravity等の名前は適当に変えても問題ないという事になります。
Unique Data NameというのがONだと、そのノードで追加されたデータの名前がユニークになるので、名前が重複することがありません。もしデータ名が重複した場合は片方のノードのデータが無効になります。
話が若干変わりますが、リジッドボディにはBullet、ODE、RBDという3つのタイプのリジッドボディがあります。これらに関してはまた別の機会で説明しようと思います。RBD Objectノードはデフォルトで Bullet と RBD 用のデータを追加してくれますが、ODEのデータは追加してくれません。なので、Ribid Body SolverノードのSolver EngineをODEに変更すると、ODEのデータがオブジェクトに含まれていない為シミュレーションがされません。ODEデータをオブジェクトに追加するには、Enable ODE DataをONにする必要があります。