[unreal4入门系列之十三] UE4创建平视显示器(HUD)

时间:2022-11-01 20:03:02

[unreal4入门系列之十三] UE4创建平视显示器(HUD)

为了展示对话框,我们需要自定义一个HUD(heads-up display,即平视显示器)。

什么是HUD?
HUD是平面显示界面,就是平时我们玩3D游戏提供给玩家的2D菜单界面。HUD类提供了渲染文字、贴图、矩形和材质的渲染,创建后也可以通过蓝图来编辑。

创建HUD子类

1) 点击文件-新建C++类;

2) 选择从HUD类继承来创建我们自己的类;

3) 给你的类命名,在我这里命名为MyHUD。创建好后就会自动打开VS开发环境。
[unreal4入门系列之十三] UE4创建平视显示器(HUD)

在VS编辑代码

在MyHUD.h中里面添加如下代码:
 
  
  1. UCLASS()
  2. class DEMO1_API AMyHUD : public AHUD
  3. {
  4. GENERATED_BODY()
  5. public:
  6. // 添加字体属性(随后我们在蓝图编辑器中设置字体类型)
  7. UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = HUDFont) UFont* hudFont;
  8. // 下面这个重载函数每帧会被调用一次,在这个函数的定义里面来渲染字体
  9. virtual void DrawHUD() override;
  10. };

在MyHUD.cpp中添加如下代码:
 
  
  1. void AMyHUD::DrawHUD()
  2. {
  3. // 先调用父类DrawHUD()函数
  4. Super::DrawHUD();
  5. // 接下来就渲染东西
  6. // 下面是画一条从(200,300)到(400,500)的蓝线:
  7. DrawLine(200, 300, 400, 500, FLinearColor::Blue);
  8. // 下面写一行文字(参数分别为文字、位置、字体、缩放、颜色):
  9. DrawText("UE4 is very interesting!", FVector2D(0, 0), hudFont, FVector2D(1, 1), FColor::White);
  10. }

在蓝图编辑器设置字体

1) 点击工具栏的蓝图-游戏模式-HUD:HUD-创建-MyHUD,来创建一个蓝图类,名字改为BP_MyHUD。
[unreal4入门系列之十三] UE4创建平视显示器(HUD)

2) 在右侧的细节面板中选择字体:
[unreal4入门系列之十三] UE4创建平视显示器(HUD)

3) 保存退出,然后打开之前创建的游戏模式的蓝图类:
[unreal4入门系列之十三] UE4创建平视显示器(HUD)

4) 在HUD class中选择BP_MyHUD作为我们的默认HUD。
[unreal4入门系列之十三] UE4创建平视显示器(HUD)

最后,你可以运行来看看HUD的效果:

[unreal4入门系列之十三] UE4创建平视显示器(HUD)


原文转自:http://www.52vr.com/article-564-1.html