Unityでゲームを作る-その3

Unity-logo

こんにちは。
夏よりも冬が好きな佐藤です。

今回は第3回目を迎えます。
前回からだいぶ時間が経っていますので、下記からおさらいしておきます。

前回を見ていないという方、詳しく!!という方は下記から飛べますのでお読みください。

第1回
第2回

前回はUnityで
・ステージを作成
・オブジェクトの整理
・プレイヤーの作成
の3本仕立てでお送りしました。

目次

今回は
・プレイヤーの移動
・カメラの追加
の2本立てでお送りします。

プレイヤーの移動

前回作成したプレイヤーを動かせるようにします。
やることを箇条書きにすると、
・プレイヤーに重力を追加する
・プレイヤーを操作できるようにする
です。

まずは、重力を追加します。
オブジェクトを動かすためにはコンポーネントを準備します。
コンポーネントとは、GameObjectを構成するパーツです。
GameObjectはこのコンポーネントの挙動に従い、自身を稼働させたり、他のオブジェクトへ影響をあたえることが出来ます。

1、HierarchyビューでPlayerをクリックします。
2、InspectorビューでAdd Componentボタンをクリックします。

3、Physicsをクリックし、Rigidbodyを選択します。



追加したら、ゲームを再生してみます。
物理演算を追加したことにより、プレイヤーが落下することが確認できます。

次に、キー操作でプレイヤーを動かせるようにします。
好きな方向に動かすために、新しくコンポーネントを作成しましょう。
コンポーネントはC#もしくはUnityScriptで記述する事ができます。
(言語を使用する段階までこれました。。)

まずはプレイヤーに空のコンポーネントを新規で作成しましょう。

1、HierarchyビューでPlayerオブジェクトをクリックします。
2、InspectorビューでAdd Componentボタンをクリックし、New Scriptをクリックします。

< 3、Nameに「PlayerController」、Scriptに「CSharp」を選択します。

4、「Create And Add」ボタンをクリックします。

ProjectブラウザのAssetsフォルダに、”PlayerController.cs”が作成されます。
これが今回作成したコンポーネントの本体のスクリプトとなります。
わかりやすいように、Scriptフォルダを作成し中へ移動させます。


では、空のコンポーネントにスクリプトを記載します。

作成したコンポーネントをダブルクリックし、エディタ画面を表示します。
表示したら、中に下記のコードを入力します。


ゲームを再生すると、方向キーで移動をすることができました。
上記コード内でspeedという変数を用意してあげることにより、
Inspectorビューからプレイヤーの移動速度を調整しながらゲームを作成できます。

カメラの追加

ゲームにはいろいろなアングルのカメラが存在すると思います。
全体を確認できるカメラ、プレイヤーごとのカメラなどなど。
ここではプレイヤーを追跡するカメラを作成します。
プレイヤーに連動して移動するので、プレイヤーを追跡するコンポーネントを作成します。

1、HierarchyビューでMainCameraをクリックします。
2、InspectorビューでAdd Componentボタンをクリックします。
3、「New Script」をクリックし、「FollowPlayer」を追加します。

4、ProjectブラウザでAssetsの”FollowPlayer.cs”をAssets/Scriptフォルダへ移動します。


“FollowPlayer.cs”をクリックし、エディタ画面で編集します。


HierarchyビューでMainCameraをクリックします。
InspectorビューにFollowPlayerというコンポーネントが作成されています。
Targetの中に対象のプレイヤーをドラッグ&ドロップします。


プレイヤーとカメラとの距離を編集します。
プレイヤーの座標がposition(x:0, y:1.5, z:0)ですのでMainCameraの座標は以下のとおりにします。

・position(x:0, y:9, z:-5)
・rotation(x:60, y:0, z:0)


ゲームを再生すると、プレイヤーの動きに合わせてカメラが動きます。

まとめ

今回はプレイヤーを操作できるようにし、プレイヤーに合わせてカメラを動くようにしました。
やっとゲームみたいな動きになってきました!
ゲームのクリアとかアイテムとかリスタートの設定とかであと3〜4回ほど連載が続きます。
拙い文章ですが、お付き合いしていただけたらと思います。

今回は以上です。
最後まで見ていただきありがとうございます。

参照

初めてのUnity
https://unity3d.com/jp/learn/tutorials/projects/hajiuni-jp

佐藤

2017年10月入社の開発志望。
犬の可愛さに魅了されてます。
ハムスターが天使でした。
いろいろな言語を模索中。
スクリプトですべて自動化させたい。

※記事の内容は保証はしておりません(執筆時期や実施環境により挙動が変わるものがある為)。
別途検証してご利用いただくことをおすすめいたします。