Unity(C#)初心者・入門者向けチュートリアル ひよこのたまご

AndroidやiOS向けアプリを簡単に作れるゲーム開発環境Unity(ユニティ)の使い方を、チュートリアル方式で一緒に学びましょう!

【Unity】とりあえずPlayerキャラクターを作成【Photon3】

前回の続きです〜

Photonを使えば簡単にネットワークゲームが作成できるということで、とりあえず
①Playerの出現
②Playerの移動
③Playerの攻撃・死亡
などといったものを作成していきます!

というわけでまずはPlayerを作成します〜
(今回はネットワーク部分はやりません)



1.Playerを作成する
Playerを作成します〜
いつもお世話になっているぴぽやさんから、2Dの素材をお借りし、2Dアニメーションをするキャラクターを作成します〜
アニメーションの作り方はこちらを参照にして下さい!
【Unity開発】2Dアニメーションの作り方 Animation, Animator Controller【ひよこエッセンス】 - Unity5(C#)初心者・入門者向けチュートリアル ひよこのたまご

老人が歩いているアニメーションをするキャラクターを作成しました!

f:id:hiyotama:20160704011455g:plain
歩く老人

f:id:hiyotama:20160704011606p:plain
PlayerのInspector

f:id:hiyotama:20160704011709p:plain
PlayerのAnimator

Animatorでは、方向キーの入力に合わせてアニメーション遷移するよう設定しています〜
例えばWalkForward@Player→WalkRight@Playerだったら、horizontalが0.1以上の時に遷移、といった感じです〜
アニメーターについては、詳しくはこちらをご参照下さい〜
【Unity開発】Animator Controllerまとめ 3Dユニティちゃん【ひよこエッセンス】 - Unity5(C#)初心者・入門者向けチュートリアル ひよこのたまご


続いてアニメーションとPlayerの移動を管理するPlayerスクリプトを作成します〜以下ソースです〜

using UnityEngine;
using System.Collections;

public class Player : MonoBehaviour {

	private Rigidbody2D _rb;
	private Animator _anim;

	void Start () {
		_rb = GetComponent<Rigidbody2D>();
		_anim = GetComponent<Animator>();
	}

	void Update () {
		//→キー:h = 1, ←キー:h = -1
		float h = Input.GetAxisRaw("Horizontal");
		//↑キー:v = 1, ↓キー:v = -1
		float v = Input.GetAxisRaw("Vertical");
		//左右の動きを優先
		if(h > 0.1f | h < -0.1f){
			v = 0;
		}
		//方向キー入力の方向へ移動
		_rb.velocity = new Vector2(h, v);
		//Animatorのパラメータに値を設定
		_anim.SetFloat("horizontal", h);
		_anim.SetFloat("vertical", v);
	}
}

Player.cs

こちらをPlayerオブジェクトに取り付ければ・・・

f:id:hiyotama:20160704012809p:plain
ドラッグ&ドロップ!

キーボードの方向キーを押すことで、上のgifのように移動することができます〜

ネットワークに関係する部分は次回以降に回します〜
今回はここまでです、ありがとうございました〜