15158846557 在线咨询 在线咨询
15158846557 在线咨询
所在位置: 首页 > 营销资讯 > 网站运营 > 虚幻ImGui网页绘制插件

虚幻ImGui网页绘制插件

时间:2023-07-25 07:30:01 | 来源:网站运营

时间:2023-07-25 07:30:01 来源:网站运营

虚幻ImGui网页绘制插件:ImGui_WS仓库地址(详细文档请看仓库中的readme

ImGui_WS

功能预览
各位虚幻的开发是否在烦恼

那么可以试用下ImGui_WS插件,可以将调试信息使用ImGui独立绘制在Web页面上。

可作为虚幻项目的远程调试器或者GM工具使用。

拓展方式

虚幻俯视图添加需要可视化的Actor类型

创建继承于UImGuiWorldDebuggerDrawerBase的类型

UShootWeaponBulletDrawer::UShootWeaponBulletDrawer(){ // 标识该Drawer支持的Actor类型 DrawActor = AShootWeaponBullet::StaticClass(); // 绘制的实体半径 Radius = 10.f; // 绘制的颜色 Color = FLinearColor::Red;}void UShootWeaponBulletDrawer::DrawImGuiDebuggerExtendInfo(const AActor* Actor, const FImGuiWorldViewportContext& DebuggerContext) const{ const AShootWeaponBullet* Bullet = CastChecked<AShootWeaponBullet>(Actor); const FVector EndLocation = Bullet->GetActorLocation(); const FVector StartLocation = EndLocation - Actor->GetVelocity() * DebuggerContext.DeltaSeconds; DebuggerContext.DrawLine(FVector2D{ StartLocation }, FVector2D{ EndLocation }, Color);}

虚幻俯视图添加额外的世界信息绘制

继承UImGuiWorldDebuggerViewportPanel并重写以下虚函数

建议每个世界调试信息添加开关,避免调试世界同时显示过多的元素

// 声明开关UPROPERTY(Config)uint8 bExampleToggle : 1;// 实现中添加是否开启开关的菜单选项if (ImGui::BeginMenu("Example Menu")){ { bool Value = bExampleToggle; if (ImGui::Checkbox("Example Toggle", &Value)) { bShowGlobalLifeTime = Value; DebuggerContext.MarkConfigDirty(); } } ImGui::EndMenu();}// 逻辑中判断开关,开启的情况再进行调试信息的绘制

新增面板

继承FUnrealImGuiPanelBuilder下支持的面板基类类型,例如ImGuiWorldDebugger拓展面板就继承UImGuiWorldDebuggerPanelBase

ImGuiWorldDebuggerViewportPanel面板例子

UImGuiWorldDebuggerViewportPanel::UImGuiWorldDebuggerViewportPanel(){ // 声明需要显示菜单栏 ImGuiWindowFlags = ImGuiWindowFlags_MenuBar; // 面板命名 Title = LOCTEXT("Viewport", "Viewport"); // 默认在ImGuiWorldDebuggerDefaultLayout布局中的位置为Viewport DefaultDockSpace = { { UImGuiWorldDebuggerDefaultLayout::StaticClass()->GetFName(), UImGuiWorldDebuggerDefaultLayout::EDockId::Viewport } };}

关键词:绘制,虚幻

74
73
25
news

版权所有© 亿企邦 1997-2025 保留一切法律许可权利。

为了最佳展示效果,本站不支持IE9及以下版本的浏览器,建议您使用谷歌Chrome浏览器。 点击下载Chrome浏览器
关闭