見出し画像

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をクリックします。

zipを解凍したら
expcolフォルダを”C:¥Users<USERNAME>¥Documents¥maya¥scripts”
にコピーします。
これで、上記のpythonコマンドを入力することで、コリジョンの作成ができます。

作成したコリジョンの大きさの変更の仕方

コリジョンの半径や長さなどは、アトリビュートエディタから変更をします。

コリジョンの半径などの変更

いいなと思ったら応援しよう!