本連載「ゲーム開発初心者のためのUnity入門」はUnity 4.5の入門として、ゲームを作るまでのいろいろな処理を解説するものだ。実際にゲームを開発する連載ではない。あくまで、ゲームを作るための前段階という認識で読んでいただきたい。この入門編をマスターして、各自思い思いのゲームを作っていただければと思う。
初回は、Unityの特徴を紹介し、Unity 4.5の開発環境の構築手順を一から解説する。
今話題になっているUnityとは何なのか、皆さんはご存じだろうか?「よくは分からないが、名前だけは聞いたことがある」という方も多いのではないだろうか。
Unityとは、ユニティ・テクノロジーズ社が提供するゲーム開発プラットフォームだ。Unityの開発ツールは、3Dゲーム開発の手軽さとその物理エンジンが有名だが、2Dゲーム開発にも対応している。公式サイトでは「Game Engine」とあるが、実際にはゲームエンジンのみならず、開発環境や実行環境も含む「ゲーム開発プラットフォーム」と言った方が正しいだろう。
Unityはマルチプラットフォームにも対応しており、開発したゲームはデスクトップ(Windows、Mac、Linux)、iOS、Android、そしてコンソールゲーム(PlayStaion 3/4/Mobile/Vita、Xbox 360、Wii U)、そしてWebブラウザープラグイン(Unity Web Player)がインストールしてあるWebブラウザーなどなど多岐にわたって配布・販売が可能だ。
Unityは無料のFree版と有料のPro版(30日間の期間限定で試用も可能)があり、上記プラットフォームによっては、実装できる機能とできない機能があるので、注意が必要だ(PlayStaion系は全て無料になったばかり)。詳細は、「ライセンスのご案内」を参照してほしい。また、Kinect v2はUnityのPro版でしか動作しないので、注意が必要だ。
なお本連載では、無料のFree版でできることを紹介する。
アセットストアを展開しており、キャラクターモデル、プロップ、マテリアル、テクスチャ、背景ペイントツール、ゲーム制作ツール、オーディオエフェクト、音楽、ビジュアルプログラミングソリューション、スクリプト、エディター機能拡張などを入手・購入できる。また、そこに上記のようなアセットを販売することも可能だ。
日本を含む世界中で開発者が増え続け、ユーザーコミュニティがいくつも形成されている。また、Oculus Rift、Leap Motion、Kinectなど次世代のデバイスにも素早く対応し、それがまた人気を呼ぶという好循環を生んでいる。上記アセットストアでの販売・購入も盛んでエコシステムを形成している。
さらに、ゲームのみならず建築、医療、自動車、教育、プロジェクションマッピングなどさまざまな分野で活用されるようになってきているので、ゲームが嫌いな人も無視できない存在になりつつあると言っていいだろう。
なぜUnityは、ここまで人気を得たのだろうか。上記のようなマルチプラットフォーム対応、アセットストアももちろん人気の理由だが、これはあくまでも後から追加されたものだ。初期から続くUnityのすごいところは開発環境でノンプログラミングで3Dキャラクターを動かしたり、3Dのゲームステージを設置したり、専門知識がなくても物理エンジンをすぐに導入できたりすることが可能な点だと考える。
例えば、従来iPhoneアプリで3Dオブジェクトを扱うのは大変な作業が必要だった。詳細は少し古い記事だが、「OpenGL ESが大変な3Dアプリ開発を楽にするUnity」を参照してほしい。
この手軽さが従来の「複雑で困難」とされてきた本格的な3Dゲーム開発のハードルを下げ新たな3Dゲーム開発者を次々と生み出したといえるだろう。一方で、ノンプログラミングはあくまでも基本的な動作に限られるので、少し複雑な処理をする場合のために「Unity Scripts」も用意されている。
Scriptつまり、Unityで使えるプログラミング言語は「JavaScript」「C#」「Boo」の3つだ。従来の3Dゲーム開発で必要だったC/C++言語を使ったことがなくてもロジックを実装できるのもまた、Unityが人気を得た要因だろう。
「JavaScript」は通常の「JavaScript」とは多少異なり、「Unity用JavaScript」となっているので、注意が必要なところもある。C#については、2009年にはC#を使ってiPhoneアプリ開発ができるツールとしてUnityが注目を集めたことも覚えておいてほしい(参考)。Booについては、各自Webの情報を参照してほしい。
これらの中で、今回の連載で使用するプログラミング言語は上記の「Unity用JavaScript」だ。初心者向け連載ということで、触った方が多いと思われるJavaScriptを使用している(数行C#を使用するかところも出てくるが)。
基本的にはノンプログラミングでゲーム開発するための連載なので、JavaScriptを解説する部分はそれほど多くないが、適宜C#やBooに置き換えてもらっても問題ないだろう。
Unityがどんなものか分かったところで、Unity 4.5の開発環境をセットアップしてみよう。Unityの開発環境はMacとWindowsで使えるが、本連載ではWindowsで開発を行う。
Copyright© 2014 ITmedia, Inc. All Rights Reserved.