難度:中級
介紹
現在我們有一座塔,我們需要一些東西讓塔進行防禦。這一節將解釋如何創建試圖攻擊玩家基地的敵方代理。設置舞台章節將介紹讓他們在舞台上導航的大部分過程,但如果沒有先使用必要的元件設置代理遊戲物件,我們將無法做到這一點。
請注意,我們將使用術語“代理”而不是“敵人”來歸類這些自主角色。
創建代理
第一步是進行代理設定。
- 在 Project 視窗口中,點擊左上角的 Create ,然後選擇:Create> Tower Defense> Agent Configuration
接下來,我們必須創建代理遊戲物件。
- 創建一個空的遊戲物件
- 將遊戲物件命名為 NewAgent
- 將 HitscanLauncher 或 BallisticLauncher 元件添加到遊戲物件。更多信息,請參閱https://unity3d.com/learn/tutorials/puroziekutos/tower-defense-template/targeting-and-firing
- 將 AttackingAgent 或 FlyingAgent 元件添加到遊戲物件
- 將 Data/Alignments/Enemy 可程式物件拖到 Alignment 欄位中
- 添加模型作為讓代理遊戲物件可視化的子物件
- 創建代理的空的子遊戲物件,並將其命名為 Targetable。此物件將確保塔將代理視為有效的攻擊目標
- 在 Hierarchy 視窗口中選擇代理,然後將 Targetable 拖動到代理元件的 Target Transform欄位中
與塔的情況一樣,不能只將 AttackingAgent 或 FlyingAgent 元件附加到遊戲物件來設定代理。將需要一些其他元件來確保代理執行其所需的行為。
- 添加一個適當的 Collider 元件將 Agent 的模型封裝到 NewAgent 遊戲物件中
- 將 DamageCollider 元件添加到 NewAgent 遊戲物件
Agent Name
代理的名稱。
Agent Description
描述代理及其功能的描述字串。
Agent Prefab
給 Agent 使用的包含 AttackingAgent 或 FlyingAgent 元件的預製體。
了解 AttackingAgent 和 FlyingAgent 元件
入門套件包括兩個不同的代理元件:AttackingAgent 和 FlyingAgent。如果路徑被阻,這兩個代理的反應會有所不同。
AttackingAgent 將停止並攻擊附近的塔,直到路徑可用並依賴 AttackAffector 進行操作(請參閱目標和射擊)。FlyingAgent 將直接飛越障礙物到達目的地,忽略了通常的 NavMesh 行為。
這兩個元件都擴展了 Agent 基本類,並以完全相同的方式進行配置。還可以通過創建擴展 Agent 基本類的程式來實現我們自己邏輯的代理行為。
Max Health
代理的最大生命值。
Starting Health
代理的起始生命值。
Alignment
Alignment 定義代理所在的“團隊”,以及代理所針對的目標和被誰當目標。在創建敵方代理時,通常會將其設置為敵人。
Target Transform
通常當塔或代理互相瞄準時,他們將瞄准他們的原本變換。TargetTransform 允許我們設置一個替換點來觸發。
Applied Effect Offset
如果塔在代理上應用效果,則此值允許我們調整該粒子效果的位置。
Applied Effect Scale
如果塔在代理上應用效果,則此值允許我們調整該粒子效果的大小。
沒有留言:
張貼留言