【初心者向け】Unityの学習 はじめの一歩

「3Dゲームを作ってみたいんだけど難しそうだしなぁ」

「Unityは触ったことがないけど,いつか触ってみたいなぁ」

「ゲームを作りたいけど、どこから手をつけていいか分からない」

と躊躇している方は多いかもしれません。

そんな方に朗報です! Unityを使えば,驚くほど簡単に3Dゲームを制作することができます。あなたも今から初めましょう。Unity!。

IT、ソフトウェア業界やゲーム開発に携わる人の間で話題になっている「Unity(ユニティ)」。Unityとはゲーム開発のためのエンジンで、世界で有名なゲームメーカーにも採用されています。

とはいえ、「名前は聞いたことがあるけど、Unityが具体的にどういうもので、どんなメリットがあるのかまでは知らない」という人も多いのではないでしょうか。

今回は、Unityの基礎知識や特徴、実際にUnityで開発されたゲーム作品、学習方法やゲームの作成のさわりをご紹介します。

Unity概要

Unityとは

Unityと名前が付いたプロダクトはいくつかありますが、もちろん「Unity Technologies社の公開しているゲームエンジン、開発環境」を指します。ゲーム開発では世界シェアナンバー1を誇り、最も使われているゲームエンジンです。

2005年に WWDC: Worldwide Developer Conference 2 でバージョン 1.0 が発表されて以来、幾度となくバージョンアップが重ねられ、2018年7月時点で 2018.2 が最新バージョンとしてリリースされています。

ゲームエンジンとは

  • 描画
  • サウンド再生
  • UI(ユーザーインターフェイス)管理
  • データ作成,管理

などの要素を揃えた「ゲームを作るための統合開発環境」のことです。

同社いわく「上位の人気オンラインゲームの内34%がUnityで制作されています。」だそうですよ。

かつてのゲーム開発といえば、それぞれのゲームに合わせた自社ゲームエンジンを使うのが一般的でした。現在も42%が自社のゲームエンジンで開発していますが、Unityは急速にシェアを伸ばし、ゲーム開発の事実上の業界標準となってきています。

なおライバルとなる製品にはUnreal Engine4や、RPGツクール、吉里吉里、Cocos2d-xなどがありますね。

ゲームエンジンの必要性

近年は、家庭用ゲーム機やPC、モバイルアプリ、VRなどプレイするための機器が増え、プラットフォームが多様化しています。モバイルゲームに限っても、iOSやAndroid、Windows Phoneなど、それぞれの端末に対応したプログラミングが必要です。

そこで、各プラットフォームに対応するゲームエンジンを使って作成すれば、アルゴリズムを変更する手間を省けるため、効率的にゲームを作れるというわけです。



Unityの特徴

Web上には、性能や対応プラットフォームの異なるさまざまなゲームエンジンが存在します。では、無料のライセンスもあるUnityには、ゲームエンジンとしてどのような特徴があるのでしょうか。

マルチなプラットフォーム

Unityを使えば、モバイルやデスクトップ、ゲーム機、Webなどに出力してプレイが可能です。

例えば、モバイル向けプラットフォームではiOSやAndroid、Windows Phone、Fire OS、デスクトップ向けならばMacやWindows、Linux、コンソールゲーム機向けならばXboxやPS3、PS4、PlayStation VITA、Wii U、そのほかVR/ARやSmart TVなどにも幅広く対応しています。

ノンプログラミング

簡単な3Dゲームの制作なら、プログラミングの必要はありません。これまで初心者には困難とされてきた3Dゲームの開発も、キャラクターを自由に動かしたり、ゲームステージを設置したりと専門知識がなくても、比較的容易にロジックを実装できるように設定されています。

非プログラマとプログラマが共同で使えるツールなのです

ゲームのオブジェクトをGUIで配置して,それらを操作するスクリプトを少し書くだけで,ゲームを作ることができます。スクリプトを書くのに使うプログラミング言語は,C#UnityScript(静的型付JavaScript)⁠,Boo(静的型付Python)から選ぶことができます。

2D、3Dの両方に対応

Unityは2Dゲーム、3Dゲームの両方に対応しています。PS4のグラフィック重視のゲームなどは3D、スマートフォンのソーシャルゲームでよく使われるのは2Dです。2Dゲーム用の物理エンジンやスプライトなどの機能も強化され、さまざまな種類のゲームを作成できます。

Unityが選ばれる理由

数多くのゲームエンジンがある中で、個人のプログラマーからNintendoやSonyなどの大手メーカーまでがUnityを選ぶのには理由があります。

はじめからフルセット

Unityが登場する以前は、個人が「ゲームを作りたい」と思っても、次のような機能をイチから作るところから始めなければなりませんでした。

  • 画像や文字などを描画
  • 音声を再生
  • 3D モデルの空間上での論理的な配置を管理
  • ゲーム内で用いる物理演算のシミュレーション
  • ゲームコントローラなどからの入力を受け付け
  • 外部のデバイスやサーバとの通信
  • etc…

Unityは、これらの機能をはじめからフルセットで用意してくれているのです。

価格が安い

Unityには、目的やレベルに合わせて4つのライセンスが用意されています。<Personal><Plus><Pro><エンタープライズ向けUnity>

このうち、Unityの機能を試したい人や趣味でゲームを作成したい人、初心者、学生向けのプラン<Personal>はなんと価格:無料。無料でも、すべてのコアエンジンの機能やサウンド、アニメーションなどの最新機能が利用できます。

プロも使う本格仕様

NintendoやSQUARE ENIXは、自社タイトルのゲームエンジンとしてUnityを正式に採用しています。大手企業のゲームやプロクリエイターも使用するほど本格仕様のゲームエンジンで、アクションやRPG、パズル、シミュレーションゲームなど、さまざまなゲームに対応しています。

ゲームの基礎となるエンジンが安定していることで、機能や環境整備に時間をかけず、制作をスムーズに進めることができます。

アセットストアの充実

ほかのユーザーが作成したゲームに使用する3Dモデルや音声,プログラムの部品などがアセットストアで公開・販売されています。キャラクターモデルやテクスチャ、オーディオ、スクリプト、エディタの拡張機能などが簡単に入手できるので、効率的にゲーム開発を行うことができます。

また、自分のアセットを販売することも可能です。

Unityが採用された作品事例

Unityを利用して制作された具体的な事例をご紹介します。

白猫プロジェクト(コロプラ)

スマートフォン向けの本格的なアクションRPGです。テレビCMでもおなじみの人気ゲームで、Unityの3Dゲームで開発されています。Plus以上のプランで使用できる、マルチプレイヤー機能により、同時プレイが可能です。

Pokemon GO(Niantic, Inc.)

UnityはVR/ARのゲーム制作にも力を入れており、近年その性能を世界にアピールさせたのが、スマートフォン向けのVR/ARのゲームPokemon GOです。

AR機能により、画面内に現実風景を映し出し、その上にポケモンを表示させてポケモンを捕まえるゲームで、リリース直後から爆発的に流行しました。

teamLabBody(チームラボ)

Unityは、ゲーム以外の分野にも活用されています。teamLabBodyは医療教育の分野で使用されている3D人体解剖アプリです。

人間の骨格や関節の動きを3Dで忠実に再現したり、3Dの人体模型や各部位を詳細に表示したりできます。テキストで学ぶよりもわかりやすく、人体解剖や運動学的知識の習得、治療や手術の計画立案にも役立ちます。

visiMax Mobile(竹中工務店)

建物内部や外部の様子をVRで体感できるシミュレーターです。模型やCGではわからなかった詳細な質感や日当たり、広さの感覚などを設計段階で確認できることで、施工後のイメージの食い違いを避けるだけでなく、プレゼンテーションの訴求力をアップさせることができます。

初心者でも使えるUnityで簡単に開発を

Unityを使って制作できないゲームはほとんどありません。
複雑なプログラミングなしで3Dゲームなどの最先端のゲームを簡単に制作できる点は大きな魅力でしょう。 

3D/2D、VR/ARなど新しい機能に次々に対応しており、その特徴から、Unityの活用はゲームだけには留まらず、その他の分野にも活用が広がっています。 
これからさらなる活用が期待されるUnityを、まずは無料プランで試してみてはいかがでしょうか。 

Unityの入門におすすめのサイトと書籍

Unityの公式マニュアル

どのようなアプリを使うときにも頼りになるのはやはり公式マニュアルです。不明点があった場合には、Unityの公式マニュアルを参考にしましょう。

Unity 入門 – Unity マニュアル

Unity マニュアル – Unity マニュアル

はじめてのUnity

公式サイトのチュートリアルです。

チュートリアル へ

ドットインストール

ドットインストールは初心者向け動画学習サイトです。

Unityの講座は26回に分かれており、「Projectをつくる」「Transformを使う」などといったように1テーマを2分〜3分の動画で消化していく形になっているのでスキマ時間をうまく活用しながら勉強を進めることができます。

(新シリーズがリリースされました)

ドットインストール へ

マンガでわかるUnity

わかばちゃんのマンガでわかるシリーズにUnityのシリーズがあります。アニメのストーリーとまとめ 解説からなっています。

マンガでわかるUnity へ

『Unityの教科書』

    • 著者北村 愛実
  • 価格¥ 2,786(2018/10/07 16:10時点)
  • 出版日2018/06/21
  • 出版社SBクリエイティブ

Webサイトや動画も良いけれど、本を片手に学びたいという方もいらっしゃるでしょう。そのような方におすすめしたいのが、Unity入門において定番となっている書籍『Unityの教科書』です。

amazon へ

ゲームの作成(さわり)

Unity開発の流れ

GameObjectをSceneに配置する

Componentをくっつける(場合によっては自作)

実際に動かして調整 

Unityのインストール

同社のサイトからUnity Personalのインストーラーをダウンロード、実行します。基本的に画面の指示に従うだけです。
(2018年5月に、最新バージョンとなるUnity 2018.1がメジャーリリース)

Unity 公式ウェブサイト

開発のターゲットに応じてインストールするコンポーネントを選択します。例えばChromeやFirefoxなどのウェブブラウザで遊ぶゲームを作成する場合は「WebGLBuild Support」にチェックを入れておきましょう。

UnityでAndroid用アプリ開発をする予定ならばAndroid Build Supportにチェックを入れ,
iPhone用アプリを開発するならばiOS Build Supportにチェックを入れて下さい。

もしもここでチェックを入れなくても後で追加が可能なので,とりあえずPCで動作すれば良いという人はデフォルトのままでNextを押して次に進んで構いません。

また、まだインストールされていない場合はVisual Studio 2017 Communityを一緒にインストールすることも出来ます。スクリプト(C#のソースコード)の編集やデバッグに使います。

インストールが完了し,Unityを起動させると初回起動時にUnityのアカウントでのログインを要求されると思います。

アカウントを作成・認証(メールアドレスが必要です)し簡単なアンケートに答えると、いよいよUnityを使用出来ます。

Unity 公式ウェブサイト

このURLの右上の人のマークからUnity IDを作成できます

インストール手順は以下のサイトも参照ください。

https://mono-pro.net/unity-setup2018

Unityプロジェクトの作成

Unityを起動すると、以下のような画面が出てきます。

Project」タブに現在PCに保存されているUnityプロジェクトの一覧が、「Learn」タブにはチュートリアル等が表示されています。

右上の「New」ボタンを押し、適当なプロジェクトを作ってみましょう。

Unityにようこそ

こちらがお世話になるUnity Editorの画面です。

UnityのエディタはUnityのウィンドウの中に複数のタブが配置されています.それぞれのタブはUnityの細かく分けた機能を担っています。

  • ①ヒエラルキータブ(Hierarchy)
  • ②シーンタブ(Scene)
  • ③インスペクタータブ(Inspector)
  • ④プロジェクトタブ(Project)

Play, Pause, Stepボタン
これはタブではありませんが,作ったものを実際に動かしてみるときに使うボタンです。
左からPlay,Pause,Stepボタンになります。

  • Play : 動作開始(実行)
  • Pause : 一時停止.これをクリックしてからPlayを押すと1フレーム目で一時停止される
  • Step : 一時停止した状態でクリックすると1フレーム時間が進められる.デバッグに便利

ヒエラルキータブ
現在シーン内に存在しているオブジェクトを管理できるタブ.
Unityをイメージで説明しますが,仮想3D空間があってその中でオブジェクト(物体)を配置して,その仮想空間内にあるカメラに写ったものがアプリとして操作するときの画面になります.

シーンタブ
ヒエラルキータブの説明に貼ったイラストのUnityのプロジェクト内の3D空間の様子がリアルタイムで見えます.
シーンタブでオブジェクトの直接操作や配置確認がリアルタイムで行えます.

③インスペクタータブ
オブジェクトの細かい設定ができます.
このタブ使わずして何も作れない!

プロジェクトタブ
スクリプト(C#言語で書かれたプログラム)やマテリアル(後述),画像ファイルなどといったプロジェクト内に存在するファイル一式が管理できます.ここに直接ドラッグ&ドロップするとUnityのプロジェクト内に画像などを取り込むことができます.

上の画像には重なって見えてないタブや表示されていないタブですが以下のタブは重要なので説明しておきます.

ゲームタブ(Game)
最終的にアプリで動作するときの画面.デフォルトのタブの配置ではシーンタブと重なっていますがPlayすると全面に出てきます.この画面ではオブジェクトの位置を調整したりはできませんが「マウスで実際画面操作をしたらこうなる」みたいな機能を実装してあったりすると,最終的な書き出し後のマウス操作のデバッグができたりします.

コンソールタブ(Console)
デバッグログが表示されます.スクリプトの記述にエラーがあったり,実行時にエラーが起きたりするとここに表示されます.スクリプトでエラーが出たりしたときは赤文字で表示され,そのエラーをダブルクリックすることで実際にプログラムのどこでエラーが起きているのか,ジャンプすることが可能です.(場合によってはできない時もありますが)

Unity(ユニティ)の操作チュートリアル

  • ゲームオブジェクトを追加(2種類)
    ー上部のメニューからGameObjectを追加
    ーヒエラルキーメニューから追加
  •  視点を変える
    ーaltキー   カーソルが目に代わる
    ーOptionキー
  • ズーム
    ーマウス マウスホイールで
    ーMac       タッチパッドで2本指のスワイプ
  • 視点の移動
    ー左上の手のアイコンをクリックするとカーソルが手のマークに
     (Hand Tool)になり、そのままおろしてドラッグする
  • オブジェクトを中心に戻す
    ヒエラルキーでそのProjectをダブルクリック
  • 空間を真横・真上かえあ見る
    右上のアイコンを使う
    ーx軸は左右方向
    ーy軸は上下方向
    ーz軸は手前・奥方向
  • 遠近法の有効/無効を切り替える方法
    左のマーク(⋖) 右のマーク(≡
  • ゲームオブジェクトを移動
    ヒエラルキーでオブジェクトを選択後、矢印で操作
    (インスペクタータブ)
    TransformのXYZの値を変えることで操作できる
  • ゲームオブジェクトの回転
    左上の3つ目アイコンをクリック
    ガイドが出るのでドラッグ
  • ゲームオブジェクトの拡大縮小
    左上の4つ目アイコンをクリック
    ガイドが出るのでドラッグ
  • Sceneの保存
    上部のメニューのFileからSave Scenes

アセットの導入

アセットとは、ゲームの部品です。

画像、3Dモデルデータ、エフェクト、音楽、効果音などの素材やスクリプト、完成プロジェクト、エディタの拡張まで様々な種類があります。

アセットストアで無料のものから数百ドルのものまで入手することが出来ます。

アセットストア へ

サンプルプロジェクトの導入

今回、試しにサンプルプロジェクト”Tanks! Tutorial”を入れてみます。(これは完成プロジェクトですので、新規プロジェクトを作って追加してください)

Tanks! Tutorial

アセットをインポート後、プロジェクトウィンドウを見ると色々追加されたのが分かると思います。

とりあえずSceneファイル(ここでは「_Complete…」という名前のUnityロゴのアイコン)を開いてみて下さい。

シーンビュー、ゲームビューを見ると、完成品のゲームの一場面があることが分かります。

画面上部のPlayボタン(三角)を押すと、Editor上のゲームビュー上でゲームを動かせます。もう一度押すと元に戻ります。

(WASDで移動、スペースで弾発射のようです)

サンプルプロジェクトのビルド

ゲームは作って終わりではないです。公開するために、ビルドしてみましょう。

メニューの「File」>「Build Setting」を開きます。

Platformのところで「WebGL」を選択し、「Switch Platform」を押します。

これでWebGLに出力する準備が出来ます。(少し時間がかかります)

次に「Add Open Scenes」を押し、現在開いているシーンを0番シーン(ゲームの起動時に開くシーンです)とします。

次に「Build」を押し、出力先のフォルダを選択します。空のフォルダを作ってそこを選択しましょう。

以上の手順を踏むと、完成品のゲームが出力されます。結構長いので気長に待ちましょう。

出力された「index.html」をブラウザで開くと、ゲームの動作が確認出来ます。

まとめ

Unity がゲーム作りのための基本機能を提供してくれるおかげで、ゲームクリエイターは以下のようなゲーム作りの本質に集中できるようになるのです!

  • ユーザを引きつけるような絵・3D モデル・エフェクトなどの制作
  • ユーザの心を揺さぶるような音楽の制作
  • ユーザを夢中にするゲームロジックのプログラミング

今回紹介しましたUnityは、大手企業のゲームやプロクリエイターも使用するほど本格仕様のゲームエンジンでゲームはもとより建築会社でVRで体感できるシミュレーターとして使われたりと大変注目されています。

簡単なゲームでも、アセットストアで素材・部品を入手できますので、初心者でも比較的容易にゲームを作ることができます。

これを機に、Unityを使って自分のやりたいゲームを考えて、作ってみましょう。

シェアする

  • このエントリーをはてなブックマークに追加