初心者でもできる! 7日間で作るUnityゲーム開発

Day1:まずはゲームの土台作り!

この記事を読むのに必要な時間:およそ 2 分

Unityを使えば,個人でも短期間でゲームが作れる

「ゲームを作りたい!」

誰もが一度は思ったことがあるのではないでしょうか? 私もそうでした。しかしいざゲーム開発の本を読んでみると,C++で書かれた難解で膨大な記事に圧倒されて自分には無理だと諦めていました。

ですが,私はこれまでに2か月間で2つのゲームを作ることができました。なぜ,そのようなことができたのか? その答えはUnityを使ったから!」です。

Unityを使えばC++の難解で膨大なコードを書く必要がありません。ゲームのオブジェクトをGUIで配置して,それらを操作するスクリプトを少し書くだけで,ゲームを作ることができます。スクリプトを書くのに使うプログラミング言語は,C#UnityScript(静的型付JavaScript),Boo(静的型付Python)から選ぶことができます。

また,Unityではゲームに使用する3Dモデルや音声,プログラムの部品などがアセットストアに用意されているため,それらをうまく活用すれば,個人でも短期間でゲームを作ることが可能となります。アセットストアの素材には有料のものと無料のものがあります。

この連載では,C#を使用して解説します。C#は静的型言語でありながら,簡潔で直感的に分かりやすいコードが書ける工夫がなされているため,C++よりも学習しやすいのが特徴です。また素材にはアセットストアの無料素材のみを使用します。

ゲームを一つ制作する過程を通して,既存の素材をうまく活用するコツを紹介します。

ゲーム制作開始! まず初めにテンプレートとなるプロジェクトを探す

アセット(3Dモデルやスクリプト等の素材)をうまく組み合わせれば個人でも短期間でゲームを開発できると言いましたが,初心者の場合,何をどう組み合わせたらいいかが,なかなか分からないものです。アセットストアにはComplete Projectsというゲームのテンプレートが用意されています。これらはあらかじめ3Dモデルやスクリプトが組み合わされていて,簡単なゲームが構成されています。今回はMecanim Example ScenesというProjectを土台にしてゲームを開発します。

Mecanim Example Scenes はUnity Technologiesが提供しているUnityのプロジェクトファイル一式です。このアセットはMecanimというアニメーション技術の使い方を説明するために用意されたものです。この中にTeddy Bear BazookaというSceneがあります。このSceneはプレイヤーがバズーカでクマを打つ仕組みが実装されています。Sceneというのは,Unityにおけるゲームの場面のことで,UnityではSceneを入れ替えることでゲームの場面を切り替えることができます。

Mecanim Example Scenesを土台にしてゲームを開発すると,以下のような利点があります。

  1. 土台を作り上げる手間がなくなり生産性が上がる
  2. どうやってアセットを組み合わせればいいかや,Mecanimの使い方等を学べる

何事も一から自分で試行錯誤するよりも先人の知恵を学んだほうが効率がいいものです。Unityの場合,アセットストアに提供されているアセットこそが先人の知恵の宝庫です。アセットストアには多数の無料アセットが提供されているので,それらをダウンロードして動かしてみるだけでも勉強になるし,ゲームのアイデアが浮かんだりします。これらのアセットの構造を読み解き,応用するにはコツがいるので,それらも順次紹介していきたいと思います。

私が以前作ったゲーム「ユニティちゃんバズーカ」もこのSceneを利用しています図1)。この連載では「ユニティちゃんバズーカ」の簡易版を作っていきます。

プロジェクトの作成,アセットのインポート

まだUnityをインストールしていない方は,以下のURLからダウンロードしてインストールを完了してください。

Unityを起動したら,まずはプロジェクトを作成します。Unityを起動してメニューから[File]ー[New Project]「BazookaGame」というフォルダを作成して選択します。

次にMecanim Example Scenesをインポートします。

メニューから[Window]ー[Asset Store]でアセットストアを起動します。右上にある検索ボックスで「Mecanim Example Scenes」を検索してページを開き,[Import]ボタンをクリックします図2)。

図2

図2

続いてImportting packageダイアログの[Import]ボタンをクリックします図3)。ダウンロードしてインポートされるまでに少々時間が掛かります。

図3

図3

まずはインポートしたアセットを使ってゲームをプレイしてみましょう。Teddy Bear BazookaのSceneをダブルクリックしてSceneを開きます図4)。

図4

図4

すると,図5のようなダイアログが表示されます。現在のSceneを保存しますか?という意味なので[Dont Save]をクリックします。

図5

図5

Teddy Bear BazookaのSceneが開かれたらゲーム実行ボタンをクリックします図6)。

図6

図6

操作方法は右クリックを押すとバズーカを構えて,左クリックでバズーカを発射します。WASD矢印キーで移動します。クマに弾が当たるとクマが倒れて少しすると起き上がります。これだけでも簡単なゲームになっています。

それでは,これを土台にゲームを作っていきましょう。

著者プロフィール

やまろう

フリーランスITエンジニア。

業務系SIerに10数年勤務後独立。現在はUnityでスマートフォンのネイティブゲーム開発に従事。仕事の傍ら,個人でフリーゲームを開発している。

URL: http://mikumikuplay.com/

ニコニコ生放送にてプログラミングに関する生放送を配信中。
http://com.nicovideo.jp/community/co2268886

コメント

  • 自分も「Bear」が表示されません。

    どうやったら表示されますでしょうか・?
    あと、再生を押すとエラーになります・
    Assets/GameControl.cs(1,28): error CS0246: The type or namespace name `MonoBehaviour' could not be found. Are you missing a using directive or an assembly reference?
    参りました。

    Commented : #3  ひでき (2015/10/12, 09:35)

  • クリックしたら出てきます

    名無しさんへ。
    私も同じところでつまづいたのですが、Game Control (Script)とチェックが入っている場所がありますよね?
    そこの左側に小さな三角形があるので、それをクリックしてみてください。下にBearが表示されるはずです。

    Commented : #2  Unity初日初心者 (2015/10/08, 20:43)

  • ないんですが・・・

    。Teddyを「GameControl (Script)」の「Bear」にドラッグアンドドロップをします。

    のところの「Bear」が見当たらないのですが・・・
    どうすれば出てきますか?

    Commented : #1  名無し (2015/09/19, 22:20)

コメントの記入