一、描述:一個角色在特定環境下自動到達指定目標。
導航網格(NavMesh)
1、設置導航靜態物體(NavigationStatic)
2、烘焙網格前的設置a.打開Navigation窗口
b.設置角色Size
Agent Radius(角色半徑)、Agent Height(角色高度)、Max Slope(角色可以爬的最大坡度)、Step Height(角色可以上的臺階高度)
c.Bake烘焙
導航角色(NavMeshAgent)
面板屬性:
AgentSize(角色大小):、Radius(半徑)、Height(高度)、Base Offset(偏移量量)導航角色與網格中心點的偏移量
Steering(導航過程):Speed(導航過程中角色的最大速度)、AngularSpeed(角速度)、Acceleration(加速度)、Stoping Distance(停止距離) 當前角?色距離目標多遠時停下、Auto Breakting(自動減速) 當角色快達到目標時自動減速
Obstacle Avoidance(躲避障礙物):Quality(導航質量量)、Priority(優先級)、Path Finding(尋路設置)、Auto Traverse Off Mesh Link 自動跨越分離路面、Auto Repath 自動重新規劃路、Area Mask 分層剔除(設置角色可以走哪些層)
常用屬性與方法:
SetDestination(Vector3) 設置導航目標、Stop() 停止導航、Resume() 恢復導航、CalculatePath、判斷當前角色能否通過導航的方式到達一個目標、desireVelocity 期望速度、velocity 實際速度、destination 目標點、remainingDistance 剩余距離、updatePosition 通過導航更更新位置、updateRotation 通過導航更新旋轉
分離路面導航
普通分離路面
1、設置分離路面靜態2、分離路面跳躍設置:Drop Height 跳下的高度、Jump Distance 跳遠距離
高級分離路面:1、兩個跳躍點(最好是在導航網格上)2、添加一個OffMeshLink組件3、將兩個跳躍點對象拖拽到OffMeshLink組件中StartEnd
分層路面導航
1、給不不同的路面設置不不同的導航層(Navigation Area)2、給角色設置AreaMask,設
置角色可以走哪些層代碼中設置areaMask,所有選層,2的編號次冪的和
選中物體烘焙
然后烘焙這個物體
還需要添加Nav Mesh Agent組件? ? 物體導航? 烘焙 導航代理
依次為:
Nav Mesh Agent:導航組建參數面板
Radius:物體的半徑
Speed:物體的行進最大速度
Acceleration:物體的行進加速度
Augular Speed:行進過程中轉向時的角速度。
Stopping Distance:離目標距離還有多遠時停止。
Auto Traverse Off Mesh Link:是否采用默認方式度過鏈接路徑。
Auto Repath:在行進某些原因中斷后是否重新開始尋路。
Height:物體的高度。
Base Offset:碰撞模型和實體模型之間的垂直偏移量。
Obstacle Avoidance Type:障礙躲避的的表現登記,None選項為不躲避障礙,另外等級越高,躲避效果越好,同時消耗的性能越多。
Avoidance Priority:躲避優先級。
NavMesh Walkable:該物體可以行進的網格層掩碼。
Nav Mesh Obstacle :動態障礙物
就是你移動到自己寫的范圍時烘焙 ? ? 當你靜止多長時間后開始烘焙
Off Mesh Link? :手動傳送,自定義傳送組件
示例代碼:
Particle System :粒子特效
END