当前位置: 首页 > news >正文

开发手札:UnrealEngine编辑器开发

      以前在unity框架中开发了非常多实用且高频使用的编辑器工具,现在准备把目前用得上工具移植到ue4中。
下面说明一下ue4开发编辑器工具的流程。
1.创建编辑器工具控件
在这里插入图片描述
2.在控件中创建一个Button和一个EditableText,用于测试
在这里插入图片描述
3.新建一个继承UEditorUtilityWidget的类MyEditorUtilityWidget
在这里插入图片描述
在这里插入图片描述
4.开始编写代码控制Button和EditableText

// Fill out your copyright notice in the Description page of Project Settings.#pragma once#include "CoreMinimal.h"
#include "EditorUtilityWidget.h"
#include "Runtime/UMG/Public/UMG.h"
#include "MyEditorUtilityWidget.generated.h"/****/
UCLASS()
class MYUNREALCLRDEMO2_API UMyEditorUtilityWidget : public UEditorUtilityWidget
{GENERATED_BODY()public:UPROPERTY(meta = (BindWidget))UButton* Button_Log;UPROPERTY(meta = (BindWidget))UEditableText* EditableText_Log;virtual void NativeConstruct() override;private:UFUNCTION()void ButtonLogClick();
};
// Fill out your copyright notice in the Description page of Project Settings.#include "MyEditorUtilityWidget.h"void UMyEditorUtilityWidget::NativeConstruct()
{Super::NativeConstruct();if (Button_Log != nullptr){Button_Log->OnClicked.AddDynamic(this, &UMyEditorUtilityWidget::ButtonLogClick);}
}void UMyEditorUtilityWidget::ButtonLogClick()
{if (EditableText_Log != nullptr){EditableText_Log->SetText(FText::FromString(FString::Printf(TEXT("测试Editor开发"))));}
}

      PS:只是简单示例一下怎么运行,所以单纯点一下按钮打印一句文字
5.在编辑器工具控件中重置父类为自定义的MyEditorUtilityWidget
在这里插入图片描述

      这一步很坑爹,我刚开始死活找不到MyEditorUtilityWidget选项,后面直接创建MyEditorUtilityWidget的蓝图类MyEUWBlueprint后,选项就出现了,这不纯搞笑呢?c++类还不能直接继承了…
6.右键选择运行编辑器工具控件,则打开了编辑器窗口
在这里插入图片描述

      7.最终可得运行效果
在这里插入图片描述

      最后,移植功能最方便的还是AI翻译,足以完成70%移植工作量

http://www.dtcms.com/a/351245.html

相关文章:

  • 基于stm32的物联网OneNet火灾报警系统
  • Java面试指南‌——事务:数据库世界的超级英雄联盟
  • OpenSCA开源社区每日安全漏洞及投毒情报资讯|22th-24th Aug. , 2025
  • MySQL基本语法及与JAVA程序建立连接
  • 设计模式七大原则附C++正反例源码
  • 学习嵌入式的第三十八天
  • 【网络安全】XSS漏洞——PortSwigger靶场-DOM破坏
  • 常见的 Loader 和 Plugin?
  • 观察者模式 (Observer Pattern)与几个C++应用例子
  • Visual Basic 数据类型应用示例
  • EasyExcel 3.x 导出动态表头,动态sheet页
  • 国产化Excel开发组件Spire.XLS教程:Python 读取 CSV 文件,从基础到进阶指南
  • C shell 学习
  • AI出题人给出的Java后端面经(二十仨)(不定更)
  • 线性代数中矩阵等价与离散数学中关系的闭包之间的关联
  • dapo:开源大规模llm强化学习系统的突破与实现
  • AI提示词30天入门培训计划
  • STM32物联网项目---ESP8266微信小程序结合OneNET平台MQTT实现STM32单片机远程智能控制---MQTT篇(三)
  • 【密集目标检测】停车场车辆(车位)识别数据集:12k+图像,yolo标注
  • 从GPT-5发布来分析LLM大模型幻觉收敛(一)
  • 广告网站与Coze智能体集成
  • 节能率的图表组件的选择
  • MT** 时间指标全景图:从可靠性到可维护性的度量体系
  • PEFT 模型解析(59)
  • Linux 详谈库制作与原理
  • python中生成器
  • 解决qt5.9.4和2015配置xilinx上位机报错问题
  • 学习游戏制作记录(保存装备物品技能树和删除存档文件)8.26
  • 【软考论文】论静态测试方法及其应用
  • 系统设计中的幂等性