理论上来说,UE的Program项目允许开发者按照开发需求提取需要的UE的模块以及裁剪掉不需要的模块(比如Epic Games提供在源码中的SlateViewer参考项目仅使用了Slate以及SlateCore部分的渲染而没有包含完整的UE渲染子系统)。现在我想尝试着让Program直接运行UMG,绘制UMG上的内容,而不是打包为一个臃肿的应用程序。请问各位有经验的开发者,这种想法是否可行?
In theory, UE4’s Program project allows developers to extract the necessary UE4 modules and remove unnecessary modules based on development needs (for example, the SlateViewer provided by Epic Games only uses the Slate and SlateCore rendering components and does not include the complete UE4 rendering subsystem). Now I’d like to try having the Program run UMG Blueprints directly, drawing content from UMG, rather than packaging it as a bloated application.Experienced developers, is this idea feasible?
在这个问题上我做过尝试,不过会在编译时爆出C3668错误,而且问题都是出在方法GetWorld()
的重载上,我也尝试过在build.cs上包含“engine”模块,但无济于事。这些错误几乎会均匀分布在“engine”模块里重载UWorld::GetWorld
方法的文件里面。
I have tried this, but it will throw C3668 errors during compilation, and the problem is in the overload of the GetWorld()
method. I have also tried to include the “engine” module in build.cs, but to no avail. These errors are almost evenly distributed in the files that overload the UWorld::GetWorld
method in the “engine” module.
如果以上想法可行,那么请问我还需要做哪些工作?如果不可行的话,请问是为什么?
If the above idea is feasible, what else do I need to do? If not, why not?