【初心者向け】Unityで2Dゲームを作るための4つのステップ
皆さんUnityでのゲーム開発といえば3Dゲームが思い浮かぶのではないでしょうか?実は3Dゲームだけでなく、2Dゲームの開発にも積極的に利用されています。
今回は3Dゲーム開発だと思われがちなUnityについて、プログラミング初心者向けに、Unityで2Dゲームを開発するための概要と、実際にゲーム開発をするために必要なステップについて解説していきます。
そもそもUnityとは何なのか?
元々は3Dゲーム開発用マルチプラットフォーム対応のゲームエンジン
Unityは2005年6月に3Dゲーム開発用マルチプラットフォーム対応のゲームエンジンとして発表されました。当初はMac OSのみでしたが、すぐにWindows環境でも開発できるようになりました。
バージョン4.3から2Dゲームに特化した機能が追加
Unityはその後もバージョンアップごとに機能追加や改善を繰り返し、2013年11月に発表されたバージョン4.3から2Dゲーム制作に特化した機能が追加されました。
スマートフォン対応、ライセンス体系の変更
その後も順調にトレンドを吸収していったUnityは、当初無料ではできなかったスマートフォン向けのビルドも2017年8月現在では無料で行えるようになっています。
バージョンのナンバリングも5.6.3を最後に、2017年からはバージョン表記が2017.xとなました。2017年8月現在、最新バージョンは「Unity 2017.1.0f3」となっています。
2Dゲーム開発機能の追加から4年目になり、機能も洗練されてきてきました。今では2Dゲーム開発の選択肢に入るほどの安定した開発環境になりました。
「独学でのプログラミング学習に苦戦していませんか?」
独学でのプログラミング学習の挫折率は9割以上と言われています。
✔プログラミングを身につけて、年収をUPさせたい
✔ITエンジニアになって、働き方を変えたい
✔生活を変えたいけど、何からやればよいか分からない
と思っているあなたへ向けて、
挫折率9割に負けない「プログラミング学習必勝法」を無料でプレゼントします!
完全無料なので、悩む前に今すぐ下のバナーをクリックして資料を読んでみてください!
\簡単30秒/
下のバナーからLINE友だち追加をして、無料で限定資料をGET!
Unityで2Dゲームを開発するメリットとは?
Unityの基本的な機能は2D/3Dで共通なので、どちらか一方で開発してもノウハウが活きることが多いです。Unityで2Dゲームと3Dゲーム開発をする場合で、一番の違いは座標の考え方でしょう。
2Dゲームは平面なので座標計算がシンプル
3Dゲーム開発は三次元の座標で計算します。縦横高さですね。
2Dゲーム開発は、縦横の二次元で座標を計算します。この違いは「Sprites(スプライト)」と呼ばれるUnity 2D独自の概念です。すでにUnityで3Dゲームを作ったことのある人は、まずはこの考え方を覚える必要があります。
マルチプラットフォームに対応
初心者がUnityでゲーム開発をしようと考えた場合、ほとんどがスマートフォン用向けのゲームになるでしょう。
スマートフォンのOSはほとんどがiPhoneとAndroidの2つに分けられます。しかし、これらのOS間にアプリの互換性はありません。
そのため、今までのゲーム開発はiPhone用とAndroid用と、それぞれでプログラミングすする必要がありました。しかし、Unityの場合はビルドの対象を選ぶことでiPhoneとAndroidの両方に対応したゲームを開発することができます。
家庭用ゲーム機にも移植可能
Unityならスマートフォン用に開発したゲームを、家庭用ゲーム機に移植することも可能です。
2016年7月より任天堂は、開発者向けポータルサイト「Nintendo Developer Portal」をアカウントを持っていれば、任天堂のゲーム機向けタイトルを配信できるようになりました。
Unityで開発したゲームも配信可能なので、これからのゲーム業界は新たな時代を迎えるでしょう。
ドキュメントやライブラリが充実している
急速にUnityが流行った理由は、ドキュメントやライブラリが充実していることが大きいでしょう。
Unityは日進月歩で進化を続けており、初心者向けのサイトやセミナーも増えてきています。解説サイトや書籍も多く、すでに初心者でも始められる土台はできています。
以上が2Dでゲーム開発をするメリットになります。初心者がUnityでゲームを作ってみようと思ったときには、まずは2DゲームでUnityの機能や操作に慣れてみるのも良いでしょう。
https://web-camp.io/magazine/archives/10696
プログラミング初心者だと難しいのでは?
Unityでゲームを作りたいと考えたとき「未経験者ではゲームを作れないのでは…?」「ゲーム開発はやりたいけけどプログラミングはちょっと…」と思うのではないでしょうか。
初心者でも簡単にゲーム開発ができるのがUnityの魅力
今までのゲーム開発の場合、プログラム言語を覚えることは必須でした。しかし、Unityはその常識を覆すように初心者でも簡単にゲーム開発ができる部分が大きな魅力です。
特に「C++」は数あるプログラム言語でも特に習得が難しく、ゲーム開発をC++で挫折した人も多いです。
Unityでは誰でも無料でゲーム開発ができるという敷居の低さや、初心者でも分かりやすい開発画面で今からゲーム開発を始める人には最適な開発環境です。
プログラミングなしで2Dゲームが作ることができる
Unityはアセットと部品を組み合わせることで、プログラミングなしで動くゲームも開発が可能です。
プログラミングに苦手意識のある人は画面メニューやマウス操作だけで、キャラクターを動かしたり、画面効果や効果音を変えられたりするのは大きなメリットでしょう。
まずはUnityの操作に慣れよう
Unityの画面は全て英語で書かれています。これは初心者が難しく感じてしまう要因だと思います。メニューや英単語は比較的簡単なものが多く、画面のインターフェースも分かりやすいものになっています。
Unityを使いながら操作に慣れることです。Unityを個人で使用する場合、無料で使うことができます。まずはUnityをインストールして画面を操作してみることから始めましょう。
では、いよいよUnityで2Dゲームを作るための具体的なステップについて解説していきましょう。
「プログラミング学習に苦戦しているあなたへ」
独学でのプログラミング学習の挫折率は9割以上と言われています。
✔プログラミングを身につけて、年収をUPさせたい
✔ITエンジニアになって、働き方を変えたい
✔生活を変えたいけど、何からやればよいか分からない
と思っているあなたへ向けて、
挫折率9割に負けない「プログラミング学習必勝法」を無料でプレゼントします!
完全無料なので、悩む前に今すぐ下のバナーをクリックして資料をGETしましょう!
\簡単30秒/
下のバナーからLINE友だち追加をして、無料で限定資料をGET!
Unityのインストール
まずはPCにUnityをインストールすることから始めます。
Unity IDの取得
Unityを利用するには「Unity ID」が必要です。Unityのトップページからアカウント作成ページに進みます。Unity IDの取得をしましょう。取得は無料です。(2017年8月現在)
Unity本体のダウンロード
以下のURLからUnity本体をダウンロードしてしましょう。
Unitu公式サイト
https://unity3d.com/jp/get-unity/update
インストーラーは英語です。今回はデフォルト設定のまま、インストールをします。(インストール後でも追加は可能です。)
Unityは非常に容量が大きく、インストールに時間がかかります。インストールが完了したら、Unityを起動しましょう。
Unityの起動
Unityを起動すると、最初にサインインを求められます。先ほど作成したUnity IDとパスワードを入力してください。
サインインができたら、使用するライセンスを選択します。今回は個人利用なので、「Unity Personal」を選択します。
Unityは年間100000ドル以上の売上がある企業の場合、ライセンス料を支払う必要があります。(2017年8月時点)今回は個人使用なので、一番下を選択しましょう。
これでUnityを使用する準備は整いました。
Unityのライセンス体系には、日々更新されています。そのため、Unityを利用するときはライセンス条項をご確認の上、使用することを心がけてください。
Unity2D初心者はまずチュートリアルから始めよう!
Unityを起動すると全てのメニューが英語のため、初心者は「何から勉強していいか分からない」状態になってしまいます。
Unity2Dのチュートリアルとして参考になるサイトをまとめました。チュートリアルを読みながら、真似をすることから始めてみましょう。
2Dシューティング
https://unity3d.com/jp/learn/tutorials/projects/2d-shooting-game-jp
Unityが公式でアナウンスしているチュートリアルです。「2Dシューティング」を開発するチュートリアルになっており、Unityプロジェクトの作成からゲームクリアまでの、ゲームをプレイするための一通りの流れを覚えながらUnityの画面や機能を覚えることができます。
複雑な動きをさせたいときに、物理演算機能やAPI(*)を使うことになります。APIのリンクもありますので「必要な機能を作るために調べる」ことを常に意識してください。
*API…アプリケーションプログラミングインタフェース。Unity2Dの場合、キャラクターの回転や画面に触れたときの座標取得などがあります。
【入門編】世界よ、これが本当の Unity 講座だ
http://developers.mobage.jp/blog/true-unity-course
DeNAがUnityを解説しているサイトです。Unityの考え方や概念が丁寧に解説されています。
こちらのサイトではUnity3Dについて解説しており「そもそもUnityとは何か?」という疑問についても、分かりやすく説明があります。
Unityのゲーム開発において、オブジェクトの遷移の理解が不可欠です。そのため、Unity初心者の人は是非読んでいただきたいサイトです。
「Unity2D入門」 アクションゲームを制作 – Rigidbody 2D –
3Dと2Dでの違いや、Unity2Dでアセットを利用したチュートリアル的な解説をしているサイトです。
Unity画面の英単語や用語について、それぞれ日本語で分かりやすく解説してあります。まだUnityの画面に慣れていない初心者でも簡単にゲーム開発が学べます。
Unityで2Dを選ぶとき、3Dとは何が違うのか?2D格闘制作振り返り
エンジニアの情報共有サイト「Qiita」の記事です。Unityで2D/3Dそれぞれで開発するときの違いについてポイントごとに解説しています。
Unity2Dで開発するときで必要な概念や考え方について画像と注釈付きで解説してあり、初心者の人にもイメージしやすいと思います。
以上が初心者にオススメのサイトです。何をしていいか分からない場合は、サイトに書かれたことを一つ一つ真似をしてみましょう。先人の模倣が上達のコツです。
Unity2Dで作りながらプログラム言語の勉強を始めよう!
シューティングゲームの残機管理や、APIの呼び出しなど細かい部分を調整しようとするとプログラミングが必要です。
Unityの画面操作に慣れてきたら、プログラミングの勉強を始めましょう。Unityでのプログラム言語は現在2つ使われています。
大半の現場で使われているC#
Unityで開発する時に8割の現場で使用されているプログラム言語です。Microsoftが開発した比較的新しい言語で、Unityでの処理でも使われています。
Unityでゲーム開発をする場合、Unityの画面で実装できない部分(ダメージ計算処理や敵キャラクターの動きなど)をC#で記述していきます。
そのため、C#を覚えていくよりもUnityでゲームを作りながらC#の記述を覚えていくことで、ゲーム開発に必要なプログラミング技術が向上します。
簡単な処理が書けるUnityScript
C#以外ではUnityScriptでのプログラミングも可能です。一般的なJavaScriptにUnity独自の拡張を追加した言語です。そのため、Java Scriptでのプログラミング経験者の場合、逆に困惑するかもしれません。
単純な処理を記述したいときはUnity Scriptの方がC#より簡単です。
本格的にゲーム開発をする場合は両方の言語を覚えたほうが良いです。初心者が覚えるのは小回りがきいて参考資料の多いC#から勉強しましょう。
ゲームを作ってみたら次は実際に動かしてみよう
Unityは開発したゲームをすぐに動かしてみることができます。
Unity本体で動かす
Unity上でゲームを動かす場合は、[Edit]→[Play]を選択します。簡単な動作確認を行いたいときによく使う機能です。
Windows/Mac上で動かす
[File]→[Build & Run]を選択して、任意のファイル名で保存をすると、ゲームの実行ファイルが作成されます。この作られたファイルを実行すると、ゲームが起動します。実際に動かしてみると、ゲームを作っている感じがして楽しいですよ!
まとめ
今回はプログラミング初心者向けに、Unityの概要と2Dゲームを作るために必要な4ステップを解説させていただきました。
従来のゲーム開発は、未経験者や初心者には勉強だけでなくコストもかかり挫折する人が多くいました。Unityが流行っている理由として、無料で提供されているゲーム開発環境という部分が大きいと思います。
Unityで2Dゲームを作ってみたいと思っている人は、この機会にUnityの勉強を始めてみましょう。
DMM WEBCAMPでは、自宅から質問ができる全てオンラインのプログラミング学習コースがあります!
最短1ヶ月間でプログラミングスキルを身につけることができるので、興味のある方はまず無料のオンラインカウンセリングへお申し込みください!
\オンラインでプログラミング学習/
DMM WEBCAMPの詳細をみる