Unity不定期便

Unityエンジンを使って、いろいろ勉強したことをメモ代わりにまとめてます。

Unity-Chan!を1時間ほどで「自在に動かす」使い方を公開してみた!

f:id:masatolan:20140420215053j:plain

無料で使える、Unityの公式キャラクター「Unity-Chan!」のデータを使って、あれこれ試してみたのでメモ代わりにログを残しておきます。

とりあえず…、

  • 手っ取り早くUnity-Chanを動かしたい!
  • 好きなようにUnity-Chan を操りたい!

 という方には、最適かと思います…。

 

 

素材を用意する!

 まずは、とりあえず「Unity-Chan!」の公式サイトへ行って、データをサクッとダウンロードしましょう!

f:id:masatolan:20140420220818j:plain

 ダウンロードすると、ローカルPCに「UnityChan.unitypackage」というファイルをゲットできると思います。

 

 さらに、Unity-Chanを手っ取り早く操作するために、Asset StoreからMecanimのスターターキットもダウンロードしておきます。

f:id:masatolan:20131119104631j:plain

 あとは、お好みで「」や「」のテクスチャをダウンロードしておくと良いでしょう。

 

Unity-Chanを動かす準備をする!

それでは、早速Unity-Chanを動かすための前準備に取り掛かりましょう!

 

まずは、先ほどダウンロードした素材を、新規プロジェクトに放り込みます。 

f:id:masatolan:20140420224115j:plain

ちなみに、Unity-Chanのパッケージだけは、メニューから「Assets」→「Import Package」→「Custom Package...」でファイルを指定する必要があります。 

 

次に、「床」を作りたいので、「Create」から「Plane」を選択して配置します。

f:id:masatolan:20140420224125j:plain

 

そして、「UnityChan」→「Prefabs」→「unitychan」から、3Dモデルをヒエラルキーにドラッグ&ドロップします。

f:id:masatolan:20140420224133j:plain

 

このままだと真っ暗なので、ついでに専用のライティングオブジェクトもドラッグ&ドロップしておきます。

f:id:masatolan:20140420224142j:plain

(ライティングは、自分で用意しても問題ありません…)

 

ちょうど良いアングルになったので、カメラを選択して「GameObject」→「Align With View」でゲーム画面の表示も同じにしておきました。

f:id:masatolan:20140420224154j:plain

 

あとは、「床」と「空」それぞれにテクスチャを貼り付ければ良いでしょう。

f:id:masatolan:20140420224202j:plain

なかなか良い感じになりました。

とりあえず、今回は動かすことが目的なので、環境準備はこんなもんで良いでしょう。

 

Unity-Chanを自在に操るには!?

 いよいよ、Unity-Chanを動かしましょう!

 

方法は簡単で、まずヒエラルキーにあるUnity-Chanを選択して「Animator」の「Controller」を「Locomotion」に設定します。

f:id:masatolan:20140420225935j:plain

 これは、冒頭でダウンロードしたMecanimスターターキットに含まれるファイルですね。

 

さらに、同じキットに含まれている、キャラクター操作用のスクリプト「Locomotion Player」も設定しておきます。(「Add Component」→「Scripts」から選択…)

f:id:masatolan:20140420230030j:plain

 

これだけで、PCのキーボード(矢印キー)から、自在にUnity-Chanを動かせるようになりますよ!

f:id:masatolan:20140420230039j:plain

 

好きなアクションをさせてみる!

ココまで紹介した内容だけでも、十分ゲームとして使えそうですが、Unity-Chanに自分の好きなアクションをしてもらうように設定してみましょう!

 

実は、Unity-Chanのデータ内には、様々なアニメーションパターンが用意されています。

f:id:masatolan:20140420234709j:plain

この中から、好きなアニメーションを選択して、PCキーボードの「スペースキー」を押したらアクションするように改造してみます!

 

まず、現在のUnity-Chanが保持しているアニメーションパターンを確認します。

 

メニューから「Window」→「Animator」を選択して、編集画面を表示させたら「Locomotion」という図形をダブルクリックします。

f:id:masatolan:20140420234715j:plain

 

ココで表示されているのが、現在Unity-Chanが実行できるアニメーションパターンになります。

f:id:masatolan:20140420234722j:plain

 

早速、ファイル内にあるアニメーションから「ジャンプ」のアクションを、ドラッグ&ドロップします。(UnityChan→Animations→フォルダ内)

f:id:masatolan:20140420234729j:plain

 

すると「JUMP00」という図形が作成されます。

これを右クリックして、「Make Transition」を選択します。

f:id:masatolan:20140420234740j:plain

 

すると矢印を引っ張ることができるようになるので、「JUMP00」と「Idle」の両区間を結びます。(「行き」「帰り」の2つが必要) 

f:id:masatolan:20140420234751j:plain

これにより、アイドル状態から「ジャンプ」のアクションが出来るようになりました。

 

あとは、スペースキーを押したら、ジャンプするように設定してみます。

これにはスクリプトが必要になるので、まず変数「Jump」を作成します。

f:id:masatolan:20140420234758j:plain

「Parameters」のプラスアイコンをクリックすると、変数を作成することが出来ます。

 

今回は、「スペースキーを押したら…」という条件なので、「変数のJumpがtrueになったら…」ということにします。

 

次に、「Idle」から「JUMP00」への矢印を選択して、インスペクタに変数「Jump」を設定します。

f:id:masatolan:20140420234807j:plain

これで、「Jump」がtrueになったら、Unity-Chanがジャンプをしてくれるようになります。

 

最後に、ヒエラルキーのUnity-Chanを選択して、新規スクリプトを作成します。(ファイル名は「jump」にしました…)

f:id:masatolan:20140421000811j:plain

 

スクリプトはこんな感じ。


function Update () {
	var motion = GetComponent(Animator);
	var state : AnimatorStateInfo = motion.GetCurrentAnimatorStateInfo(0);

	if(Input.GetKeyDown("space")){
		motion.SetBool("Jump", true);
	}

	if(state.IsName("Locomotion.JUMP00")){
		motion.SetBool("Jump", false);
	}
}

 

 スペースキーを押した時に、「Jump」アクションを呼び出して、また元の状態に戻すためにfalseを代入しています。

 

これで、プロジェクトを実行して「スペースキー」を押すと…

f:id:masatolan:20140420234814j:plain

 華麗にジャンプしてくれました〜!

 

あとは、自分の好きなアニメーションパターンを用意して、同じ手順を繰り返せば自在にUnity-Chanを操れるようになりますよ。

みなさんも、ぜひ挑戦してみてください!

 

 

Unityでキャラのコントロール術を解説してるベスト書籍! 
Unity4入門   最新開発環境による簡単3Dゲーム製作

Unity4入門 最新開発環境による簡単3Dゲーム製作

 

 

Unityで作るスマートフォン3Dゲーム開発講座 Unity4対応 (SMART GAME DEVELOPER)

Unityで作るスマートフォン3Dゲーム開発講座 Unity4対応 (SMART GAME DEVELOPER)