问题标签 [unreal-engine4]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1482 浏览

c++ - UE4 - 宏插入定义时出现错误 C2535

我有一个问题,好吧,似乎不应该发生。基类中的虚函数在“生成”文件中被覆盖,该文件创建头文件调用的宏。

覆盖的方法是virtual void GetLifetimeReplicatedProps( TArray< FLifetimeProperty > & OutLifetimeProps ) const OVERRIDE;

该语句位于生成文件(宏地狱,第二个代码块)中,该文件又插入到类定义的顶部,在常规标头(下面的第一个代码块)中。

直言不讳,这里是失败的代码:

类 .h 文件

具有宏“GENERATED_UCLASS_BODY()”的 .h 文件

如果我将覆盖放在实际的头文件中,我会收到 C2535 编译器错误(成员函数已定义/声明)。然而,当我删除声明时,我得到一个未解决的外部符号错误(LNK2001),因为我已经在 CPP 文件中实现了它。所以,在我看来,MSVS 2013 没有正确读取生成的文件/宏,并抱怨?

无论如何,它正在破坏开发,因为我无法编译!任何帮助都是极好的。

谢谢,问候奥文德

0 投票
1 回答
1744 浏览

c++ - Atlbase 无法正确包含在 Unreal Engine 4 中

我正在使用完整版的 VS2013,并试图将 atlbase 与 shelper 一起包含在一个类中,但我遇到了各种类型的错误。

我正在使用一个新生成的类,它将在没有这些包含的情况下干净地编译,并且其中几乎没有其他任何东西。

编译器正在查找库并似乎加载了它们,但是我得到了大约 20 个几乎就像这样的错误(我省略了其余的,但它们都和这些一样)

这些错误仅在包含 atlbase.h 和/或 shelper.h 后才会出现。其中一半来自第一个,另一半来自第二个。

它们包括如下(在我的项目和类标题包含下):

我将它们放在这个“平台类型”块中,因为 atlbase 和 sphelper 库各自抛出大量错误,与任意声明或其他内容有关。

我没有以任何方式编辑库文件,并完全删除了所有库并从头开始重新安装。

这可能是由于我的疏忽或其他原因,但谁能解释为什么 atl 和 shelper 库不能正确包含?

编辑:

为了澄清,我“解决”导致此问题的问题的解决方案,我在“ https://answers.unrealengine.com/questions/27560/trouble-using-windows-includes-with-dword- int.html "

0 投票
0 回答
1557 浏览

c# - 虚幻引擎 4 链接 iOS 库

我已经开始为 iOS 游戏使用虚幻引擎 4。我正在尝试将 UIKit 用作 HUD 的一部分。当我运行配置文件构建时,它失败并显示错误“Shell Script Invocation Error 'UIKit/UIAlertView.h' file not found”。

我的 HUD 类 .h 文件如下所示:

我的 HUD 类 .cpp 文件如下所示:

我的 build.cs 文件如下所示:

我想我一定是在 build.cs 文件中做错了,但我不确定为什么它找不到框架。如何使用虚幻构建工具找到 UIKit?

0 投票
2 回答
7261 浏览

c++ - 虚幻引擎 4——类型转换

我目前正在 Unreal Engine 4 中开发我的第一个类。由于广泛使用 UScript,我对纯 C++ 中的类型转换如何工作感到有些困惑。更具体地说,类/对象转换。

我目前正在 MyCustomGameMode 中组合一个 switch 语句,它为 MyCustomPlayerControllerVariable 调用 MyCustomPlayerController。

我要覆盖的有问题的功能是这个:virtual UClass* GetDefaultPawnClassForController(AController* InController);

目前我正在尝试使用以下代码行调用变量,我知道这是不正确的,但我不确定为什么:

我有兴趣将“InController”投射到 MyCustomPlayerController 但Cast<MyCustomPlayerController>(InController)似乎不起作用,我在这里做错了什么?

0 投票
1 回答
1005 浏览

unreal-engine4 - 如何在虚幻编辑器中添加 Actor 并移动它?

我是游戏开发的新手。通过培训课程入门(https://docs.unrealengine.com/latest/INT/Programming/QuickStart/7/index.html)我创建了一个类 AMyActorTest 扩展 AActor:

我有一个问题,在将编辑器放入 ViewPort 后,我​​无法在编辑器中移动到 AActor。我读到我的 Actor 缺少 RootComponent,但我不明白如何添加它(也许我不完全理解演员)。可以帮助您获得我的源代码来解决我的问题吗?这段代码是在训练方面做的。我的目标 - 添加一个演员并能够移动和旋转它。

0 投票
1 回答
3583 浏览

c++ - 虚幻引擎中的链接错误

免责声明:这很有可能是虚幻引擎特有的,但我在那里没有得到答案,所以我想我会在这里尝试更一般的查询。抱歉,如果这被认为是离题/太具体

在虚幻引擎 4 中编译以下代码时出现链接错误:

这是在宏 ( ENQUEUE_UNIQUE_RENDER_COMMAND_TWOPARAMETER) 中调用的,但即使您不这样做,也会发生链接错误。

错误本身是:

压缩可读性:

(未链接方法被引用的方法是我正在调用的方法)。

以及其他 4 个类似的链接错误。

我不是 C++ 专家的任何想象,但我的理解是,当正确包含头文件时会导致链接错误,但实际上无法找到指向的方法的实现。

我不明白的是,它无法找到实现的方法在虚幻引擎中(我假设它实际上并没有缺少方法实现等!)。

此外,我正在调用的方法和它正在调用的方法(并且无法链接)都定义inline在同一个头文件中。我唯一能看到的可能是错误的方法是在头文件的下方声明和实现了正在使用的方法,但我不认为这可能是一个问题(当然不是链接问题)。

0 投票
1 回答
2007 浏览

visual-studio-2013 - VS2013 express Intellisense 很慢... Unreal engine 4

Visual Studio 2013 Intellisense 是 SOOOOO DAYMMMMMM SLOWWW ... 我有一个疯狂的装备,弹出智能菜单需要大约 30 秒到一分钟...有时,它甚至不显示!...我有重新打开文件以使其实际出现?这让学习虚幻引擎变得非常困难。

是否有任何明显的原因导致速度如此之慢。

  • 我已经删除了我的 sdf 文件,但是杰克确实蹲了下来。
  • 我已经在安全模式下运行

它似乎不是特定于上下文的,它只是在整个应用程序中都很慢。

0 投票
1 回答
1165 浏览

android - 使用 UE4 进行快速原型设计,Unity3d 用于真正的多平台部署是否有意义?

我想创造一个有趣的手机游戏(我希望它真的很有趣)。市场上有两个最好的工具:UE4 和 Unity3d。UE4 有一个吸引人的界面。这个界面很容易理解。蓝图也很容易理解。但是,UE4 完全没有为多平台开发做好准备:Android 的支持非常糟糕 :(

Unity3d 很难理解,Unity3d 需要更强大的编程技能,界面丑陋,不直观等。但 Unity3d 确实适用于几乎所有移动平台和市场上几乎所有移动设备。

那么,在 UE4 中“玩”游戏原型是否有意义,快速创建和测试主要逻辑(蓝图很棒且易于使用),然后,在我确定我的想法对玩家来说真的很有趣和有吸引力之后,移动Unity3d的艺术资产,用C#编码蓝图的逻辑等等???

0 投票
1 回答
5850 浏览

c++ - 虚幻引擎 4 空白模块

我正在尝试进入虚幻引擎 4 模块开发,从初学者的空白模块开始,但一开始就遇到了障碍。

我为非游戏模块完成的教程: https ://wiki.unrealengine.com/An_Int...to_UE4_Plugins 。我尝试完全按照源代码进行操作,然后将所有内容修改为 TestPlugin(因为我也无法通过教程使其工作)。

出于某种原因,每当我尝试在编辑器中激活模块时,我都会得到“找不到“模块”模块”。我想弄清楚我是否错过了一些东西,这是我到目前为止的代码:

../Engine/Plugins/TestPlugin/TestPlugin.uplugin

../Engine/Plugins/TestPlugin/Source/TestPlugin/TestPlugin.cpp

../Engine/Plugins/TestPlugin/Source/TestPlugin/TestPlugin.Build.cs

../Engine/Plugins/TestPlugin/Source/TestPlugin/Public/ITestPlugin.h

../Engine/Plugins/TestPlugin/Source/TestPlugin/Private/TestPluginPrivatePCH.h

../Engine/Plugins/TestPlugin/Source/TestPlugin/Private/TestPlugin.h

../Engine/Plugins/TestPlugin/Source/TestPlugin/Private/TestPlugin.cpp

0 投票
1 回答
3159 浏览

unreal-engine4 - 虚幻引擎 4:访问自定义父蓝图的组件

我在重设蓝图时遇到问题。我创建了一个名为“BP_Collectible”的蓝图。它有 3 个组件;音频、StaticMesh 和一个盒子碰撞器。如果演员触摸此蓝图(盒子碰撞器),音频会立即播放并破坏对象。一切都很好。

现在我正在尝试创建两个名为“BP_Coin”和“BP_Heart”的蓝图,它们是“BP_Collectible”的子级。BP_Collectible 的三个组件在这些蓝图上可见,但我也无法更改 StaticMesh 的网格和 Audio 的 AudioClip。我想制作两个不同的收藏品,它们必须具有 BP_Collectible 行为但具有不同的网格和音频。

我怎样才能做到这一点?