- Hands-On Artificial Intelligence with Unreal Engine
- Francesco Sapio
- 323字
- 2021-06-24 15:23:30
Creating a NavArea class in C++
It's easy to create a NavArea class in C++ as well. First of all, you need to create a new C++ class that inherits from the NavArea class, as shown in the following screenshot:

By convention, the name should start with "NavArea_". Therefore, you can rename it NavArea_Desert (just to vary which kind of terrain the AI can face, since we created a Jungle previously) and place it in "Chapter3/Navigation":

Once you have created the class, you just need to assign the parameters in the constructor. For your convenience, here is the class definition in which we declare a simple constructor:
#include "CoreMinimal.h"
#include "NavAreas/NavArea.h"
#include "NavArea_Desert.generated.h"
/**
*
*/
UCLASS()
class UNREALAIBOOK_API UNavArea_Desert : public UNavArea
{
GENERATED_BODY()
UNavArea_Desert();
};
Then, in the implementation of the constructor, we can assign the different parameters. For instance, we can have a high cost for entering and a higher cost for traversing (with respect to the Default or the Jungle). Furthermore, we can set the color to Yellow so that we remember that it is a desert area:
#include "NavArea_Desert.h"
UNavArea_Desert::UNavArea_Desert()
{
DefaultCost = 1.5f;
FixedAreaEnteringCost = 3.f;
DrawColor = FColor::Yellow;
}
Once you have created the class, you can set it as part of the Nav Modifier Volume, as shown in the following screenshot:

As a result, you will be able to see your custom area in the Nav Mesh (in this case, with a Yellow Color):

- SpringMVC+MyBatis快速開發與項目實戰
- 零基礎學Scratch少兒編程:小學課本中的Scratch創意編程
- Cocos2d-x游戲開發:手把手教你Lua語言的編程方法
- 精通搜索分析
- Practical Windows Forensics
- Learning Laravel 4 Application Development
- 從學徒到高手:汽車電路識圖、故障檢測與維修技能全圖解
- 執劍而舞:用代碼創作藝術
- Node學習指南(第2版)
- SQL Server 2016 從入門到實戰(視頻教學版)
- Scala Functional Programming Patterns
- 玩轉.NET Micro Framework移植:基于STM32F10x處理器
- 愛上C語言:C KISS
- C#面向對象程序設計(第2版)
- Web開發的平民英雄:PHP+MySQL