はじめに
当講座はUnityを使った「ゲームの作り方」に焦点を当てており、「Unityの基本的な使い方」が既に分かっているものとして解説を行っています。ただ、そうはいっても基本的な使い方や概念について何も説明がないというのも酷な話だと思います。そこで、ここではそれらについてごく簡単に説明を行います。
なお、新しくUnityの入門サイト「Unity使い方ガイド」を作ったので、良かったらそちらもご覧ください(Unityのインストール方法から各機能の紹介まで幅広く解説しています)。
※以下は2019年現在の内容です。Unityのバージョンによって画面等が多少変わる場合があるのでご注意ください。
画面の見方
まず、Unityの画面について少しだけ説明しておきます。
上の画像がUnityエディターの画面です(レイアウトは私好みに変更してあります)。画像内に赤で番号を振ってあるところがUnityで特に重要なウィンドウで、一つずつ説明していくと次のようになっています。
- シーンビュー:
シーンの様子を見ることができます。シーン内のゲームオブジェクトを動かしたいときはこの画面から操作します。 - ゲームビュー:
ゲームの実行結果が表示されます。 - ヒエラルキー:
シーン内のゲームオブジェクトの階層を表示します。 - プロジェクトビュー:
プロジェクト内のフォルダやファイルを見ることができます。 - インスペクター:
ゲームオブジェクトの情報(コンポーネント等)を見ることができます。
他にも様々なウィンドウがありますが、ひとまずは上記のものだけ分かればOKです。あとは使いながら慣れていきましょう。
Unityの基本概念
次に具体的な使い方を説明する前に、Unityではどのような考え方でゲームを作っていくのかを説明します。すこし難しそうな話になってしまいますが、Unityの根底を流れる概念が分からないといつまで経ってもUnityを使いこなせるようにはなりません。何となくでもいいので理解しておきましょう。
シーン
まず、Unityには「シーン」という概念があります。シーンはザックリ言うと「ゲームの舞台」のこと。ここに床やキャラクターなどを配置していくイメージですね。これはそんなに難しくないと思います。
ゲームオブジェクト
ゲームオブジェクトは「ゲームに登場するモノ」のことです。この「ゲームに登場するモノ」というのは、例えばキャラクターやアイテム、マップの床まであらゆるものが該当します。さらに目に見えるものだけではなく、ゲームの進行を管理したり、音を鳴らしたりするのもすべてゲームオブジェクトです。
このようにUnityでは様々なゲームオブジェクトをシーンに配置することでゲームを作っていくのです。
プレハブ
プレハブは簡単に複製できるゲームオブジェクトのことです。単に複製しやすいだけではなく、おおもとのデータを変更するとコピーのほうのデータも変更される(※)ので普通に複製するよりも管理が楽です。
※コピーのほうが独自のデータを持っている場合はそちらが優先されます。
コンポーネント
コンポーネントは初心者の方には分かりづらい概念だと思いますが、「ゲームオブジェクトに持たせられる機能」というと分かりやすいと思います。
例えば空のゲームオブジェクトはそのままでは何の機能も持ちません。しかしMesh FilterとMesh Rendererコンポーネントをアタッチ(=機能追加)すれば3Dの物体として表示されるでしょうし、さらにRigidbodyコンポーネントをアタッチすれば物理演算を行えるようになるでしょう。
このようにUnityではゲームオブジェクトに様々なコンポーネントをアタッチすることでゲームオブジェクトの動作を決定していきます。
カメラ
Unityは元々3Dゲーム向けのゲームエンジンとして作られたことから、3Dゲームだけでなく2Dゲームを作るときにも常に「カメラ」の概念があります。カメラはゲーム画面にシーンを映すための機能です。したがってカメラコンポーネントがアタッチされたゲームオブジェクトがないとゲーム画面には何も映りません。
ライト
それでカメラでゲームオブジェクトを映しても、3Dの場合はそこに光が当たっていなければ暗いままです。その理由は「ライト」の概念があるからです。Unityでは光の当たり方をシミュレーションしてゲーム画面を表示するので、適切なライティングを設定する作業も欠かせません。
C#スクリプト
Unityではプログラミング言語「C#」を使って新しい機能をもつコンポーネントを作ることができます。新しいコンポーネントを作ることでゲーム制作の自由度は格段に広がります。C#の知識があればほぼ何でもできると思ってもらっても構いません。
ただ、プログラミング言語というとかなり抵抗がある人がいると思います。しかしUnityではプログラミングの知識なしでゲームを作ることも全く不可能ではありませんが、残念ながらまともなゲームを作るならC#の知識が必須です。つまりUnityを使いこなすには、Unityの使い方を知るだけでなくC#でのプログラミングの知識も必要なのです。ここがUnity初心者の方にとって一番大変なところだと私は思います。
アセット
Unityでは、プロジェクトに手軽に導入できるスクリプトや素材の集合体を「アセット」といいます。アセットはUnity公式の「アセットストア」からダウンロードできるほか、自分で作って他のプロジェクトで使いまわすことも可能です。
Unityの基本的な使い方
ではUnityで最も基本となる操作方法を少しだけ説明しておきます。これら以外は普通のPC操作と大して変わらないので安心してください。
ゲームオブジェクトの新規作成・複製・削除
新規作成
ヒエラルキーで何もないところを右クリックすると、出てきたメニューの下半分の項目から色々なゲームオブジェクトを手軽に作ることができます。なお、既にあるゲームオブジェクトの上で右クリックして新しいゲームオブジェクトを作ると、右クリックしたゲームオブジェクトの子として新しいゲームオブジェクトが作成されます。
複製
複製したいゲームオブジェクトを選んでCtrl+Dを押してください。
削除
Deleteキーで一発削除できます。シーン上のゲームオブジェクトは何の警告もなく削除されてしまいますが、Ctrl+Zで元に戻せます。
シーンビューの視点移動
- シーンの視点の位置移動:
ホイールクリックを押した状態でドラッグ、または右クリックしたままでWASD/方向キー(←便利) - シーンの視点の方向変更:
右クリックを押したままドラッグ - シーンの拡大・縮小:
マウスホイール
ゲームオブジェクトの移動・回転・拡大縮小
- 移動:
十字の矢印マーク(左から2番目)を選択した状態で、動かしたいオブジェクトを選択してドラッグ
Ctrlキーを押しながらドラッグすると一定間隔で移動できる - 回転:
回転矢印マーク(左から3番目)を選択した状態で、回転させたいオブジェクトを選択してドラッグ - 拡大縮小:
四角いマーク(左から5番目)を選択した状態で、拡大縮小したいオブジェクトを選択してドラッグ
コンポーネントをゲームオブジェクトにアタッチする
ゲームオブジェクトを選択した状態でインスペクターの「Add Component」ボタンからアタッチしたいコンポーネントを選ぶ。C#スクリプトの場合はプロジェクトウィンドウからドラッグ&ドロップしてもOKです。
以上、ごく簡単にUnityの使い方や基本概念について説明しました。初めての方にはちょっと難しい内容だと思いますが、当講座の内容を理解するうえでとても重要ですので何となくでも理解していただきたいなと思います。