Dear ImGui的UE5.3集成实践
【摘要】 Dear ImGui一直较为火热,这是一个调试使用并且可以响应快速迭代的Gui库,甚至可以做到在任何代码块中调用API即显示。如果你想更多的了解一下可访问其官方网站:https://www.dearimgui.org/
那么本文就来在UE5中尝试踩坑使用它。
Dear ImGui一直较为火热,这是一个调试使用并且可以响应快速迭代的Gui库,甚至可以做到在任何代码块中调用API即显示。如果你想更多的了解一下可访问其官方网站:https://www.dearimgui.org/
那么本文就来在UE5中尝试踩坑使用它。
UE4.26版本
网上资料较多的是这个Github上的UE4.26插件版本:
先试一下,创建第三人称模板项目,并根据说明加入ImGui依赖:
PublicDependencyModuleNames.AddRange(new string[] { ... , "ImGui" });
在头文件中加入ImGui的include:
#include <imgui.h>
并在移动的代码中插入ImGui语句,以测试:
void AMyProject3Character::MoveForward(float Value)
{
if ((Controller != nullptr) && (Value != 0.0f))
{
// find out which way is forward
const FRotator Rotation = Controller->GetControlRotation();
const FRotator YawRotation(0, Rotation.Yaw, 0);
// get forward vector
const FVector Direction = FRotationMatrix(YawRotation).GetUnitAxis(EAxis::X);
AddMovementInput(Direction, Value);
ImGui::Text("Hello, world %f", Value);
}
}
所见即所得,若没有数值则不会绘制GUI:
UE5.3
但是这款4.26版本的插件移植到UE5并不方便,于是我找到了github上另一个UE5.0.1的插件版本:
直接拿工程重新编译,有些地方需要修改,具体修改内容也不一定都正确,就不写了,至少改改能用。
Demo中将ImGui的测试脚本写在了ImGuiActor中,只需要在新场景拖入该Actor即可。
编译完成后运行结果:
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)