LoginSignup
13
10

More than 5 years have passed since last update.

2D Ragdoll Creatorで2Dのラグドールを簡単に作る

Posted at

2Dのラグドールが作りたかったのですが、一つずつHingeJoint2Dをつけていくのがめんどくさくなったので
Assetの力をかりることにしました。

インポートしたところ

Scriptの種類

BreakJoint.cs ぶつかったらジョイントが壊れて連結がはがれるScript
HurtSound.cs 激しくぶつかったときに音をならすScript
Drag.cs オブジェクトをドラッグするScript
Restart.cs シーンを再読み込みするScript

試しに作成してみる

今回はこのスケルトンさんにばらばらになってもらいましょう

Window->2D Ragdoll Creatorでウィンドウを出し、各パーツをセットしていきます

必要なものだけセットすればOK
パーツ名が左の名前と合っていればAuto Assignで自動でセットされるのでたくさんやる場合は名前を合わせると楽です
ジョイントを作成し、ジョイントの位置を回転する場所に合わせて

Create Ragdoll

左が作成したところ。右がちょっと頂点を減らしたところ。
Polygon Collider 2D、Hinge Joint2D、Rigidbody2Dが設定したパーツにアタッチされます

現在の状態を再生したところ

次にジョイントの破壊とぶつかったときの音を。

ジョイントの部分にBreakJoint.csとHurtSound.csをアタッチし、
Bloodに血などのパーティクルのprefab、Hurt Soundsにうめき声などの音をセットします。
これでVelocity For Brakeなどのパラメータ以上の衝撃がくわわればとれます

デモのようにドラッグしてつかめるようにする

Drag.csをカメラにアタッチ。空のGameObjectを作成しそこにRigidBody2Dと Spring Joint2Dをセットします。
デモシーンからヒエラルキーにあるdraggerというオブジェクトを持ってくると手っ取り早いです。
これをDrag.csにアタッチすればつかんだりドラッグができます

とりあえずデモのキャラクターを前に作成したロープのに追加し手のところにHinge Joint2Dを追加してロープをつかませてみたところ

13
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
10