Physics の使い方
JointとRagdollの安定性

ラグドールウィザード

Unity では特別なウィザードがあり、ラグドールをすぐに作成することができます。それぞれ異なる手足パーツをウィザード上の対応するプロパティーの上にドラッグするだけです。そして、Create ボタンを押すと Unity はラグドールを構成し、Colliders , Rigidbodies , Joints を自動作成します。

キャラクターの作成

Skinned Meshes Ragdoll は Skinned Mesh を活用していて、これは 3D モデリングアプリケーションにてリギングを行ったキャラクターメッシュです。このため、ラグドールキャラクターは Maya あるいは Cinema4D のようなパッケージで作成する必要があります。

キャラクターを作成してリギングを行ったら、Project Folder へ、アセットを保存します。その後 Unity に切り替えると、キャラクターのアセットファイルが表示されます。そのファイルを選択すると、Inspector 内に Import Settings ダイアログが表示されるので、Mesh Colliders が無効化されていないことを確認してください。

ウィザードの使用

ソースアセット本体から ラグドール を作成することはできません。これにはアセットのソースファイルの編集が必要となるので、不可能です。キャラクターアセットからインスタンスを作成し、ラグドールにした後、再利用できるように プレハブ として保存しましょう。

キャラクターのインスタンスを作成するためにはキャラクターを プロジェクトビュー から ヒエラルキービュー の上にドラッグします。Transform Hierarchy を展開するためにヒエラルキーの左にあるインスタンス名の左の小さい矢印をクリックします。これで Ragdoll パーツを割り当てる準備ができました。

ラグドールウィザードを開くためにはメニューで GameObject > 3D Object > Ragdoll… を選択します。これでウィザードが表示されます。

ラグドールウィザード
ラグドールウィザード

ウィザードへのパーツ追加は簡単な作業です。キャラクターインスタンスのそれぞれの異なる Transform をウィザードの適切なプロパティーの上にドラッグします。これはキャラクターを自ら作成していれば簡単な作業です。

Create をクリックします。これで 再生モード に入ると、ラグドールとしてモタモタ動くことを確認できます。

最後のステップはセットアップした ラグドール をプレハブとして保存することです。メニューで Assets -> Create -> Prefab を選択します。プロジェクトビューで “New Prefab” が表示されます。これを“Ragdoll Prefab”と名前を変更します。ヒエラルキーから ラグドールキャラクターのインスタンスを “Ragdoll Prefab” の上にドラッグします。これでセットアップは完了しました。再利用できるゲームキャラクターはできましたので好きなように使うことができます。

注意

ラグドールウィザードで作成されたキャラクタージョイントでは、ジョイントの Twist 軸が、四肢の最大 Swing 軸に対応し、Swing 1 軸が、四肢の最小 Swing 軸に対応し、Swing 2 軸は、四肢の Twist 用としてセットアップされている事に注意してください。この命名規則は、慣習によるものです。

Physics の使い方
JointとRagdollの安定性