この記事は いえらぶ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#」で記載
④のコード
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だけでゲームを完成させるツールではなく、プロトタイプを作るのにぴったりだと思う。自分のイメージをすぐ形にしやすい。