![見出し画像](https://assets.st-note.com/production/uploads/images/167747405/rectangle_large_type_2_c6567e6cc05c71b37472d7d835e05cc5.png?width=1200)
boneDynamicsNodeの衝突判定を使用するための事前確認
あかさき氏のboneDynamicsNodeを使用する際に設定にとまどったら確認する記事です。識衝突判定編。
Maya用のboneDynamicsノードを使用するときにつまずいた箇所を説明しています。上記のページを見て設定にとまどったら、こちらを読むと解決するかもしれません。
コリジョンの形状と必要なパラメータについて
コリジョンは「球」「カプセル」「無限平面」「地面(=水平な無限平面)」がありますが、下記の必要なパラメータを入力できれば、ロケータでも、ポリゴン球でも大丈夫です。ポリゴンの形状などは見ておらず、球の場合は、WorldMatrix(ワールド行列)Radius(半径)のふたつのパラメータさえ取得できれば大丈夫です。
ですが、アニメーションを付ける場合のわかりやすさなどを考えると、あかさき氏の作成した”Maya Expression Collision (expcol)”をインストールして、コリジョンを作成するのが良いでしょう。必要パラメータと形状の見た目が一致するため、アニメーションが作成しやすいと思います。
コリジョンの作成について
上記に書いた通り、パラメータさえ取得できれば何でもよいのですが、使いやすさから、Maya Expression Collision (expcol)をインストールしてcolliderモジュールを使用するのが良いと思います。
インストールに成功すると、下記のPythonコマンドでコリジョンを作成できます。
from expcol import collider
collider.iplane() # 無限平面
collider.sphere() # 球
collider.capsule() # カプセル
collider.capsule2() # 半径を個別に変えられるカプセル
Maya Expression Collision (expcol)のダウンロード、インストールの仕方
Gitのページの右上に、緑色のボタン"<>Code"をクリックして
DownloadZipをクリックします。
![](https://assets.st-note.com/img/1735480023-OxeBonHLPuGfzQCKXYEsbM23.png)
zipを解凍したら
expcolフォルダを”C:¥Users<USERNAME>¥Documents¥maya¥scripts”
にコピーします。
これで、上記のpythonコマンドを入力することで、コリジョンの作成ができます。
作成したコリジョンの大きさの変更の仕方
コリジョンの半径や長さなどは、アトリビュートエディタから変更をします。
![](https://assets.st-note.com/img/1735485336-8gfjtVWceSYd1DmOUHFBIXLq.png?width=1200)