Unity3Dでお金をかけずに2Dゲーム開発

20090821-1

2Dゲーム開発に使える無料アセット

最近は有料アセットを使ったプログラムの記事ばっかりでしたが、お金をかけずにゲームを作りたいという人もいると思いますので無料アセットを使ったゲーム開発の記事も書いてみようと思い、面白いアセットがあったので早速試してみました。

Orthello 2D Framework

無料の 2D アセットですがかなり高機能な雰囲気です。スプライト、スプライトアニメ、フィルドスプライト(スクロール可能なスプライト)、グラデーションスプライト、9分割スプライト、クリップスプライト。と、豊富なスプライトの表示を供えています。

Orthello には有料のプロ版が存在していて値段はリーズナブルな $35 です。こちらはドローコールを削減するスプライトバッチ機能やタイルマップ機能がついています。機能面では 2D Toolkit と同等かもしれません。(プロ版は購入してないので機会があれば試してみたいですがまだ 2D Toolkit 使いこなせてないし個人的に保留中)
unity20131101-001

UCLA Mesh Creator

テクスチャ画像からメッシュオブジェクトを生成します。たとえば、リンゴの絵を描いてこのアセットを通してリンゴの形のメッシュができあがる。というわけです。これはすごい!当たり判定だって絵の形の通りにできます。Orthello 無料版はタイルマップが使えないので UCLA Mesh Creator を使用して背景を作るのも手です。
unity20131101-002

例によって新規プロジェクト作成

では紹介もそこそこにいきなりはじめます。File → New Project… で新規プロジェクトウイザードを開きます。Browse… をクリックしてプロジェクトフォルダ選択ダイアログを開き、今回は unity_test_20131101 というフォルダを作成及び選択し、フォルダーの選択をクリックします。最後に Create ボタンをクリックしてプロジェクト作成が完了します。
unity20131101-003

アセットストアを開く

アセットストアを開き、上で紹介したアセットをインポートしましょう。まずはアセットストアを開きます。 Window → Asset Store をクリックしてアセットストアを開きます。
unity20131101-004

Orthello 2D Framework のインポート

アセットストアの検索機能で「orthello」を入力し、Enter キーを叩くとSearch Results の中に目的のアセットが表示されます。Orthello 2D Framework をクリックします。次に、Download をクリックしてアセットをダウンロードしたあと、Download ボタンが Import ボタンになるので Import ボタンをクリックします。ダウンロードされたパッケージを解凍したらインポートダイアログが表示されるので、Import をクリックして完了です。
unity20131101-005

※ Asset Store Log In と表示されたら

アセットストアからのダウンロードはアセットストアへのログインが必要です。アカウントを持ってない場合はアカウントを作成してログインしてください。(なんか風邪ひいたっぽい、熱があるのでアカウント作成とログインの手順説明は省略します)
unity20131101-006

UCLA Mesh Creator のインポート

アセットストアの検索機能で「UCLA」を入力し、Enter キーを叩くといきなり UCLA Mesh Creator のページが表示されます。(検索結果が1件のみの場合はこうなるようですね)次に、Download をクリックしてアセットをダウンロードしたあと、Download ボタンが Import ボタンになるので Import ボタンをクリックします。ダウンロードされたパッケージを解凍したらインポートダイアログが表示されるので、Import をクリックして完了です。Asset Store ウインドウはクローズして OK です。
unity20131101-007

作業開始前に新規シーン保存

File → Save Scene でシーン保存ダイアログを開き、Assets フォルダの下に sample001 フォルダを作成した後中に入り、sample001 というファイル名を入力し、保存をクリックします。
unity20131101-008

本日の素材画像

めがみんのスプライトシートと、背景画像にございます。
unity20131101-009
unity20131101-010

これらのファイルを Assets / sample001 へドロップしてインポートします。これで準備 OK です。
unity20131101-011

Orthello の初期化

Project ビュー Assets / Orthello / Objects を選択し、OT プレハブを Hierarchy にドロップしてください。

このオブジェクトは Orthello で取り扱う 2D スプライト情報を管理してくれます。このオブジェクトの中に1枚の画像に複数画像をまとめたスプライトシートや、アニメーションをおこなうためのデータ等を追加していきます。
unity20131101-012

スプライトシートの登録

Hierarchy の OT オブジェクトの下に Containers オブジェクトがあります。この中に Project の Assets / Orthello / Objects / Sprites の下の SpriteSheet プレハブをドロップします。(別に Hierarchy のどこにドロップしても自動的に OT の下の Containers に入れてくれるようです)
unity20131101-013

SpriteSheet は Container (id=-32040) と名前を変えて Containers の制御下にはいりました。これをクリックしてインスペクタに必要な情報を入力します。

Name : スプライトシートの名前を入力(ここでは MegaminSS と入力)

Sheet Size : よくわかりませんでした、省略してOKです

Texture : Select Texture ダイアログを開き、Megamin を選択しました

Size Textures : よくわかりませんでした、省略してOKです

Generate Sprites : チェックするとヒエラルキにスプライトシート内の全てのスプライトを生成します

Frames XY : シート内の画像数を指定します(今回は4列x1行です)

Frame Size : よくわかりませんでした、省略してOKです

unity20131101-014

スプライトアニメーションの登録

登録したスプライトシートを使用してスプライトアニメを登録します。

Project ビュー Assets / Orthello / Objects / Sprites の Animation を Hierarchy ビュー OT / Animations にドロップすると Animations の下に Animation が作成されます。

Animation をクリックしてインスペクタを編集します。

Name : アニメーションの名前を入力(ここでは MegaminAnime と入力)

Fps : 1 秒間にコマを更新する数(秒間 15 コマ指定にしたいので 15 と入力)

Framesets : アニメーションの種類ごとにフレームセットを登録します

Size : アニメーションの種類の数を入力(走る、ニュートラル、ジャンプで3種類なので 3)

Name : アニメーション種類の名前を入力

Container : スプライトのコンテナを選択

Start Frame : アニメ開始フレーム(コンテナで選択された何番前のスプライトかを指定)

End Frame : アニメ終了フレーム

unity20131101-015

画面にアニメーションスプライトを表示

Project ビュー Assets / Orthello / Sprites の AnimationSprite を Hierarchy ビューへドロップし、インスペクタで編集します。

Collidable : チェックで当たり判定を有効にします

Physics : 物理演算用の RigidBody を選択します

Sprite Container : 上で登録したスプライトシート MegaminSS を選択します

Animation : 上で登録したアニメーション MegaminAnime を選択します

Animation Frameset : スプライトアニメーションで登録したフレームセットの名前を入力します

unity20131101-016

では動かしてみましょう。実行すると物理演算が効いているので重力が働いて落下していきます。
unity20131101-017

背景メッシュを設置する

GameObject → Create Mesh Object をクリックして UCLA Mesh Creator のダイアログを表示します。

Texture to Create Mesh From : メッシュを生成する元画像を指定します(インポートした stage001 を選択)

Mesh Type : Full 3D を選択

Collider Type : Mesh を選択

Game Object Name : 生成するメッシュのオブジェクト名を指定する

上記項目を入力したら Create Mesh をクリックします

unity20131101-018

背景メッシュを微調整する

デフォルト設定で生成されたメッシュはサイズが 1×1 なので場合によっては大きすぎたり小さすぎたりします。今回は小さすぎるので微調整します。

Hierarchy ビュー BG を選択し、インスペクタを編集します。

Pixel Threshold : メッシュを生成するなめらかさ?のようです、100 に指定します

Advanced

Mesh Scale

Width : メッシュの横サイズを指定します。今回は画面解像度 480 x 384 を想定して 480 に指定します

Height : メッシュの横サイズを指定します。今回は画面解像度 480 x 384 を想定して 384 に指定します

Depth : メッシュの厚さを指定します。とりあえず 50 を指定します

設定が完了したら最後に Update Mesh をクリックして確定します。

unity20131101-019

今日はここまで

ここまでできたら前回みたいにめがみんを操作してゴールを指定して次のステージへ進めるって処理ができますね。とりあえず今日はここまで。

あ~やっぱ風邪ひいたっぽい。

「シェアする」

ツイートツイート