サイトアイコン StudioFun

Unity チュートリアルのタワーディフェンステンプレートを触ってみる(4)

Unity チュートリアルのタワーディフェンステンプレートを触ってみる(3) では実際にTowerLevel プレハブとそれに付随するスクリプトの解説を行った。今回は作成した TowerLevelData スクリプタブルオブジェクトと TowerLevel プレハブを用いてタワーの作成を進めていく。

1.タワー編 – タワーのゲームオブジェクトを作成する

『必要な TowerLevelData スクリプタブルオブジェクトと TowerLevel プレハブができました。これで、タワーのゲームオブジェクト自体を作成できます。』

とのことなので指示通り「タワーのゲームオブジェクト」を作成していく。チュートリアルの手順では以下の通りとなっている。

上記の指示通り空の GameObject に対して「NewTower 」という名称を付け、Tower コンポーネントを追加した。すると以下のような状態となる。

タワー GameObject

Tower コンポーネントは「Asset/Scripts/TowerDefense/Towers/Tower.cs」のことを指している。

『Tower コンポーネントを動作させるには他のコンポーネントがいくつか必要です。そこで次に、それらを加える作業を行います。』

とのことなので指示通り「タワーのゲームオブジェクト」を作成していく。チュートリアルの手順では以下の通りとなっている。

上記の指示通り NewTower に対してテンプレートを参考に Box Collider を設定した。この時のパラメータは「中心:(0, 0.24, 0)」、「サイズ : (1.8, 0.5, 1.8)」である。すると以下のような状態となる。

Collider の設定

『Collider コンポーネントは、タワーが敵の砲弾に当たったかどうかを判断するために必要です。また、Collider は、タワーが選択された後にプレイヤーがタワーをクリックできる範囲を設定します。』

とのことなので指示通り「タワーのゲームオブジェクト」に対して「DamageCollider 」を設定する。チュートリアルの手順では以下の通りとなっている。

上記の指示通り NewTower に対してテンプレートを参考に DamageCollider コンポーネントを設定した。すると以下のような状態となる。

DamageCollider の設定

DamageCollider コンポーネントは「Asset/Scripts/ActionGameFramework/Health/DamageCollider.cs」のことを指している。

『DamageCollider コンポーネントは、Damager を持つオブジェクトとの衝突を処理します (アクションゲームフレームワーク を参照)。これから、NewTower ゲームオブジェクトの Tower コンポーネントの設定を行います。』

とのことなので指示通り「Tower コンポーネントの設定」を行っていく。チュートリアルの手順では以下の通りとなっている。

上記の指示通り、テンプレートを参考に Tower コンポーネントを設定した。

まず、Player (SimpleAlignment) スクリプタブルオブジェクトはUnity チュートリアルのタワーディフェンステンプレートを触ってみる(2) 解説したTowerLevelData と同様に、プロジェクトの左上 Create > StarterKit > Simple Alignment から作成することができる。画面等しては以下の通り。

Simple Alignment の作成

次にテンプレートを参考に値の設定を行った。内容としては「Size フィールド : 3」、「Element : 既存の Prefab から LaserTower_0 ~ LaserTower_2」「タワーの名前 : Plasma Lance」「Dimensions : (2, 2)」である。すると以下のような状態となる。

Tower コンポーネントの設定

Player (SimpleAlignment) スクリプタブルオブジェクトは「Asset/Scripts/Core/Health/SimpleAlignment」のことを指している。

 

今回出てきた「Asset/Scripts/TowerDefense/Towers/Tower.cs」、「Asset/Scripts/ActionGameFramework/Health/DamageCollider.cs」、「Asset/Scripts/Core/Health/SimpleAlignment」については改めて記事にまとめさせていただくことにする。

Asset/Scripts/TowerDefense/Towers/Tower.cs については、継承関係にある「DamageableBehaviour」、「Targetable」、「Tower」をそれぞれ稚拙ながら解説させていただいた。それぞれの記事については以下を参照してほしい。

DamageableBehaviour

Unity チュートリアルのタワーディフェンステンプレートを触ってみる(4) では作成した TowerLevelData スクリプタブルオブジェクトと TowerLevel プレハブを用いてタワーの作成を進めた。今回はタワーの作成にあたって追加した Tower.cs スクリプトの解説を行っていく。「Tower.cs」 は 「Targetable.cs」 を継承し、「Targetable.cs」 は 「DamageableBehaviour.cs」 を継承している。大本である「DamageableBehaviour.cs」から順に解説していったほうがわかりやすいと思われるため、そちらから順に説明を行っていく。『継承(けい...
Unity チュートリアルのタワーディフェンステンプレートを触ってみる(5) - StudioFun

 

Targetable

Unity チュートリアルのタワーディフェンステンプレートを触ってみる(5) では Tower.cs の継承元となっている DamageableBehaviour.cs スクリプトの解説を行った。今回は更に Tower.cs の継承元となっている Targetable.cs の解説を行っていく。「Tower.cs」 は 「Targetable.cs」 を継承し、「Targetable.cs」 は 「DamageableBehaviour.cs」 を継承している。前回は「DamageableBehaviour.cs」の行った。続いて「Targetable.cs」 を行っていく。DamageableBehaviour.cs の解説についてはこちらを参照してほしい。1.タワー編 - T...
Unity チュートリアルのタワーディフェンステンプレートを触ってみる(6) - StudioFun

 

Tower

Unity チュートリアルのタワーディフェンステンプレートを触ってみる(6) では Tower.cs の継承元となっている Targetable.cs スクリプトの解説を行った。今回は Tower.cs の解説を行っていく。「Tower.cs」 は 「Targetable.cs」 を継承し、「Targetable.cs」 は 「DamageableBehaviour.cs」 を継承している。前回は「Targetable.cs」の行った。「Tower.cs」 を行っていく。Targetable.cs の解説についてはこちらを参照してほしい。1.タワー編 - Tower.csTower.cs について稚拙ながら解説「Tower.cs」は「Asset/Scripts/TowerDefe...
Unity チュートリアルのタワーディフェンステンプレートを触ってみる(7) - StudioFun

 

Asset/Scripts/ActionGameFramework/Health/DamageCollider.cs については、継承関係にある「DamageZone」、「DamageCollider」をそれぞれ稚拙ながら解説させていただいた。それぞれの記事については以下を参照してほしい。

DamageZone

Unity チュートリアルのタワーディフェンステンプレートを触ってみる(5)、(6)、(7) と Tower.cs スクリプトの解説を行ってきた。今回は引き続きUnity チュートリアルのタワーディフェンステンプレートを触ってみる(4)に記載している通り 「DamageCollider.cs」 がその前に継承関係にある「DamageZone.cs」の解説を行っていく。「DamageCollider.cs」は「DamageZone.cs」を継承している。そのため今回は「DamageCollider.cs」解説する前に「DamageZone.cs」について解説を行っていく。1.タワー編 – DamageZone.csDamageZo...
Unity チュートリアルのタワーディフェンステンプレートを触ってみる(8) - StudioFun

 

DamageCollider

Unity チュートリアルのタワーディフェンステンプレートを触ってみる(8) では「DamageCollider.cs」の継承関係にある「DamageZone.cs」の解説を行っていた。今回は「DamageCollider.cs」について解説を行っていく。「DamageCollider.cs」は「DamageZone.cs」を継承している。そのため前回は「DamageCollider.cs」解説する前に「DamageZone.cs」について解説を行っていた。「DamageZone.cs」の解説についてはこちらを参照してほしい。1.タワー編 – DamageCollider.csDamageCollider.cs について稚拙ながら解説「DamageCollider.cs...
Unity チュートリアルのタワーディフェンステンプレートを触ってみる(9) - StudioFun

 

Asset/Scripts/ActionGameFramework/Health/SimpleAlignment.cs の記事については以下を参照してほしい。

SimpleAlignment

Unity チュートリアルのタワーディフェンステンプレートを触ってみる(8) 、(9)では「DamageCollider.cs」と継承関係にある「DamageZone.cs」の解説を行っていた。今回は「SimpleAlignment.cs」とインタフェースとなっている「IAlignmentProvider.cs」について解説を行っていく。「SimpleAlignment.cs」はインタフェースとして「IAlignmentProvider.cs」があるため、インタフェースである「IAlignmentProvider.cs」から順に解説を行っていく。インタフェースとは『 ソフトウェア間の通信を行う際のメッセージの渡し方などを決...
Unity チュートリアルのタワーディフェンステンプレートを触ってみる(10) - StudioFun
モバイルバージョンを終了