03/28/2021
前言
首先C#的脚本,都在Engine/Source/Programs/中
Build.cs
[ProjectName.Build.cs]
Build.cs 主要作用是帮助link,C++中如何建立好的include体系是非常重要的!第一个介绍的是以项目命名的build.cs文件。首先我建了一个新项目,模板用的是FirstPerson,项目名字是TestBuild
//TestBuild.build.cs
using UnrealBuildTool;
public class TestBuild : ModuleRules //ModuleRules 父类去Engine/Source/Programes/去github下载开发版本
{
public TestBuild(ReadOnlyTargetRules Target) : base(Target)
{
PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs;
PublicDependencyModuleNames.AddRange(new string[] {
"Core", //CoreMinimal
"CoreUObject",
"Engine", //GameFramework
"InputCore",
"HeadMountedDisplay"
});
}
}
首先我们打开TestBuildCharacter.h查看,发现include “GameFramework/Character.h”,这代表我们使用引擎中GameFramework目录下的代码,它属于Engine模块。
//Source/Runtime/Engine/Classes/GameFramework/Character.h
#include "GameFramework/Character.h"
//Source/Runtime/Core/Public/CoreMinimal.h ----- Core模块
#include "CoreMinimal.h"
//Source/Runtime/CoreUObject/Public/UObject/ConsturctorHelper.h
#include "UObject/ConsturctorHelper.h" //TestBuildHUD.cpp 引用到
//Source/Runtime/HeadMountedDisplay/Public/HeadMountedDisplayFunctionLibrary.h
//VR 头显
#include "HeadMountedDisplayFunctionLibrary.h"
#include "XRMotionControllerBase.h"