子ノ刻ラボラトリィ

子ノ刻[23:00-01:00]に右脳系ディベロッパが時々お送りするAndroidアプリ開発日誌。主にUnity。最近LINEスタンプ。時々雑記。

ロックマン的なものでUnity2Dを勉強 その2

こんばんは! しんがです。

前回に引き続き、ロックマン的なものでUnity2Dのお勉強。

今回はMecanimでアニメーションを切り替えをやってみよー


参考にさせて頂いたのは以下のサイトです。
[Unity]Unity4.3の2Dツールを使ってみる -Mecanim編- | クスールブログ

f:id:shinga0221:20140110011215p:plain

アニメーションはひとまず以下の3つ。

  • idel :立ち
  • run :走り
  • jump :ジャンプ

今回は、空中だったら"jump"、地面と接していたら"idle"に
アニメーション切替ができるところまで実装しました。

以下、やったこと。

  1. Animeterで"idel"と"jump"の間にtransition(矢印)を設定
  2. transitionにboolによる遷移条件を設定 (isAirがtrueなら空中、falseなら地面)
  3. スプライトに2Dのコリジョンを設定
  4. 地面と接しているかの判定スクリプトを作成 (Physics2D.Linecastを使用)

f:id:shinga0221:20140110012636p:plain
落下中!

はまったポイントは、スプライトのPivotの設定!!
PivotがCenterになっていたため、transform.upの値が画像の中心の値に。
地面と衝突しても、isAirはtrueのまま・・・

一時間くらいはまった・・・

SpriteのPivotをBottomに設定しなおしたところ

f:id:shinga0221:20140110012848p:plain
スタッ!


次回はボタンを押してジャンプさせたり走らせよー

それでは、おやすみなさい。