This document is about: QUANTUM 2
SWITCH TO

AI


Available in the Gaming Circle and Industries Circle
Circle

概述

  • 賽車AI使用一個「追兔」導航方法及一個HFSM來進行決策
  • 可用多種AI困難度設定(非常簡單、簡單、中等、困難、非常困難)
  • AI導航的駕駛線支援多種線、各種難度的線以及線分支
  • AI永遠不會直接控制車輛位置或旋轉。它生成輸入,其之後以來自真實玩家的輸入的相同的方式被處理。

街機賽車AI使用 追兔 (或 跟隨兔) AI技術。「兔」跑在車輛前面,而車輛試著追逐/追上它。在街機賽車範本中,兔就是一個空的實體,其沿著駕駛線移動或由一個導航網格代理所控制。AI之後基於方向及車輛到兔子的距離,來生成輸入。

移動

兔不需要流暢地移動。它不需要考慮物理,就可以從一個點跳到另一個點、加速或減速,並且它在車輛轉彎之前先轉彎。所有這些因素都有助於管理AI車輛處理的複雜性。簡單地把兔送到某個點,車輛就會可靠地跟隨它。

注意事項: 兔通常不會準確地跟隨駕駛線,而是使用與它之間的一個基於AIConfig值的位移,以完成一個更自然的行為。

兔通常以車輛的最高速度奔跑。如果車輛加速(比如使用氮氣),它也可以加速,如果兔跑的太前面,它也可以等待車輛。當兔遠於一個特定的距離,它也可以立即貼齊到車輛前面。

當兔離車輛越來越近(比如根據駕駛線速度而減速),AI將更改輸入以減速,以避免跑到兔前面。因此,兔有效地規定了所需的最高速度。

視覺效果

為了顯示兔實體,請搜尋AI兔預製件,並且啟用其MeshRenderer元件。

ai rabbit
車輛與一個由紅色球體代表的兔。

駕駛線

駕駛線是一組點的集合,其描述了車輛應該駕駛的地方;或是更準確地,兔應該奔跑的地方。各個點可以有困難度以及速度乘數,以更動AI將選擇的線以及它通過點時的速度。

driving line
駕駛線(綠色)。

駕駛線在場景地圖內嵌流程時被內嵌到遊戲遊玩場景實體。請參見 駕駛路徑編輯器 章節以取得更多細節。

這可以是有著不同困難度的多條線,代表著一條捷徑的線或僅僅是駕駛過彎的一個替代道路。

driving line branching
駕駛線分支。

線點不需要被精確地定位。在內嵌流程時,一個線的開始與結束點將被融合到最近的線。

HFSM

街機賽車範例的AI在決策方面是相當簡單的。它只用於決定何時使用氮氣。

hfsm
HFSM。

跟隨線動作

在兔已經抵達目標目的地時,FollowLineAction設定兔的目的地。目的地本身基於玩家檢查點而被設定。

注意事項:目前在駕駛線上沒有路徑尋找。兔簡單地推定它跟隨線之後將抵達目標目的地。

AI困難度

AI困難度透過AIConfigAIHandling資產被定義。

  • AIConfig用於控制HFSM的設置值,以及更改兔在駕駛線周圍的行為。
  • AIHandling負責生成AI輸入。可繼承自AIHanding類別,以建立一個完全自訂的AI處理行為。
ai assets
AI資產。
Back to top