[Unity] FF1からFF6までのダメージ表示アニメーションを再現する
前回の記事 [Unity] FF4、FF5のダメージ表示アニメーションをUnityで再現する ではあまり作り方にUnityらしさが無かったように思います。
今回はAnimator、Animation周辺を少し勉強しながら作り、ほぼスクリプト無しで作ってみました。今回作り方などの解説は無く、作ってみましたという記事です。
まずは触ってみる
上に並んでいるボタンをクリックしてから画面内をクリックすると、選択シリーズのダメージ表示アニメーションが再生されます。完全再現ではないのはごめんなさい。
あとドットシリーズのFFではないですがFF13っぽいのもあります。
使用3Dモデル : Animated Knight and Slime Monster
FF1 & FF2
FF1とFF2は基本同じで枠+ダメージ表示で行われます。ダメージがモンスターグラフィック側に出るようになったのはFF3からなんですねー。まぁ枠ごと表示してしまえ!というわけで表示しています。
FF1
FF2
FF1とFF2の表示アニメーションは「上から徐々に表示される」です。下の絵は表示途中の状態。
参考サイト
枠の表示用スプライトが伸びで表示してしまう対処方法。→ Unity 4.6Beta uGUI 履修1:Buttonを配置してみた。
FF3 & FF6
FF3とFF6の表示方法は同じです。数値が上方向にポンっと出て、下でバウンドします。
FF4 & FF5
数値が少しズレながら上方向にポンっと出て、下でバウンドします。再現度はイマイチ。
FF13
番外編。アニメーションは上に移動しながら消える。ただ数値アニメーションがある。数値自体の変化はスクリプトで行い、上に移動しながら消えるのはAnimationで行いました。
参考動画
まとめ
前回すごい苦労したしスクリプトを書く量が多かったのですが、今回は比較的簡単に作れました。やっている事は前回のと大して変わらないのに。少しずつUnityに慣れてきたかも。
前回とどのように実装が違うのか非常に気になります
Unity上のアニメーション機能を使って実装しています。 ().text = “9876”;
数字がぽろろんっと表示させる前の準備にスクリプトを使いましたが、
上からスーっと表示させるのは、アニメーションさえ作っておけば特にスクリプトで何か制御する必要なかった記憶があります。
(表示する数値の文字列くらいはセットしたかな・・・)
スクリプトは存在しますが
Text.GetComponent
みたいな1行程度のコードだったります。
実装が違うというか、できるだけUnityの機能を使ってみた!ってのが言いたかったのではないかな、当時の自分は…。