一、添加代码,修改蓝图类继承的父类

.cpp
#include “Kismet2/BlueprintEditorUtils.h”
#include “Kismet2/KismetEditorUtilities.h”

void UYMToolBPLibrary::ReparentBlueprint(UBlueprint* Blueprint, UClass* NewParentClass)
{if (!Blueprint || !NewParentClass){UE_LOG(LogTemp, Warning, TEXT("Failed to reparent blueprint!"));return;}if (NewParentClass == Blueprint->ParentClass){UE_LOG(LogTemp, Warning, TEXT("'%s' is already parented to class '%s'!"), *Blueprint->GetFriendlyName(), *NewParentClass->GetName());return;}// There could be possible data loss if reparenting outside the current class hierarchyif (!Blueprint->ParentClass || !NewParentClass->GetDefaultObject()->IsA(Blueprint->ParentClass)){UE_LOG(LogTemp, Warning, TEXT("'%s' class heirarcy is changing, there could be possible data loss!"), *Blueprint->GetFriendlyName());}UClass* OriginalParentClass = Blueprint->ParentClass;Blueprint->ParentClass = NewParentClass;FBlueprintEditorUtils::RefreshAllNodes(Blueprint);FBlueprintEditorUtils::MarkBlueprintAsModified(Blueprint);CompileBlueprint(Blueprint);
}
void UYMToolBPLibrary::CompileBlueprint(UBlueprint* Blueprint)
{if (Blueprint){// Skip saving this to avoid possible tautologies when saving and allow the user to manually saveEBlueprintCompileOptions Flags = EBlueprintCompileOptions::SkipSave;FKismetEditorUtilities::CompileBlueprint(Blueprint, Flags);}
}
UBlueprint* UYMToolBPLibrary::GetBlueprintAsset(UObject* Object)
{return Cast<UBlueprint>(Object);
}

.h

 UFUNCTION(BlueprintCallable, Category = "Blueprint Upgrade Tools")static void ReparentBlueprint(UBlueprint* Blueprint, UClass* NewParentClass);UFUNCTION(BlueprintCallable, Category = "Blueprint Upgrade Tools")static void CompileBlueprint(UBlueprint* Blueprint);UFUNCTION(BlueprintCallable, Category = "Blueprint Upgrade Tools")static UBlueprint* GetBlueprintAsset(UObject* Object);

二、在Build.cs文件中加入一下代码

 PublicDependencyModuleNames.AddRange(new string[]{"Core","BlueprintGraph"});PrivateDependencyModuleNames.AddRange(new string[]{"CoreUObject","Engine","UnrealEd","AnimGraph"});

三、蓝图中使用方法:

使用的引擎版本:UE4.26
存在问题:当修改父类后提示该蓝图编译失败需要手动编译!!!

UE4 编辑器下修改蓝图类继承的父类 ReparentBlueprint C++相关推荐

  1. UE4 编辑器内修改贴图分辨率

    在DCC美术流程中,将相应贴图导出后,在PS等DCC工具中修改贴图分辨率尺寸,再导入回UE4中. UE4编辑本身支持修改贴图分辨率. 注:图片分辨率必须为2的n次方 :2/4/8/16/32/64/1 ...

  2. csdn博客markdown编辑器下修改图片大小及文字颜色

    写在前面 学习很难,克服惰性.每天学一点,不会的就少一点. 养成习惯很重要,先从点赞开始吧!关注[程序员之道],程序员之路不再迷茫 最近用markdown写文章,有时候直接上传的图片显示太大,不知道怎 ...

  3. UE4设置 只修改蓝图节点的语言为英文

    原因 因为在查找需要的节点时,输入英文更符合命名法,为了更好的查找节点,把节点的名字改成英文当然更好! 操作步骤 取消下面的勾选即可 结果

  4. [转载] Java获取一个类继承的父类或者实现的接口的泛型参数

    参考链接: Java中的接口和继承 泛型的作用就不多介绍了,如果你想具备架构设计能力,那么熟练使用泛型是必不可少的. 不多说了,先定义泛型父类和泛型接口: package cn.zhh; public ...

  5. UE5 修改蓝图父子关系,重设蓝图父项、蓝图父类

    UE5 修改蓝图父子关系,重设蓝图父项. 搜了一圈没找到答案,问了一下new bing,一下给了正确答案. 您可以通过打开蓝图并在继承面板中选择新的父类来更改蓝图的继承关系. 您可以在蓝图编辑器中打开 ...

  6. 虚幻引擎之使用LoadClass加载蓝图类

    虚幻引擎之使用LoadClass加载蓝图类 文章目录 虚幻引擎之使用LoadClass加载蓝图类 一.前言 二.探究 2.1 LoadClass 2.2 HashObject 参考文章 一.前言 看序 ...

  7. java 中普通类继承,抽象类继承,接口类继承,子类一定要重写父类中的方法吗

    一.简单总结,需要重写的有 普通类继承抽象类,重写所有抽象类方法:(不包括普通方法) 普通类继承接口,重写所有接口方法.(不包括default关键字修饰的方法) 详解见下: 普通类继承,并非一定要重写 ...

  8. UE4迁移继承自C++的蓝图类(痛苦经历)

    4.12版本还没有提供内置迁移基于C++的蓝图类功能,但是我就需要!!!开整! 首先,我用U3D的思维,Content目录下的uasset文件和Source目录下的C++源代码复制粘贴到我的新项目中去 ...

  9. 关于UE4动态资源加载(蓝图类)

    本帖纯属个人原创,如有转载请注明出处 需要注意的几点: 1.调试环境下进行的资源加载方式到打包出来后不一定能够使用. 2.假如遇到调试模式下程序运行正常,但是打包出来后程序crash,可以查看log: ...

最新文章

  1. Oracle创建数据库(手动)
  2. 开发日记-20190327 关键词 intant run原理
  3. ArrayList add(int index,E element)
  4. MacBook Air m1的内存
  5. (二十九)、Java字符串中去除空格
  6. javafx响应式布局_JavaFX的响应式设计
  7. mysql 日期函数大全_MYSQL 日期函数大全
  8. mysql数据库从删库到跑路之mysq索引
  9. STL之adjacent_difference
  10. 斯坦福 CS229 机器学习中文讲义 翻译完成
  11. java 连接eureka_在同一应用程序中的配置服务器和eureka服务器:尝试连接到localhost:8761...
  12. Linux安装卸载Mysql数据库
  13. Fuck SELinux :rsyslog无法生成log文件,原来是selinux机制搞的鬼!
  14. HashMap 和 ConcurrentHashMap 的区别
  15. python产生随机数的函数_Python 随机数函数
  16. 本地方法栈与Native方法
  17. AdminLTE登录页设置背景图片
  18. 离线维基百科全书阅读器(wikireader)
  19. 《MLB棒球创造营》:走近棒球运动·亚利桑那响尾蛇队
  20. 【读书笔记】Peano公理(为什么“数学归纳法”是正确的?为什么“数学归纳法”可以那么用?)

热门文章

  1. jsp 下拉框绑定事件_Vue 模板语法、事件和表单使用
  2. ntp服务restrict_linux设置NTP服务器及时间同步
  3. 【庖丁解牛】wordpress成功解决忘记后台密码的问题
  4. axios二次封装以及API接口统一管理
  5. 矽杰微8位系列单片机产品型号列表
  6. 逆波兰表达式求值(C语言实现)
  7. 鸿蒙珠融入体内,斗罗大陆同人小说排行榜。第一名:《斗罗大陆之超级无敌》:主角...
  8. 理光Ricoh MP C3504exSP 一体机驱动
  9. Word中添加中文伪代码
  10. 基于matlab的吉布斯效应研究,MATLAB设计题目综述.doc