リアルワールドRPGを作ってみよう! キャラのアニメーション
今日の東京は雪景色、桜開花後の雪は3年ぶりらしいです。
凍える寒さの中、中野通りの桜蕾を見に行ってきたアフロです( ・∇・)
さて今回は、前回導入したキャラぷちゴンを上下左右に動かしてみたいと思います。
➡️動いている様子はこんな感じ↓
#リアルワールドRPG 作ってみよう🎮
— おもろく★PLAY (@tinyafuro) 2018年3月21日
キャラ移動の実装😀
昔懐かしい #ガチャポン戦士 や #ファイヤーエンブレム っぽく
マス目移動型にしてみました👍
【ここがポイント】
・Animatorでキャラの左右上下アニメーション
・1マスごとにVector3.Lerpで滑らかな線形移動#Unity #gamedev #GoogleMaps pic.twitter.com/qhl4NgLPss
ある程度のアニメーションであればUnityの機能を使えば簡単に実装できます。
では、順をおって説明します。
- Animatorの準備
1. アニメーターコントローラーを作成
Projectビュー > Create > AnimatorController
名前は「PuchigonSprite」
※Animationsフォルダを作成して整理すると管理しやすくなります
2. HierarchyビューのPlayerオブジェクトにAnimatorコンポーネントを追加
追加したAnimatorコンポーネントのControllerへ先程作成したアニメーターコントローラーをアタッチさせる
- スプライトアニメーションの作成
1. Window > Animationウインドウを開く
2. Createボタンを押してアニメーションクリップ新規作成 ※名前は「PuchigonSprite@front」
3. スプライトアニメーションのキーフレームとなるspriteをドラック&ドロップ
イメージはこんな感じ↓
4. 他にも横や後ろ姿のアニメーションも追加
アニメーションウィンドウの左上のクリップトグルから [ Create New Clip]
名前は同様に
・PuchigonSprite@back
・PuchigonSprite@left
・PuchigonSprite@right
結果的にProjectビューはこうなる
- メカニムの設定
1. 作成したアニメーションクリップ間のステート遷移を設定
Playerオブジェクトを選択した状態でAnimatorウィンドウを開く
2. ステート遷移の判断基準となるパラメータを定義する
Animatorウィンドウ > Parameters > ➕ボタンからBoolを選択 > 名前をfrontとする
同様のパラメータを以下3つ作成する
・back
・left
・right
3. PuchigonSprite@frontステートを右クリックして [ Make Transition ] を選択
そうすると矢印(トランジション)が追従するようになるので、そのままPuchigonSprite@backステートへ繋ぐ
作成されたトランジションをクリックしてInspectorビューから➕ボタンでConditionを追加し、backパラメータを指定する
その際、[ Has Exit Time ] のチェックは外しておく。
同じ様な動作を繰り返すことで4つのステートがそれぞれ他3つのステートと繋がります
こんな感じになっていればOK
- アニメーション切り替え処理をコーディング
1. animator.SetBool(パラメータ名, true) だけでアニメーション遷移できちゃいます!
コーディングはすごくシンプルで簡単( ´ ▽ ` )
/// プレイヤーの座標、移動管理
public class PlayerController : MonoBehaviour {
//プレイヤーのアニメーションコントローラー
private Animator animator;
//プレイヤーのステート
public enum PlayerState{
front,
left,
right,
back
}
private PlayerState state;
void Awake(){
animator = gameObject.GetComponent
}
//プレイヤーの向きを変更
public void DirectionSet(PlayerState st){
switch(st){
case PlayerState.front:
state = PlayerState.front;
break;
case PlayerState.back:
state = PlayerState.back;
break;
case PlayerState.right:
state = PlayerState.right;
break;
case PlayerState.left:
state = PlayerState.left;
break;
}
//プレイヤーの向きを変更
animator.SetBool("front", state == PlayerState.front);
animator.SetBool("left", state == PlayerState.left);
animator.SetBool("right", state == PlayerState.right);
animator.SetBool("back", state == PlayerState.back);
}
}
なかなかのボリュームになってしまいましたが、
一度やって慣れてしまうと大したことはないですw
プログラムコードを別ウインドウで表示するアレってはてなブログじゃできないのかなぁ(汗)
インデント入らなくて読みずらいわぁ、、、
リアルワールドRPGを作ってみよう! キャラ導入
そろそろ桜の開花も間近ですね!
花見と花粉は紙一重なアフロです。
最近、週末にブログを書くことを習慣付ようと頑張っておりますw
さて、前回のリアルワールドRPGを作ってみようの進捗です。
ゲームの開発段階ってUIはとりあえず適当なもので置き換えて、とにかくコーディングに力を入れるのですが、
やっぱり目見にえるものがないと開発者のモチベーションも続かないってもので、
メインキャラだけは早い段階で置き換えてみようと思いました。
Twitterフレンドの @mat_s_u さんのぷちゴンが可愛かったので交渉してお借りすることが出来ました!
@mat_s_u さんありがとうございます〜(^^)/
#リアルワールドRPG 作ってみよう🎮
— おもろく★PLAY (@tinyafuro) 2018年3月18日
ドット絵キャラを使ってみたいと思い探していたところ@mat_s_u さんの #ぷちゴン をお借りできました❗️
目パチくりアニメーションがいい感じに出来てます😊
【ここがポイント】
・ぷちゴンがかわいいw#Unity #gamedev #GoogleMaps pic.twitter.com/8spV1eqO6p
昔懐かしドット絵でいい感じです!
目をパチくりさせて可愛らしいですね( ´ ▽ ` )
さてさて、これから横バージョンと後ろ向きバージョンをアニメーション追加して
マップ内を縦横無尽に移動できるようにさせてあげないとです( ・∇・)b
リアルワールドRPGを作ってみよう!
花粉、花粉、明日も花粉、、、
どうもアフロです。
ブログ書くモチベーションになったので書いてみようと思います。
前回作ったアプリ【ナッビーボール】で燃え尽きてしまい、半年ほど灰になってましたw
春の陽気と共にやる気スイッチも入れてみようかと。
ということで、今流行りの位置ゲーにチャレンジしてみようと思います。
ポケモンGOみたいなゲームが作れるようになるという聖書をゲットし2回ぐらい読み返すこと3ヶ月、、、
聖書の通りに作ったポケモンGOもどきがこちら↓
ポケモンGOみたいなゲーム作ってみた🐹
— おもろく★PLAY (@tinyafuro) 2018年3月8日
本に書かれてる通りやれば、
一応サンプル程度には仕上げることができます😀
操作性はめっちゃ悪いけど😅#ポケモンGO #Unity #Oreilly#UnityによるARゲーム開発 pic.twitter.com/jLVBkQ3bYf
ってことで、一通りのお作法はマスターしたことにして、 早速オリジナルゲームの作成スタートです!
まだほとんど進捗なしなので、やったことは以下の2つだけです。
・GoogleMapAPIを使い位置情報の取得とマップ表示
・GoogleMapsGeocodingで緯度経度の位置情報からエリア名を取得
そのテストプレイがこちら↓
#リアルワールドRPG 作ってみよう🎮
— おもろく★PLAY (@tinyafuro) 2018年3月11日
以前作った #ポケモンGO みたいなゲームを参考に
オリジナルゲームを作ってみたいと思います!
【ここがポイント】
・GPSを使った位置情報
・GoogleMapAPIでリアルマップと連動
・GoogleMapsGeocodingで地域名と連動#Unity #ゲーム開発 pic.twitter.com/rCE19IG4A0
細かいコーディングの部分などは余裕あれば記事にしていきたいと思います。 GoogleMapsGeocodingの部分も意外とハマりポイントあったので、どこかで備忘録として残しておきたいかな。
次は、時間帯でマップが昼バージョン、夜バージョンと変わるようにしたいなぁ。
では、今日はこの辺で。
【新作スマホゲーム】ナッビーボール リリースしました!
スマホ用ゲームアプリ
「ナッビーボール」をリリースしました!
サブタイトルは、〜ゆるキャラとボールの物語〜
ゆるキャラだけど、結構シビアなゲームです!
よかったら遊んでみてください!
Android版:http://bit.ly/2vqclBW