我在虚幻引擎4项目中遇到麻烦。我对此很陌生,我不太了解发生了什么。我已经完成了梯子功能,因此角色可以爬上梯子并站立在顶部的静态网格物体上。但是,当我想走下梯子时,我想在Actor“ BP_Ladder”上触发“ Allow Down”功能,但是每次转换都失败。是什么导致强制转换失败?
我环顾四周,其他因转换失败而遇到问题的人的名字大多不正确,但我的梯子称为“ BP_Ladder”,这就是我要转换的内容,这让我感到非常困惑。
我的BP_Dude蓝图(这被称为每个刻度)
我的BP_Ladder蓝图(这是我要触发的东西)
此功能的目标是关闭静态网格物体的碰撞,然后像往常一样允许我向下移动梯子。
我真的很感谢您的帮助,在我使用虚幻引擎的前几天以及我遵循的Epic Games教程中,并没有显示所有蓝图,因此每个人都将一半的蓝图弄成无奈。
答案 0 :(得分:2)
以最简单的形式,如果可以将Actor
强制转换为BP_Ladder
,则它将在输出引脚上返回强制转换的对象。
只是为了确保您知道强制转换的工作原理,我必须指出,您不能将给定类型强制转换为一些不相关的任意类型。它必须是“可广播的”到演员的目的地。因此,如果您认为重叠产生的Actor
对象是真正的BP_Ladder
或从BP_Ladder
派生的蓝图类,那么您应该可以。但这必须是事实。否则每次都会失败。
https://docs.unrealengine.com/en-us/Engine/Blueprints/UserGuide/CastNodes
对不起,如果我正在光顾,但是如果演员表无法正常工作9/10,则表示使用不正确。
好的,如果您认为您确实在强制转换为正确的类型,但仍然失败,那么您将需要调试蓝图,以查找将哪种类型赋给强制转换的节点。导致失败。
Object
引脚上。它应该显示一个包含该变量详细信息的替代文本。https://docs.unrealengine.com/en-US/Engine/Blueprints/UserGuide/Debugging
示例
我拍了一个正在运行的游戏的屏幕截图;在此您将看到:
Create Rolling Stock
DepotComponent...Depot
使用蓝图时有一些陷阱。在这种情况下,其中之一可能是您可以拥有两个具有相同名称的类(尽管它们可能具有不同的内部“脚本名称”-实际上是完全限定的路径)。调试对象变量时,请确保将整个路径与资产在内容文件夹中的位置匹配;这样可以确保您确实尝试投射到您认为自己确实是的对象。
另一个经典的陷阱是“热重装”。有时,编辑器需要在动态构建后重新加载模块,但内部会发生类冲突;这会导致该类的新版本使用其他名称(以HOTRELOADED前缀)。当心这个;它可能导致您在投射时要处理两种不同的类型,而您甚至没有意识到。真正的理智主义者。如有疑问,请关闭并重新打开编辑器。每次都会修复它。
答案 1 :(得分:1)
“开始重叠”仅在您开始重叠时才触发,因此,如果您有将“可以爬升”设置为false的逻辑,则需要移动到对撞机之外,然后再次进入对撞机以进行另一个“开始重叠”事件。