U3D基礎之人工智慧—敵人巡邏
敵人巡邏
首先在場景中建立幾個巡邏的點,將玩家和敵人的Tag設定為相應的Tag
其中enemy的元件如下
在Enemy指令碼中程式碼如下
public class Enemy : MonoBehaviour
{
public float PatrolSpeed = 3f;
public float PatrolWaitTime = 1f;
public Transform PatrolWayPoints;
private NavMeshAgent agent;
private float PatrolTimer = 0f;
private int wayPointsIndex = 0;
private void Start()
{
agent = GetComponent<NavMeshAgent>();
}
private void Update()
{
Patrolling();
}
/// <summary>
/// 巡邏函式
/// </summary>
void Patrolling()
{
agent.isStopped = false;//首先將運動狀態設定為運動
agent.speed = PatrolSpeed;//設定巡邏速度
if (agent.remainingDistance < agent.stoppingDistance)//如果已經到達目標點
{
PatrolTimer += Time.deltaTime;
if (PatrolTimer > PatrolWaitTime)
{
if (wayPointsIndex == PatrolWayPoints.childCount - 1)
wayPointsIndex = 0;
else
wayPointsIndex++;
PatrolTimer = 0;
}
}
else
PatrolTimer = 0;
agent.destination = PatrolWayPoints.GetChild(wayPointsIndex).position;
}
}
因為其中判斷是否到達目標點涉及到距離的比較,需要將敵人的Stopping Distance設定一下,代表之間的冗餘。
相關文章
- Java基礎之邏輯控制Java
- 敵人——建立敵人Rioter
- unity 智慧巡邏兵Unity
- 邏輯代數基礎
- Linux基礎服務巡檢指令碼模板Linux指令碼
- jmeter基礎邏輯控制器之ForEach控制器JMeter
- 人工智慧基礎人工智慧
- HarmonyOS-基礎之聯絡人案例
- 《對馬島之魂》的敵人,其實是韓國人?
- P3629 [APIO2010] 巡邏API
- 朋友或敵人:五個問題概述人工智慧的未來人工智慧
- 朋友還是敵人:五個問題概述了人工智慧的未來人工智慧
- 前端基礎之jQuery基礎前端jQuery
- Python基礎之哪些人適合學Python?Python
- [題解]P3629 [APIO2010] 巡邏API
- Cozmo人工智慧機器人SDK使用筆記(1)-基礎部分basics人工智慧機器人筆記
- 人工智慧之機器學習基礎——貝葉斯(Bayesian Methods)人工智慧機器學習
- 人工智慧之機器學習基礎——決策樹(Decision Tree)人工智慧機器學習
- Javascript基礎之-thisJavaScript
- 人工智慧必備數學基礎:高等數學基礎(2)人工智慧
- 人工智慧必備數學基礎:高等數學基礎(1)人工智慧
- 人工智慧之機器學習線代基礎——矩陣分類人工智慧機器學習矩陣
- 外掛,永無止息的敵人
- Golang 基礎之基礎語法梳理 (三)Golang
- 人工智慧數學基礎—-矩陣人工智慧矩陣
- 人工智慧數學基礎----導數人工智慧
- 人工智慧數學基礎----矩陣人工智慧矩陣
- 人工智慧必備數學基礎:線性代數基礎(2)人工智慧
- Java基礎09:邏輯運算子、位運算子Java
- 【機器學習基礎】邏輯迴歸——LogisticRegression機器學習邏輯迴歸
- 人工智慧之機器學習線代基礎——核空間(Kernel Space)人工智慧機器學習
- Javascript基礎之-PromiseJavaScriptPromise
- java基礎之XMLJavaXML
- drf之框架基礎框架
- python基礎之字串Python字串
- Android 基礎之 HandlerAndroid
- 基礎之const解析
- Dart基礎之IsolateDart