はじめてのゲーム製作
岐大祭2018 Unityこの記事は、岐大祭に向けてのアドベンドカレンダー的な記事を書く企画の 5 日目です。
私は、今までにプログラミングをしたことはなく今回作ったものが初めての作品です。 プログラミングに関しては全くの初心者なので、本当に基本的な話しかできませんが学んだことを書いていきます。
作品
今回、作ったゲームは脱出ゲームです。 部屋に閉じ込められた状態から謎を解いて脱出を目指すというものです。
素材
ゲームを作る際には 2D または 3D のどちらかですが今回は 2D の脱出ゲームをつくりました。 ゲームで使う素材は全て いらすとや から探してきました。
実は、この素材集めがゲーム製作において結構な時間を費やしました。 集めているときに気づきましたが、自分が望んでいる理想的な素材がなかなか無いので大変でした。 初心者がゲームを作るのやめてしまう原因としてはこの点が大きいのではないかと個人的に思いました。
Unity
今回の脱出ゲーム作りではプログラミングよりも Unity の使い方を学ぶことのほうがメインでした。 なので Unity での基本的な作業についてまとめていきます。 例として、押すと Scene を遷移させるボタンの作り方をかいていきます。
プログラムを書く
ゲームを起動していきなりゲームがはじまることはありません。
スタート場面を通してからゲームをプレイしていきます。
「Project」 から 「Create」 → 「C# Script」 を選んでコードを書いていきます。
Scene を呼び出すためには SceneManagement
という名前空間が必要です。
using UnityEngine;
using UnityEngine.SceneManagement;
そして Scene を読み込むメソッドを書いていきます。SceneManager
クラスから LoadScene
メソッドを呼んで()内の名前の付いた Scene を読みこみます。
public void StartButton() {
SceneManager.LoadScene("GameScene");
}
また File メニュー内の Build Setting で Scene in Build にも読みこみたい Scene を設定しておきます。 Scenes in Build に追加した Scene の右側には数字がふられています。 ゲームをプレイするときは 0 のふられた Scene からはじまります。
オブジェクトにスクリプトをあてる
スクリプトは単体では意味がなくオブジェクトと一緒にすることではじめてその命令が実行できるようになります。 Button にスクリプトのメソッドをあてる順序をまとめていきます。
- 「Hierarchy」 の 「Create」 をクリックして 「Create Empty」 を選択する
- 「Create Empty」 で作られたオブジェクトを選び 「Inspector」 から 「Add Component」 をクリックする
- 「Component」 のなかから 「Scripts」 をクリックしてあてたいスクリプトを選択する
これで空オブジェクトからスクリプトに書かれたゲーム中の動作を管理するオブジェクトになりました。
ボタンにメソッドを割り当てる
「Hierarchy」 からつくった Button をクリックすると 「Inspector」 に Button のもつ様々な情報が表示されます。 Button は Button コンポーネントをもち、そこにスクリプトで書いたメソッドをあてていきます。
- 「Inspector」 の 「OnClick()」 にある+のところをクリックする
- 「None」 とあるところにオブジェクトをドラッグ&ドロップする
- 「No Function」 からスクリプト名をクリックして 「StartButton()」 を選ぶ。
最後に
ゲーム作りを通して脱出ゲームがどのように動いているか知ることができて面白かったです。 また新しく作品をつくったときはもっといい記事が書ければと思っています。