UE4 Target System Plugin 使用教程
1. 项目的目录结构及介绍
UE4 Target System Plugin 是一个完全用 C++ 编写的插件,旨在为 Unreal Engine 4 添加一个类似于《黑暗之魂》风格的相机锁定/目标系统。以下是该项目的目录结构及其介绍:
ue4-targetsystemplugin/
├── LICENSE
├── README.md
├── TargetSystem
│ ├── Source
│ │ ├── TargetSystem
│ │ │ ├── TargetSystem.Build.cs
│ │ │ ├── TargetSystem.cpp
│ │ │ ├── TargetSystem.h
│ │ │ ├── TargetSystemComponent.cpp
│ │ │ ├── TargetSystemComponent.h
│ │ │ ├── TargetSystemSettings.cpp
│ │ │ ├── TargetSystemSettings.h
│ │ │ └── ...
│ │ └── TargetSystemEditor
│ │ ├── TargetSystemEditor.Build.cs
│ │ ├── TargetSystemEditor.cpp
│ │ ├── TargetSystemEditor.h
│ │ └── ...
│ └── ...
└── ...
目录结构介绍
- LICENSE: 项目的许可证文件,采用 MIT 许可证。
- README.md: 项目的说明文档,包含项目的基本信息和使用方法。
- TargetSystem: 插件的主要目录,包含源代码和相关资源。
- Source: 源代码目录。
- TargetSystem: 插件的核心代码。
- TargetSystem.Build.cs: 插件的构建配置文件。
- TargetSystem.cpp 和 TargetSystem.h: 插件的主要实现文件。
- TargetSystemComponent.cpp 和 TargetSystemComponent.h: 目标系统组件的实现文件。
- TargetSystemSettings.cpp 和 TargetSystemSettings.h: 插件的配置设置文件。
- TargetSystemEditor: 插件的编辑器相关代码。
- TargetSystemEditor.Build.cs: 编辑器部分的构建配置文件。
- TargetSystemEditor.cpp 和 TargetSystemEditor.h: 编辑器部分的实现文件。
- TargetSystem: 插件的核心代码。
- Source: 源代码目录。
2. 项目的启动文件介绍
项目的启动文件主要是 TargetSystem.Build.cs
和 TargetSystemEditor.Build.cs
,它们分别负责插件的核心功能和编辑器扩展功能的构建配置。
TargetSystem.Build.cs
using UnrealBuildTool;
public class TargetSystem : ModuleRules
{
public TargetSystem(ReadOnlyTargetRules Target) : base(Target)
{
PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs;
PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore" });
PrivateDependencyModuleNames.AddRange(new string[] { });
// ... add private dependencies that require any include paths
}
}
TargetSystemEditor.Build.cs
using UnrealBuildTool;
public class TargetSystemEditor : ModuleRules
{
public TargetSystemEditor(ReadOnlyTargetRules Target) : base(Target)
{
PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs;
PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore", "TargetSystem" });
PrivateDependencyModuleNames.AddRange(new string[] { "UnrealEd", "EditorStyle", "Slate", "SlateCore" });
// ... add private dependencies that require any include paths
}
}
3. 项目的配置文件介绍
项目的配置文件主要是 TargetSystemSettings.cpp
和 TargetSystemSettings.h
,它们定义了插件的配置选项,允许用户在蓝图中进行自定义设置。
TargetSystemSettings.h
#pragma once
#include "CoreMinimal.h"
#include "Engine/DeveloperSettings.h"
#include "TargetSystemSettings.generated.h"
UCLASS(config=Game, defaultconfig, meta=(DisplayName="Target System"))
class TARGETSYSTEM_API UTargetSystemSettings : public UDeveloperSettings
{
GENERATED_BODY()
public:
UTargetSystemSettings();
/** Minimum distance