點進來的都是大佬,歡迎關注點贊轉發,關注浪跡IT圈子的搬磚人。
歡迎搜索微信公衆號、B站【我在北京寫代碼】。
一、加入 Navigation烘焙和NavMeshAgent導航網格(界面操作請看相關視頻)
二、控制物體的移動腳本
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.AI;
public class NavigationController : MonoBehaviour {
//導航網格代理
public NavMeshAgent agent;
//初始化
void Start () {
}
// 每一幀更新調用
void Update () {
//鼠標右鍵
if (Input.GetMouseButtonDown (1)) {
//創建一條從攝像機到點擊位置的射線,並賦值給ray
Ray ray = Camera.main.ScreenPointToRay (Input.mousePosition);
//碰撞信息
RaycastHit hit;
//如果射線發生物理碰撞(且將碰撞內容賦給hit)
if (Physics.Raycast (ray, out hit)) {
//將鼠標點擊位置設置爲導航系統的目的位置(移動)
agent.SetDestination(hit.point);
}
}
}
}
三、攝像機跟隨物體視野移動腳本
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class CameraFollowController : MonoBehaviour {
//Transform組件
public Transform cube;
//Vector3向量
private Vector3 offset;
//初始化
void Start () {
//初始化一個偏移量(當前的位置(相機)減去要跟隨cube的位置)
offset = transform.position - cube.position;
}
// 每一幀更新調用
void Update () {
//給當前的位置(相機)賦值=初始化的偏移量+跟隨cube的位置
transform.position = offset + cube.position;
}
}