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
- 朋友或敵人:五個問題概述人工智慧的未來人工智慧
- 邏輯代數基礎
- 推送的基礎邏輯
- HarmonyOS-基礎之聯絡人案例
- 人工智慧基礎人工智慧
- Linux基礎服務巡檢指令碼模板Linux指令碼
- Java基礎——邏輯運算子Java
- 朋友還是敵人:五個問題概述了人工智慧的未來人工智慧
- jmeter基礎邏輯控制器之ForEach控制器JMeter
- javascript基礎(邏輯運算子)(九)JavaScript
- Steam,你的敵人是亞馬遜亞馬遜
- 前端基礎之jQuery基礎前端jQuery
- Cozmo人工智慧機器人SDK使用筆記(1)-基礎部分basics人工智慧機器人筆記
- 全國首款警察機器人 在鄭州高鐵站正式執行巡邏任務機器人
- 【機器學習基礎】邏輯迴歸——LogisticRegression機器學習邏輯迴歸
- 外掛,永無止息的敵人
- P3629 [APIO2010] 巡邏API
- Python基礎之哪些人適合學Python?Python
- 【Vim】基礎之基礎——指尖的舞蹈
- Javascript基礎之-thisJavaScript
- 類之基礎
- 人工智慧必備數學基礎:高等數學基礎(1)人工智慧
- 人工智慧必備數學基礎:高等數學基礎(2)人工智慧
- 手機人工智慧還未成型,如何將基礎人機互動玩得更好人工智慧
- Spark 和 Hadoop 是朋友不是敵人SparkHadoop
- SOA和敏捷:是朋友?還是敵人?敏捷
- 人工智慧數學基礎—-矩陣人工智慧矩陣
- 人工智慧數學基礎----導數人工智慧
- 人工智慧數學基礎----矩陣人工智慧矩陣
- 0基礎如何入門人工智慧?人工智慧
- Golang 基礎之基礎語法梳理 (三)Golang
- 人工智慧必備數學基礎:線性代數基礎(2)人工智慧
- 人員基礎資訊採集
- u3d3D