Unityで揺れもの試作。Blenderで骨を入れてUnityで物理挙動させる

f:id:peroon:20150527214816p:plain

  • Blenderで球にツノを生やして骨を入れてウェイトを自動でつける
  • fbxで出力してUnityに持って行く
  • Dynamic Bone $20 アセットを購入する
  • 揺らしたい骨にDynamicBone.csを付けて、インスペクタから親子関係を設定
  • Playして球を動かすと、ツノが物理で追従する。Dampingを調整して完了

2016/06/28追記

  • プロ生ちゃんを揺らしてみた
  • 揺らしたい根本にDynamicBoneを付けるだけでいいので楽
  • Root設定を省くためにisRootSelfという変数を足して、Awake()時に自動設定されるようにした
  • プロ生ちゃんのhair系にDynamicBoneをつけると、パラメータ調整なしにいい感じに揺れた

f:id:peroon:20160628193527p:plain

  • スカートはこんな感じ。UnityちゃんCRSダンスをしたときに足がスカートを突き抜けるのでDynamicBoneColliderを付ければよさそう

f:id:peroon:20160628194248p:plain

付けるだけではダメ。各スカートにコライダーを認識させ、骨側Sphereの半径も設定したら、DynamicBoneColliderと衝突するようになった。しかしまだ太ももがスカートを突き抜ける・・・

f:id:peroon:20160629152058p:plain

Clothを検討するのがいいのではないか..→プロ生ちゃんはスカートが別メッシュではないのでスカートだけにClothをつけることができない blogs.unity3d.com

DynamicBone, DynamicBoneColliderの調整であまり突き抜けなくなってきた。あとは骨を増やせば大丈夫そうにも見える

f:id:peroon:20160629174339p:plain

Blenderで骨を増やし、WeightPaintしてUnityに持って行ったが、Playしてアニメーションがはじめるとどこかでモデルが消える不具合発生。骨を増やせばいいとはいったがそう簡単ではなかった。多少めり込むのを許容して、検証はここまでとしよう