【问题标题】:UE4: Set texture to material (C++)UE4:将纹理设置为材质(C++)
【发布时间】:2020-11-22 01:09:59
【问题描述】:

我是虚幻编码的新手,我想将纹理应用到材质,但我一直在创作:

    UMaterialInterface* Material = CreateDefaultSubobject<UMaterial>(TEXT("MyMaterial"));
    UMaterialInstanceDynamic* DynamicMatierial = UMaterialInstanceDynamic::Create(Material, this);

我收到此错误消息:

具有空名称的 NewObject 不能用于创建默认子对象(在 UObject 派生类构造函数内部),因为它会产生不一致的对象名称。请改用 ObjectInitializer.CreateDefaultSuobject。

此错误来自第二行。知道为什么会发生此错误吗? 或者有没有其他简单的方法可以将纹理应用到材质上?

【问题讨论】:

    标签: c++ unreal-engine4


    【解决方案1】:

    【讨论】:

      【解决方案2】:

      好的,我已经解决了这个错误,这行不能在构造函数中使用:

      UMaterialInstanceDynamic* DynamicMatierial = UMaterialInstanceDynamic::Create(Material, this);
      

      将其移至 PostLoad 或其他生命周期方法

      【讨论】:

        猜你喜欢
        • 2021-06-24
        • 2016-09-23
        • 2016-03-01
        • 1970-01-01
        • 2021-12-17
        • 1970-01-01
        • 2014-10-04
        • 2012-11-15
        • 2018-03-18
        相关资源
        最近更新 更多