Unityでゲーム開発③:「Hello World」を表示させよう

Unityをダウンロード出来たら、最初はUnityを使って「Hello World」を表示させてみよう。このハローワールドを表示させるのも、はじめは意味の分からないことがたくさん出てくると思う。

いくつかの書籍やサンプルゲームに触れていく中で、わかってくることも多いので、今はそのまま進めていこう。

Unityでプロジェクトを作成する

まずは新しいプロジェクトを作成する。プロジェクトの名前は特に何でも構わない。保存先も自分が扱いやすいところならどこでもOK。

テンプレートも何でもOK。サンプルでは一応2D最後にしている。右下の「Create Project」を選択。

シーンの保存

無事に新しくプロジェクトが立ち上がる。まずはこのシーンの保存をしよう。

ゲームでいうと、ログインの画面、戦闘シーン、アイテムショップなど、たくさんの画面がある。その1つの単位をシーンと考えてもらっていい。

ログイン画面も一つのシーン、戦闘画面も一つのシーンだ。今回は「Hello World」を表示させるためのシーンを作るということだ。詳しくは以下のサイトを参考にしてほしい。


参考
シーンUnityマニュアル


参考
Unity Sceneの役割や使い方をざっくりまとめたQiita

左上の「File」の「Save Scene As」を選択する。これは日本語でいうと「名前を付けてシーンを保存」ということになる。

シーンに名前をつけるので、今回は「GameScene」として保存しよう

保存できると下の画面のプロジェクトウィンドウに「GameScene」が追加される。

C#スクリプトを作成する

今度は、下の枠内を「右クリック」して「Create」→「C# Script」というように選択。

C#のスクリプトが作成されるので、ファイル名を「Test」としておこう。

ゲームオブジェクトの作成

今作成したC#スクリプトにプログラムを書き込むだけでは、Hello worldを表示することができない。

何かしらのオブジェクトにこのC#スクリプトを読み込ませることで、Hello worldを表示できるようになる。なのでまず、ゲームオブジェクトを作成する。

現段階だと非常にわかりにくくなってしまうところなのだが、たとえばGameObjectには、ゲームプレイヤーや、敵モンスター、アイテムなどがある。

このゲームプレイヤーが敵モンスターと出会ったら、攻撃させたいと考えたとしよう。そうしたら、C#スクリプトを使って、ゲームプレイヤーを攻撃させるプログラムを書き、ゲームプレイヤーに読み込ませる。これをアタッチという。

Unityの場合、このゲームプレイヤーがおらず、C#スクリプトの攻撃プログラムだけあっても、プログラムは動作しない。改めてになるが攻撃用のC#スクリプトをゲームプレイヤーに読み込ませる、「アタッチ」という行程が必要だ。

今回EmptyのGameObujectを作ったのは、Hello worldを表示させるためのGameObjectを作りたかったのだが、ゲームプレイヤーのように実体がなくていいので、今回はEmpty(カラの)でGameObjectを作成する。

左上の「Create」から「Create Empty」を選択。

すると「GameObject」が作成される。このGameObjectに先ほどのC#スクリプトのTestファイルをドラッグ&ドロップしよう。アタッチするということだ。

これでスクリプトを書く準備が整った。

Hello worldを表示させるプログラム

先ほどつくったTestのC#スクリプトをダブルクリックすると、Visual Studioが開く。

続いてvoid Start(){}の中にDebug.Log(”Hello world”);と書き込もう。

ちょーざっくり言うと、void Startはプログラムが起動したときに動き出すプログラムで、void Updateはプログラムが動き出してから、コンマ単位で更新されるプログラムだ。

例えば陸上の短距離100m走のゲームを作ったとする。そうしたらゲーム開始時にプレイヤーをvoid Startの中で作成し、走る動作をvoid Updateの中にプログラムするといった感じだ。

詳しくは以下のサイトを参考にしてみてほしい。


参考
超初心者向け やっと納得、Unityを初めて触ると出てくるC#の何だあれの答えQiita

スクリプトを保存したら、Unityへもどって、上の方にある再生ボタン「▶」をクリックしよう。すると下のコンソール画面にHello worldと表示される。

まとめ

うまくHello worldと表示できただろうか。今回は本当に簡単なスクリプトを書いてみた。この中にもたくさんの知識が詰まっている。