news 2026/7/26 5:30:25

虚幻引擎_用户小控件_准星

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
虚幻引擎_用户小控件_准星

我们有一个需求: 构建一个用户小控件, 用来在屏幕上显示一个准星

创建十字准星蓝图的步骤:

  1. 创建 C++ 类:新建继承自UserWidget类型的 C++ 类,命名为HUDWidget
  2. 生成蓝图子类:基于上述HUDWidget类,创建一个对应的蓝图子类, 命名为WBP_HUD
  3. 制作十字准星:在蓝图中添加画板, 然后再添加文本组件,用 “+” 符号作为十字准星的显示内容。
  4. 锚定位置:将这个文本组件的锚点设置为屏幕中心,确保准星显示在画面正中间。

在C++中调用十字准星蓝图:

调用十字准星蓝图:
可以在玩家控制器中调用, 也可以在游戏模式类中调用;

这里我们以玩家控制器举例:
我们先在玩家控制器C++类中写好接口, 再把十字准星蓝图挂载到接口上去

写接口:

//XXXPlayerController.h #include "HUDWidget.h" protected: //HUDWidgetClass是连接 “C++ 基类” 和 “蓝图子类” 的 “类选择器”, //作用可以通俗理解为:“告诉代码‘你要创建的 HUD Widget,具体是哪个蓝图做的版本’” UPROPERTY(EditAnywhere) TSubclassOf<UHUDWidget> HUDWidgetClass; // 声明一个UHUDWidget类型的指针,用于存储即将创建的Widget实例 UPROPERTY(VisibleAnywhere) UHUDWidget* HUDWidget;
//XXXPlayerController.cpp void AShooterSamPlayerController::BeginPlay() { Super::BeginPlay(); if (SVirtualJoystick::ShouldDisplayTouchInterface() && IsLocalPlayerController()) { MobileControlsWidget = CreateWidget<UUserWidget>(this, MobileControlsWidgetClass); if (MobileControlsWidget) { MobileControlsWidget->AddToPlayerScreen(0); } else { UE_LOG(LogShooterSam, Error, TEXT("Could not spawn mobile controls widget.")); } } // 调用虚幻的CreateWidget函数,创建HUDWidget的实例 // 模板参数<UHUDWidget>:指定要创建的Widget类是我们定义的UHUDWidget // 第一个参数this:表示“拥有这个Widget的对象”(这里通常是PlayerController类的实例) // 第二个参数HUDWidgetClass:是TSubclassOf<UHUDWidget>类型的变量(需在编辑器中指定对应的蓝图子类) HUDWidget = CreateWidget<UHUDWidget>(this, HUDWidgetClass); // 检查Widget是否成功创建(避免空指针访问,防止崩溃) if (HUDWidget) { // 调用AddToViewport():将创建好的Widget添加到游戏视口层 // 执行后,十字准星(HUDWidget里的内容)就会显示在游戏屏幕上 HUDWidget->AddToViewport(); } }

挂载蓝图

打开BP_XXXPlayerController玩家控制器蓝图, 选择我们的十字准星蓝图WBP_HUD;

最终效果:

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/26 12:55:32

【OTA专题】16 更新Bootloader:OTA框架设计

目录 1.Bootloader升级流程&#xff1a; (一)检查 Flag值 (二)解密与转移固件 (三)备份当前 APP (四)搬移固件到片上Flash (五)跳转与确认 2.硬件架构: 模块介绍: 架构图&#xff1a; 4.软件架构&#xff1a; Bootloader&#xff1a; 5.更新后的Bootloader升级流程:…

作者头像 李华
网站建设 2026/7/21 4:25:30

macbert模型介绍

后续会继续更新&#xff0c;感兴趣的友友给博主点个免费的关注吧~

作者头像 李华
网站建设 2026/7/21 13:05:24

学长亲荐2026继续教育必备TOP9一键生成论文工具测评

学长亲荐2026继续教育必备TOP9一键生成论文工具测评 2026年继续教育论文工具测评&#xff1a;为何需要一份专业榜单&#xff1f; 在当前继续教育日益普及的背景下&#xff0c;越来越多的学员面临论文写作的挑战。无论是选题困难、资料查找繁琐&#xff0c;还是格式规范不熟悉&a…

作者头像 李华
网站建设 2026/7/24 5:45:20

LLM优化CRISPR设计脱靶率砍半

&#x1f4dd; 博客主页&#xff1a;Jax的CSDN主页 LLM驱动的CRISPR脱靶率优化&#xff1a;从理论到实践的突破目录LLM驱动的CRISPR脱靶率优化&#xff1a;从理论到实践的突破 引言&#xff1a;基因编辑的安全瓶颈与LLM的破局机遇 维度一&#xff1a;技术应用场景——从实验室到…

作者头像 李华
网站建设 2026/7/21 23:03:14

揭秘AI论文降重内幕:9款工具实测,AI率从64%降至8%

开头&#xff1a;90%的学生都不知道的AI论文“生死劫” 你是否经历过这样的绝望&#xff1f;花3天用AI生成的论文初稿&#xff0c;提交后被导师打回&#xff0c;理由是“AI痕迹过重”&#xff1b;熬夜改了5版&#xff0c;查重时AI率仍高达40%&#xff0c;甚至被系统标记为“疑…

作者头像 李华