如何在我的自定义虚幻引擎模块中 #include 插件源文件?

Pur*_*urp 3 c++ augmented-reality ios unreal-engine4

我正在使用 C++ 虚幻引擎项目并制作了自己的自定义模块,名为 MyActor,虚幻引擎自动为我创建了 .cpp 和 .h 文件。这似乎正在发挥作用。

所以现在我想包含 AppleARKit 插件中的类或方法,然后从我的自定义 MyActor 模块覆盖并调用它们。

首先我尝试使用,#include AppleARKitLiveLinkSourceFactory.h因为它有IARKitBlendShapePublisher::PublishBlendshapes我想要修改和使用的方法。

它一开始并没有因为这个错误而工作:E1696 Cannot open source file AppleARKitLiveLinkSourceFactory.h但我发现我可以使用属性下的“包含目录”将它们包含在 Visual Studio 中,如下所示: 在此输入图像描述

AppleARKitLiveLinkSourceFactory.h文件位于公共文件夹中,但我也包含了私人文件夹,我不知道是否需要这样做。一开始这似乎有效,但后来对于文件内的每个依赖项,我都遇到了与以前相同的错误AppleARKitLiveLinkSourceFactory.h

我是否必须包含整个链中每个依赖项的单独目录?有更容易的方法吗?

vyk*_*ash 5

当我遇到包含插件中的文件的问题时,在我的例子中 LidarPointCloud,以下步骤对我有用:

1)在我的<project-name>.Build.cs文件中,我将我希望使用的模块名称(LidarPointCloudRuntime)添加到公共依赖项列表中

PublicDependencyModuleNames.AddRange(new string[] { "LidarPointCloudRuntime", "Core", "CoreUObject", "Engine", "InputCore" });
Run Code Online (Sandbox Code Playgroud)

.uplugin我通过打开插件文件夹中的文件来确定模块名称,并查看该Modules部分。如果列出了多个模块名称,您应该选择包含您关心的类的源代码的模块名称。

2)然后我重建了项目,关闭了编辑器,然后右键单击我的<project-name>.uproject文件并重新生成了项目文件。

之后,我就可以访问代码中的 .h 文件了。

-更新-

似乎AppleARKitFaceSupport依赖于可能需要包含的其他插件。例如,ARSystems.h住在AugmentedReality. 当我将其添加到PublicDependencyModuleNames并执行相同的步骤时,它可以找到ARSystem.h.