「Unity」使ってゲームを作る!


この記事は いえらぶGROUP Advent Calendar 2020 3日目担当KURIeIGHTが担当します!

今回はゲーム開発ツールの「Unity」を使い開発をしてみました。
学生時代illustratorやPhotoshopをバンバン使ってきた身(Unityと繋がりあるのか?)としてUnityはずっと使ってみたかったので長年の夢が叶いました!!

What is Unity?

Unity(Unity3D)は、IDEを内蔵するゲームエンジンである。 2005年にMac OS Xに対応したゲーム開発ツールとして誕生した。100万人以上の開発者が利用している[4]。開発はユニティ・テクノロジーズ(英語版)。日本法人はユニティテクノロジーズジャパン合同会社。 クロスプラットフォームに対応しており、モバイルゲームやパソコンゲーム、ブラウザゲームなどの製作に用いる。 ゲームエンジン自体はC言語/C++で書かれており、開発者はC#を用いたプログラミングが可能である。

2015年10月にリリースされたバージョン5.2.2現在、iOS、Android、Tizen、Android TV、Windows、Windows Phone 8、Windowsストアアプリ、macOS、Linux、ウェブブラウザ (WebGL)、PlayStation 3、PlayStation 4、PlayStation Vita、Xbox 360、Xbox One、Wii UそしてVR/AR向けの開発に対応している[5]。また、2016年1月8日からは、パチンコ・パチスロを含む日本国内の遊技機およびアーケードゲーム機開発用ライセンス「Unity for 遊技機」の販売も開始された。
【引用:wikipedia

Unityで迷路を作る?

環境
Unity:2019.4.15f1

手順
①スタート位置とゴール位置を迷路の正解経路を立方体オブジェクトで簡単に作る
② ①で設置した立方体をもとに壁を作成
③簡単なプレイヤーオブジェクトをスタート位置に置く
④プレイヤーオブジェクトを十字キーで動かすコードを「C#」で記載

①迷路コース

④のコード

c#:Player.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Player : MonoBehaviour
{
    // Start is called before the first frame update
    void Start()
    {

    }

    // Update is called once per frame
    void Update()
    {
        if (Input.GetKey(KeyCode.UpArrow))
        {
            transform.position += new Vector3(0,0,-0.1f);
        }
        if (Input.GetKey(KeyCode.DownArrow))
        {
            transform.position += new Vector3(0,0,0.1f);
        }
        if (Input.GetKey(KeyCode.RightArrow))
        {
            transform.position += new Vector3(-0.1f,0,0);
        }
        if (Input.GetKey(KeyCode.LeftArrow))
        {
            transform.position += new Vector3(0.1f,0,0);
        }
}

まとめ

・クラス名とファイル名が合ってないと動かない。大文字小文字も区別する。(PHPにもあった気がする)
・Unityの操作ムズイ!!いままで教わってきたY軸とZ軸が逆?
 →オブジェクトが3Dなので柔軟な発想が大事。
・PHPしか触ってきてなかったけど、ほかの言語を触ることによって、似てるところ全く違うところが多々あって楽しい!
・Unityだけでゲームを完成させるツールではなく、プロトタイプを作るのにぴったりだと思う。自分のイメージをすぐ形にしやすい。