LikeScientist
LikeScientist
如果回复慢,可以邮箱联系:[email protected]
Hurry up and fix it, my brother.
后面我又测试了下,直接运行继承引擎类的ReceiveBeginPlay居然执行的是蓝图的逻辑,这导致我将ts中ReceiveBeginPlay逻辑又移到一个新函数中,在蓝图ReceiveBeginPlay去连新函数的节点调用,才让我功能能用,这是我在5.4用1.0.8发现的,之前5.1用1.0.5版本ReceiveBeginPlay逻辑是正常的,能运行ts的ReceiveBeginPlay。 Like ***@***.*** ------------------ 原始邮件 ------------------ 发件人: ***@***.***>; 发送时间: 2025年6月9日(星期一) 中午11:13 收件人: ***@***.***>; 抄送: ***@***.***>; ***@***.***>; 主题: Re: [Tencent/puerts] [UE] Bug: mixin蓝图使用super关键字(super调用蓝图的父类中ReceiveBeginPlay),能调用蓝图中的ReceiveBeginPlay节点,但当蓝图是ts的继承引擎类的代理蓝图时,也只能调用蓝图方法,但调用的不了ts中的ReceiveBeginPlay,这是故意这样设计的吗? (Issue #2076) chexiongsheng left a comment (Tencent/puerts#2076) 应该是js的设定,至少v8是这样,super绑定哪个函数是运行时这个类第一次编译的时候查找,查找到哪个是哪个。 —...
[UE5.4编译报错.txt](https://github.com/user-attachments/files/19871077/UE5.4.txt) 拉取提交在UE5.4编译报错该如何解决?如果有新的进展也可以致电我邮箱[email protected]
非常感谢楼主的分享!
这个问题是,原先有个导出引擎类的模版继承自蓝图方法库(UE.BlueprintFunctionLibrary),然后我复制这个模版改成继承UE.Actor,然后如图报错了,并且删掉.js和.map打开引擎生成的蓝图也还是有这个问题。 直接新建ts类继承UE.Actor不会有这个问题。
排查下来是继承引擎类的ts构造函数中有如下CreateDefaultSubobject相关代码导致的,注释掉就不崩溃了,不注释mixin该代理蓝图子类会崩溃: 
可能之前我搞错了,这次发现只使用继承引擎类在构造函数Constructor()中使用如上注释的代码也会崩溃,我又验证了下用如下CreateDefaultSubobject代码在Call In Editor的时候调用,也出现类似如上的bug,感觉是CreateDefaultSubobject没有在引擎构造时调用,并且AsyncLoadingThreadEnabled开不开启ts构造都用不了CreateDefaultSubobject。  [2025.06.09-11.59.54:473][947]LogWindows: Error: appError called: Fatal error: [File:D:\build\++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\Obj.cpp] [Line: 162] No object initializer found during construction. [2025.06.09-11.59.54:473][947]LogWindows: Windows GetLastError: The operation completed successfully. (0) [2025.06.09-11.59.54:476][947]LogWindows: Error: ===...
mixin混合使用继承引擎类的确很多问题,我的情况是继承引擎类的蓝图子类做了mixin,导致了如下问题: 1、继承引擎类BeginPlay只在蓝图生效,这个倒是ts的BeginPlay逻辑创建新方法来给蓝图调用可以解决。 2、继承引擎类的构造函数中使用CreateDefaultSubobject,将不在引擎构造的时机导致崩溃,这没法解决,导致ts写默认的组件是undefined 想了解下对于继承引擎类的最佳实践是什么?mixin的最佳实践是什么?
再补充下mixin和继承引擎类混合使用的第三个问题: 比如说添加相机组件: FpsCamera: UE.CameraComponent; 在只有继承引擎类中,代理蓝图就直接根据代码添加相机组件并实例化了 当像我一样继承引擎类代理蓝图创建蓝图子类并Mixin子类后,添加的组件变量FpsCamera就undefined,而且构造函数中也无法CreateDefaultSubobject,所以两者混合使用很难走下去了