Unreal Engine C++ 入门01
1.UMG
UMG
向关卡增加UI控件
比如按钮和文本之类
打开unreal engine
我安装的是
C++开发的话有同时安装vs2019
VS2019的话安装有注意组件问题,不然创建会报错。
windows sdk
net sdk
等有些东西有自已选 择安装
新建项目
选 择空白模板
选择C++项目
资源文件和c++类
打开C++ 类就可以打vs2019
ps::: 因为我增加过文件了,项目创建时就一个类的,我这边增加了类。
HowTo_UMGGameModeBase
HowTo_UMG是新建项目时,你的项目名字,
GameModeBase是中文 过来的意思是游戏模式基础类
HowTo_UMGPlayerController是增加类
第一下,引擎构建器
using UnrealBuildTool;
public class HowTo_UMG : ModuleRules
{
public HowTo_UMG(ReadOnlyTargetRules Target) : base(Target)
{
PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs;
PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore", "UMG" });// PrivateDependencyModuleNames.AddRange(new string[] { });// Uncomment if you are using Slate UIPrivateDependencyModuleNames.AddRange(new string[] { "Slate", "SlateCore" });// Uncomment if you are using online features// PrivateDependencyModuleNames.Add("OnlineSubsystem");// To include OnlineSubsystemSteam, add it to the plugins section in your uproject file with the Enabled attribute set to true
}
}
在HowTo_UMGGameModeBase.h
增加#include “Blueprint/UserWidget.h”
这个是蓝图的用户界面头文件
1>HowTo_UMGGameModeBase.h
#pragma once
#include “Blueprint/UserWidget.h”
#include “Components/Button.h”
#include “CoreMinimal.h”
#include “GameFramework/GameModeBase.h”
#include “HowTo_UMGGameModeBase.generated.h”
/**
*
*/
UCLASS()
class HOWTO_UMG_API AHowTo_UMGGameModeBase : public AGameModeBase
{
GENERATED_BODY()
public:
/** 移除当前菜单控件,并在指定类(如有)中新建控件。*/
//UFUNCTION
UFUNCTION(BlueprintCallable, Category = “UMG Game”)
void ChangeMenuWidget(TSubclassOf NewWidgetClass);
protected:
/** 游戏开始时调用。 游戏开始 */
virtual void BeginPlay() override;
/** 游戏开始时,用作菜单的控件类。*/
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "UMG Game")TSubclassOf<UUserWidget> StartingWidgetClass;/** 用作菜单的控件实例。*/
UPROPERTY()UUserWidget* CurrentWidget;
};
引擎用了很多跟java 差不多的东西反射和注解
UCLASS() 引擎的类的定义
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = “UMG Game”)
向蓝图提供只读功能,也就是说,这个新建蓝图之后可以防问这个定义的内容
2>HowTo_UMGGameModeBase.cpp
#include “HowTo_UMGGameModeBase.h”
void AHowTo_UMGGameModeBase::BeginPlay()
{
Super::BeginPlay();
ChangeMenuWidget(StartingWidgetClass);
}
void AHowTo_UMGGameModeBase::ChangeMenuWidget(TSubclassOf NewWidgetClass)
{
if (CurrentWidget != nullptr)
{
CurrentWidget->RemoveFromViewport();
CurrentWidget = nullptr;
}
if (NewWidgetClass != nullptr)
{
CurrentWidget = CreateWidget(GetWorld(), NewWidgetClass);
if (CurrentWidget != nullptr)
{
CurrentWidget->AddToViewport();
}
}
}
增加HowTo_UMGPlayerController
向VS2019增加新类有引擎编辑器里增加
一定要C++ 类里边,就源码的根目录里边
新建 C++ 类
选择玩家控制的类
h文 件内容
#include "HowTo_UMG.h"放第二个位置
编译时,有时不是代码问题,有清理一下解决方案和清理试一下,
》》》》》》》
#include “HowTo_UMGPlayerController.h”
#include “HowTo_UMG.h”
void AHowTo_UMGPlayerController::BeginPlay()
{
Super::BeginPlay();
SetInputMode(FInputModeGameAndUI());
}
cpp文 件内容
#pragma once
#include “CoreMinimal.h”
#include “GameFramework/PlayerController.h”
#include “HowTo_UMGPlayerController.generated.h”
/**
*
*/
UCLASS()
class HOWTO_UMG_API AHowTo_UMGPlayerController : public APlayerController
{
GENERATED_BODY()
public:
virtual void BeginPlay() override;
};
以上是VS2019 的操作
在引擎编辑器:
还有创建蓝图,操作 很步骤很多
换成内容里边
三个图标是我增加过的了
控件蓝图
在这里边是控件
蓝图类
这两个类是C++ 一起的
操作方式
增加控件蓝图
向界面增加控件
控制面板有控件
细节有控件的属性,
在细节最下面有事件
给按钮增加事件
事件蓝图
右点击
退出游戏节点,
输入Q就可以找到然后连一下连
下面的按钮点击事件,
节点增加
这个节点是输入类名前这几个字母就能找
得到游戏模式
change menu widget 的节点增加方法,
先择
一边拖,然后有输入ch 就能把新节点查找了,
C++和蓝图交互的方式
蓝图完成之后
增加蓝图类
增加分别增加这两个的蓝图类
MenuGameMode 类增加 那个新创建 的控件蓝图
在关卡设置 把MenuGameMode 增加进就可以运行看到gui 了
运行之后的结果,
点击有退出游戏 事件的按钮就会退出游戏
这一个流程下来,总之流程很麻烦,
Unreal Engine C++ 入门01相关推荐
- Unreal Engine使用C++入门示例
转载自52VR 原文章链接http://www.52vr.com/article-639-1.html epic games宣布ue4免费使用之后,吸引了大批看好VR和AR前景的游戏开发者. 不过国内 ...
- Unreal Engine 4 系列教程 Part 1:入门
原文:Unreal Engine 4 Tutorial for Beginners: Getting Started 作者:Tommy Tran 译者:Shuchang Liu 本篇教程将引导你安装U ...
- 【新手必读】Unreal Engine 4 C++入门教程(上)
原文|<Unreal Engine 4 C++ Tutorial> 作者|Tommy Tran Feb 6 2018 | 翻译 开发游戏的老王 阅读时长|25分钟 内容难度|入门 在本教程 ...
- 【新手必读】Unreal Engine 4 UI入门教程(下)
本文是<Unreal Engine 4 UI 入门教程的下半部分,上半部分请见<Unreal Engine 4 UI 入门教程(上)> 作者|Tommy Tran Aug 3 201 ...
- 入门VR游戏开发者在Unreal Engine 4上开始VR设计所需要知道的
入门VR游戏开发者在Unreal Engine 4上开始VR设计所需要知道的 游戏开发者 VR2048(vr2048) · 2016-01-12 18:38 首先,不要被标题吓到,这其实是一篇面向游戏 ...
- ue5新手零基础学习教程 Unreal Engine 5 Beginner Tutorial - UE5 Starter Course
ue5新手零基础学习教程 Unreal Engine 5 Beginner Tutorial - UE5 Starter Course! 教程大小解压后:4.96G 语言:英语+中英文字幕(机译)时长 ...
- Revit和Unreal Engine真实的建筑可视化视频教程
Revit和Unreal Engine真实的建筑可视化视频教程 Lynda – Revit and Unreal Engine: Real-Life Architectural Visualizati ...
- Unreal Engine+Houdini创造程序性游戏场景视频教程
Unreal Engine+Houdini创造程序性游戏场景视频教程 大小解压后:27.4G 持续时间14小时30分 包括项目文件 1920X1080 高清视频 程序游戏环境--虚幻引擎和Houdin ...
- Unreal Engine 4 —— 异步加载关卡的实现方法及思考
这篇文章介绍了在ue4中实现异步加载关卡的方法,以及我对应的思考. 背景 在很多游戏中都有用到关卡的异步加载,关卡的异步加载指的是在游戏的某个阶段,使用多线程的方法进行新关卡对应的内容加载.从而能够免 ...
最新文章
- LeetCode 228: Summary Ranges
- [转] 程序员写简历的注意事项
- Ubuntu 16.04 LTS界面美化
- 网址服务器地址修改,网址服务器地址修改
- 抽象方法可以有方法体_抽象类和模板方法设计模式
- hadoop hdfs (java api)
- processing python模式_详解python之多进程和进程池(Processing库)
- 图灵测试是什么?为什么AlphaGo那么牛却过不了?
- 【w3cschool】通过C语言类比快速上手C#
- Python字符串转换为小写字母– str.lower()
- docker-rabbitmq
- 英伟达显卡不同架构_架构定输赢!盘点历代英伟达显卡能够成功亥市的根源
- 01超详细:中文版ANSYS2021_R1安装教程
- 像素密度(衡量屏幕显示能力)
- conda install 安装慢,或者直接卡死,这么解决
- grammarly word安装失败
- 180902 逆向-网鼎(4-dalao)
- python可以构建sem模型_Python Pandas Series.sem()用法及代码示例
- 如何在 Linux 中查找一个文件
- 跟着开源项目学因果推断——FixedEffectModel 固定效应模型(十七)
热门文章
- html表格第一列和最后一列冻结
- 【matplotlib】画图基本函数 pyplot.barh 画水平柱状图
- c++笔记(超详细超完整)
- Neo4j之Cypher概述
- 2021年真无线蓝牙耳机排名:人气排名前十的蓝牙耳机推荐
- 抖音小店入驻精选联盟有什么条件?精选联盟添加商品操作流程分享
- 如何在Word中的表上添加边框或更改边框
- TypeError: Descriptors cannot not be created directly解决
- 小米是否真的可以干翻华为?
- 鸿蒙和iqoo系统谁强,鸿蒙系统发布会,小米11降500,iQOO、酷派、魅族、惠普发布新品...