设置摄像机视角为玩家视角
前提:需要创建好GameMode的蓝图类,可查看上一篇学习笔记第二步。
第一步:点击右下角“新增”——“新建C++类”。
第二步,点击右上角“显示所有”前面的方框,出现对勾后,在搜索框搜索“HUD”。点击“HUD”,再点击“下一步”,选择公有继承完成创建。
第三步:不理会Visual Studio,回到Unreal Engine。如图所示,找到自己刚才创建的HUD类(我创建的叫“LearnHUD”),点击后可以创建其蓝图子类。
第四步:在打开的界面中,先点击左上角组件下的“BP_HUD(自身)”(你创建的蓝图名),再按如图所示选择一个字体。如果没有出现字体,则点击右下角“视图选项”,勾选“显示引擎内容”即可。
第五步:“编译”——“保存”。
第六步:进入刚才打开的Visual Studio中。
(1)“LearnHUD.h”中写如下代码:
#include "CoreMinimal.h"
#include "GameFramework/HUD.h"
#include "LearnHUD.generated.h"
/**
*
*/
UCLASS()
class LEARNUSE_API ALearnHUD : public AHUD
{
GENERATED_BODY()
public:
// 添加字体属性(随后我们在蓝图编辑器中设置字体类型)
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = HUDFont) UFont* hudFont;
// 下面这个重载函数每帧会被调用一次,在这个函数的定义里面来渲染字体
virtual void DrawHUD() override;
};
(2)“LearnHUD.cpp”中写如下代码:
#include "../Public/LearnHUD.h"
#include "Engine/Canvas.h"
void ALearnHUD::DrawHUD()
{
// 先调用父类DrawHUD()函数
Super::DrawHUD();
// 接下来就渲染东西
ReceiveDrawHUD(100,100);
//DrawLine(100, -300, 100, 300, FLinearColor::Blue, 5.0f);
// 下面写一行文字(参数分别为文字、位置、字体、缩放、颜色):
DrawText(TEXT("Welcome To MyGame\n\nPress 'N' to start"), FLinearColor::White, (Canvas->SizeX)/2.0f-45.0f, (Canvas->SizeY)/2.0f-50.0f, hudFont, 1.5f);
}
第八步:回到Unreal Engine,点击编译。
第九步:点击“播放”后,结果如下图:
本篇学习内容参考:
https://blog.youkuaiyun.com/u013131744/article/details/53284877
以及 “Siki学院吃豆人教程” P29