Unityに触ってみる(2)【人、鬼、大地】

前回(Unityに触ってみる(1)【githubにプロジェクトをpushする】 - 日記)のつづきです

 

前回のまとめと今回の作業

前回はとりあえずprojectを作ってgithubにpushしました

今回は

・バージョン命名のルール設定

・ブランチ構成の概ねの決定と試運転

・Terrainで床を作ってキャラをのせる

・キャラクターにタッチの概念を付与する

・初めてのmergeを行う

をします

 

バージョン命名のルール決定

今回のプロジェクトにおいて特に必要はないんですけがバージョンをつけてみようと思います。

なるべく定量的にバージョンの管理をしたかったのでメジャーバージョンにアーキテクチャ(意味は雰囲気で使っています)のバージョン、マイナーバージョンにそのアーキテクチャバージョンにおけるmasterブランチのmerge回数にしようと思いました。つまり

アーキテクチャバージョン.masterのmerge回数

という感じです。前回pushした段階ではver0.0です

 

ブランチの構成

とりあえず

www.backlog.jp

havelog.ayumusato.com

ここら辺を参考にして、当面はmasterブランチとdevelopブランチの二つで運用していくことにしました。featureブランチは追加する機能の粒度がいまいちつかめていないことと、プロジェクトがかなり小さいことから必要性を感じるまでは使わなくてもいいかなと判断しました。

 

Terrainで床を作ってキャラクターを乗せる

Unityのヒエラルキービューでcreate->Terrainで大地ができました(スクショでも取っておけばよかったですね)

UnityのツールバーからAssets->ImportPackage->CharactersでUnity標準のTPSキャラをインポートします。ついでにそのそばのCameraからカメラもインポートして紐づけします

 

キャラクターにタッチの概念を付与する

作ったキャラクターに対して「はいタッチー!お前鬼ー!」ってやつを実装します。

とりあえずPlayer.cs(キャラクターに付与するコンポーネント)とそれを管理するPlayerControllerを作ることにしました。

Playerは自分が鬼(タグでItを鬼とした)で相手が鬼じゃないとき(タグでPlayerとなっているとき)に衝突イベントが発生したらPlayerControllerのメソッドを読んで鬼状態を移してもらいます。

ちなみにタッチ返し防止のために(というかこれをしないとうまく状態が遷移しない)タッチしてから3秒間は状態遷移を起こしません。

できたものがこちらです

 

youtu.be

きちんとPlayerのタグが変化してますね(動画では見えないですがCOMPlayerもちゃんと変化しています)

初めてのmergeを行う

git merge develop/0.0

まぁこれだけなんですけどね。ちなみにこれでver0.1になりました。この後でバグ(デバッグ用のデータを残したままだった)を見つけたんですけどhotfixブランチを切ったりrevertしたりはしないことにしました。

 

感想

さすがにUnityは便利ですね。特に何もせずにそれっぽいものができました