Help us understand the problem. What is going on with this article?

ミニゲームを作ってUnityを学ぶ! [ ひつじコレクション編 - イントロダクション ]

More than 1 year has passed since last update.

前回「3Dマインスイーパー編」に続いて第3弾!
ゲーム作成の定番、ドットイート型ゲーム(の亜種)をお題にしました。

Unity初心者の筆者

チュートリアルの「玉転がし」「シューティングゲーム」は完成した!
次はミニゲームを自作してUnityで出来ることを増やしていこう!

そんな経緯がありまして、後学のために開発したゲームっぽい何かの作り方を1から解説していきます。
*使用言語はC#で解説内容は上記2点のチュートリアルが完了していることを前提としています。

お題:ひつじコレクション

どんなゲーム?
たいへん、たいへ~ん!
ひつじさん達が森の中に入っていっちゃったみたい!
スライムに捕まらないように、なるべく多くのひつじさんを連れて帰ろう!

スクリーンショット
action_sheep_0.jpg

完成品をプレイ(PC専用 -- WebGL)
こちらから(少し読み込み時間があります)

Enterキーを押してプレイ開始。

[W/A/S/D] プレイヤーの移動
[Backspace] リスタート

ひつじさんを連れて赤色のBOX内に到達するとポイントが獲得できます。
ひつじさんを一度に多く運ぶほど獲得ポイントが上昇しますが、連れているひつじさんが多いほどプレイヤーの移動速度が低下します。

*TOP5に入るスコアはオンラインランキングに登録されます。

作り方(更新中)

1. プレイヤーキャラクターの作成
プレイヤーの制御・アニメーション・アニメーションイベント・ビヘイビアなどを設定します。

2. ステージの作成
Resourcesフォルダからファイルを読み込んでステージを動的に生成します。

3. フォロワーを作成
一定時間毎にひつじさんをポップアップさせます。

4. フォロワーに追従機能を実装
NavMeshの動的なBakeによってひつじさんをプレイヤーに追従させます。

5. ゴールエリアとスコアを実装
ステージ内にゴールとなるオブジェクトを設置し、スコアの概念を実装します。

6. チェイサーの作成
プレイヤーの邪魔をする敵キャラクターを3種作成し、それぞれ異なる行動AIを実装します。

7. チェイサーとの当たり判定を実装
プレイヤーまたはひつじさんが敵キャラクターに当たったときの処理を実装します。

8. ミニマップを表示
画面下部にミニマップを表示し、視界の悪さを改善します。

9. ゲームの開始と終了
シーンの流れを制御してゲームに開始と終了の概念を実装します。

10. UIの作成(1)
ゲームに必要なUIを作成し、DotweenによるUIのアニメーションを実装します。

11. UIの作成(2)
引き続きその他UIを作成し、併せてゲームに時間制限を実装します。

12. パフォーマンスチューニングみたいなこと(1)
Tris, Verts, SetPassについてチューニングを行い、パフォーマンスを向上させます。

13. パフォーマンスチューニングみたいなこと(2)
引き続き、描画部分の修正を行います。

14. オンラインランキングを実装
ニフティクラウドMobaileBackendを使ってオンラインでのランキングを実装します。

スクリプト

ひつじコレクションのスクリプト(GitHub)

上記リンクより今回のスクリプトをダウンロードすることができます。
記事内ではどうしてもコードが飛び飛びになってしまって全体像が掴みずらいため、解説がわかりにくい場合なんかはこちらを見たら解決するかもしれません。

尚、こちらのコードは今回の解説用に書き直したモノではなく実際のWebGLアプリに実装されているコードのため、コメントアウトされた未使用のメソッドがあったり、そもそものメソッド名・フィールド名が異なる場合があるかもしれません。
その場合は記事の内容を優先してください。

ユニティちゃんライセンス

この作品はユニティちゃんライセンス条項の元に提供されています



YzRoid
JavaでAndroid用アプリ作ったりしてます。 ただいまUnity勉強中!
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした