2018.07.12
2021.08.12
Fabeee社員ブログ
こんにちは!私は白いパンです。 日本のゲームの好きで、日本に来て、ゲームを開発する外国人です。
今回はUnityを使います。 自分もUnityはそんなに上手ではありません。 教えるではなく、みんなで勉強する意味でブログにします。
目次
shootingゲームを作ろう
早速始めましょう。
Unityのインストール
Unityのマニュアルを参照してください。 →→→Unityインストール マニュアル←←←
プロジェクトを作成
Unityを起動して、右上のNewを選択する。
今回は2Dゲームを作るので、Templateで2Dを選択する。 プロジェクト名を入力します。サンプルではShootingSampleにする。 Create projectを押します。
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
素材を準備
今回は2Dゲームを作るけど、Unityを生かすために、3D素材を使います。 Blenderを利用して、簡単なモデルを作りました。 Blenderのホームページ ---素材ダウンロード fighter.zip 素材を選択してProjectビューにドラッグ&ドロップしましょう。
戦闘機を配置
素材から戦闘機のモデルを選択して、シーンにドラッグ&ドロップする。 そして、戦闘機の大きさを調整しましょう。
戦闘機が暗いですね。光源を追加しましょう。
明るく見えました。w
キーで動きをコントロール
先ずは、キーボードで戦闘機の動きをコントロールしましょう。
素材欄で右クリックして、Create-> C# Scriptを選択して、C#スクリプトを作成する。
ファイル名はFighter_csにします。 そして、Updateメソッドの中身を書きます。
void Update() {
// 左キーの動作
if (Input.GetKey (KeyCode.LeftArrow)) {
transform.Translate ( 0.1f, 0, 0);
}
// 右キーの動作
if (Input.GetKey (KeyCode.RightArrow)) {
transform.Translate (-0.1f, 0, 0);
}
}
C#スクリプトを飛行機モデルにドラッグ&ドロップする。
プレイして見ましょう。
指で動きをコントロール
スマホには、キーがないですね。 スマホで動かすために、ちょっと修正が必要です。 先ほど作った C#スクリプトFighter_csを開いて、中身を更新します。
void Update() {
// タッチ確認
if (Input.touchCount > 0) {
// タッチ情報を取得
Touch touch = Input.GetTouch (0);
// 移動量を取得
float x = touch.deltaPosition.x;
float y = touch.deltaPosition.y;
// 感度
float sensitivity = 0.2f;
float move_x = System.Math.Sign(x) * sensitivity;
float move_y = System.Math.Sign(y) * sensitivity;
// 全体座標で動くように
transform.Translate(move_x, move_y, 0, Space.World);
}
}
ビルドして、確認しましょう。
まとめ
今回はUnityの基本操作を勉強しました。如何でしょうか。 Unityの誕生により、ゲーム開発のハードルが結構低くなりましたね。 皆で一緒にゲーム開発をやりましょう。
次回は、弾を発射できるようにします。 お楽しみにしてください。