一赤炒、描述:一個角色在特定環(huán)境下自動到達指定目標氯析。
導航網格(NavMesh)
1、設置導航靜態(tài)物體(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(優(yōu)先級)炉旷、Path Finding(尋路設置)签孔、Auto Traverse Off Mesh Link 自動跨越分離路面、Auto Repath 自動重新規(guī)劃路窘行、Area Mask 分層剔除(設置角色可以走哪些層)
常用屬性與方法:
SetDestination(Vector3) 設置導航目標饥追、Stop() 停止導航、Resume() 恢復導航罐盔、CalculatePath但绕、判斷當前角色能否通過導航的方式到達一個目標、desireVelocity 期望速度惶看、velocity 實際速度捏顺、destination 目標點、remainingDistance 剩余距離纬黎、updatePosition 通過導航更更新位置幅骄、updateRotation 通過導航更新旋轉
分離路面導航
普通分離路面
1、設置分離路面靜態(tài)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:躲避優(yōu)先級。
NavMesh Walkable:該物體可以行進的網格層掩碼枚荣。
Nav Mesh Obstacle :動態(tài)障礙物
就是你移動到自己寫的范圍時烘焙 ? ? 當你靜止多長時間后開始烘焙
Off Mesh Link? :手動傳送碗脊,自定義傳送組件
示例代碼:
Particle System :粒子特效
END