敵オブジェクトの作成・パラメータ設定・敵処理のプロトタイプの作成 | Unity入門の森 ゲームの作り方

敵オブジェクトの作成・パラメータ設定・敵処理のプロトタイプの作成

Unity タワーディフェンスゲームの作り方


Unity入門の森オリジナル本格ゲーム制作講座はこちら
11種類の本格ゲームの全ソースコード公開・画像&動画による解説付き

タワーディフェンス講座の第3回では敵オブジェクトを作っていきます。

今回からスクリプトも書いていきます。

前回の記事↓

【UGUIのCanvasを用いたUI画面の作り方】UGUIとスプライトでゲーム画面を作る
第2回である今回はUIの画面配置とステージ作成を行っていきます。 前回の記事↓ ゲームのつくり方は色々ありますが、今回はまだScriptなどは使わず、画面から作っていきます。というのも、形から入った方が目標が見えモチベーションが維持しやすい...

【Line登録者限定のプレゼントもあるよ!】

敵オブジェクトの作成

まず、空の敵オブジェクトを作ります。

Hierarchyビューで 右クリック→CreateEmpty で空のGameObjectを作ります。(または、CTRL+SHIFT+Nでも構いません)

Inspectorビューで名前は Enemy に変更し、Transform の Position は X,Y,Z ともに 0 にしておきます。(Transform の … から Reset を選んでも良いです)

次に敵の画像として、Assets/Images から、character_roundPurple を使いたいと思います。

このcharacter_roundPurpleをHierarchyビューの先ほど作ったEnemyオブジェクトの子要素になるようにドラッグアンドドロップします。

描画順の問題で後ろに隠れてしまっているのと、Sprite(画像)の名前がそのままオブジェクト名になってしまっていると思いますので、Inspectorビューで

  • Order in Layer を 2
  • 名前をcharacter_roundPurple から sprite

にしておきましょう。

 

ちなみになぜこのように階層構造にしておくかというと、敵の位置の移動と、演出としての位置の移動(や拡大縮小・回転など)を分離するためです。

スクリプトの新規作成

次に、スクリプトを追加していきます。

Enemyオブジェクトを選択し、Inspectorビューで Add Component ボタンを押します。

今回は既存のスクリプトではなく、1から作る事になるので、一番下にあるNewScriptを選択します。

すると、このように Name に新しく作るスクリプトの名前が指定できるので、今回はEnemyと入れ、下部のCreate and Add ボタンを押してください。

EnemyオブジェクトにEnemyスクリプトが割り当てられた状態になったと思います(スクリプトを割り当てるオブジェクトを間違えないように)。

なお、このようにInspector上で追加したEnemyスクリプト本体はAssets/に自動で作成されます。

このままでもゲーム制作に大きな支障は出ませんが、ゲームの複雑さが増すごとに関連するファイルが増えてきてどこに何があるかが非常に分かりづらくなってきてしまいます。

スクリプト入れるためのフォルダ Assets/Scripts を第1回で作ってあると思いますので、今回作成したEnemyスクリプト(ファイル名としてはEnemy.cs)もAssets/Scriptsに移動しておきましょう。

スクリプトの編集

スクリプトの編集はUnityEditorだけでは出来ず、何か外部の統合開発環境(IDE)やテキストエディタなどで行うことになります。

それでは実際にスクリプトの中身を書いていきます。スクリプトをダブルクリック、またはInspectorの割り付けられているスクリプトの薄くなっている部分をダブルクリックしてください。

すると、既定のIDEまたはテキストエディタが起動します。本記事の環境ではVisual Studio Community 2019が起動しています。

起動すると、下のようにEnemyファイルが開かれた状態になります。この時、5行目を見てみると、クラス名がEnemyになっていることが確認できます。

なお、自動で作られるスクリプトには最初からStart関数とUpdate関数があります。

最初から書いてあるコメントにも英語で書いてありますが、Start関数はゲームオブジェクトが生成されてからUpdateの前に一度だけ実行される関数です。そのため変数の値の初期化などに使用されます。

対してUpdate関数は毎フレーム(例:1秒間に60回)実行される関数です。そのためキーの入力取得や徐々に数値を変化させたい時などに使用されます。

必要なパラメータを用意し、敵オブジェクトの移動処理プロトタイプを作る

タワーディフェンスの敵に必要なものを考えていきます。

  • HP
  • 進行速度
  • 倒した時に手に入るお金

あたりは必ず必要です。

それぞれ

  • HP → 整数型(int) hp
  • 進行速度 →浮動小数点型(float) speed
  • 倒した時に手に入るお金 →整数型(int) gold

としてプログラムに記述していきます。

続きを読む

このコンテンツはパスワードで保護されています。 コンテンツを読みたい方はUnity入門の森ショップ(https://unityforest.shop/)で講座閲覧権を取得してね。

おさらいと次回予告

今回は敵(Enemy)の作成と、Prefabの説明を簡単にしました。

次回は、この作った敵の移動経路を設定する仕組みを作成していきます。

次回の記事↓

【敵の移動処理の作成1】移動経路の構築とOnDrawGizmosによる移動経路の可視化
第4回である今回は前回作った敵の経路を作っていきます。 タワーディフェンスは、敵の経路もレベルデザインの一つになります。 最短距離で来る敵、あえて遠回りをする敵、思いもよらないルートを通る敵など同じHP、同じスピードの敵でも、経路によって難...


Unity入門の森オリジナル本格ゲーム制作講座はこちら
11種類の本格ゲームの全ソースコード公開・画像&動画による解説付き

コメント

タイトルとURLをコピーしました