puerts icon indicating copy to clipboard operation
puerts copied to clipboard

[Unreal]ts生成蓝图时,给属性赋一个自定义蓝图为默认值,运行时崩溃

Open huzhangyang opened this issue 4 years ago • 3 comments

error log | 日志或报错信息

lQLPDhrpxdsmCBzNASXNAiGwht-ZIx0g_HwBrEGbCQASAA_545_293

context | 编译/运行环境

UE 4.27.1+最新版Puerts

how to reproduce | 复现步骤

  1. 创建一个生成蓝图的ts,并增加一个蓝图成员,如:
    @UE.edit_on_instance()
    Curve: UE.CurveFloat;
  1. 在Constructor中一个自定义蓝图为默认值(已确保蓝图正常存在在路径上),如:
    Constructor() {
        this.Curve = UE.CurveFloat.Load('/Game/Blueprints/Battle/Curve/LinearFast_LinearFast.LinearFast_LinearFast');
    }
  1. PIE中,可正常赋默认值并使用

image

但打包后运行报上述错误。

more | 其他

追查后似乎与CDO时调用AsyncLoading有关。

huzhangyang avatar Nov 29 '21 10:11 huzhangyang

加载路径去掉后缀试下?

Constructor() {
        this.Curve = UE.CurveFloat.Load('/Game/Blueprints/Battle/Curve/LinearFast_LinearFast');
    }

官方教程加载assets都没有使用后缀

dawnarc avatar Nov 30 '21 11:11 dawnarc

正在load的过程去load另外一个asset是不行的,UE的限制

chexiongsheng avatar Nov 30 '21 12:11 chexiongsheng

正在load的过程去load另外一个asset是不行的,UE的限制

那有方法像原生蓝图一样,指定一个资源硬引用为默认值吗

huzhangyang avatar Dec 03 '21 09:12 huzhangyang