当前位置:   article > 正文

UE4 安装及入门项目

ue4

简介:UE4 的全名是 Unreal Engine 4,中文译为“虚幻引擎4”。UE4 是一款由 Epic Games 公司开发的开源、商业收费、学习免费的游戏引擎。

UE4 采用了目前最新的即时光迹追踪、HDR 光照、虚拟位移等新技术,而且能够每秒钟实时运算两亿个多边形运算,效能是目前“Unreal Engine”的 100 倍,而通过 NVIDIA 的 GeForce 6800 显示卡与“Unreal Engine 3”3D 引擎的搭配,可以实时运算出电影 CG 等级的画面,效能非常非常恐怖。

一, UE4 安装下载

​ 前置条件: 安装UE4 ,VS2017 / VS2019

​ 链接地址:http://c.biancheng.net/view/2549.html

1 下载地址: https://www.unrealengine.com/zh-CN/
在这里插入图片描述
2 打开官网之后点击下载 进入之后下滑点击点击下载启动程序
在这里插入图片描述
3 下载安装之后打开软件 进入虚拟引擎
1684825190296)(images\image-20220926105523782.png)]

4 安装 VS2017 / VS2019

安装时需要勾选
在这里插入图片描述

如果已经安装vs 但是没有添加这个选项 打开 软件之后 点击工具
在这里插入图片描述

5 选择版本之后下载安装 安装之后打开虚幻引擎 创建一个c++的新项目

这里需要注意一点,项目名称不能有中文,不然可能会出现BUG
(img-KSVG3m5m-1684825190296)(images\image-20220926155204627.png)]

6 打开Visual Studio 找到左上角 文件->打开Visual Studio
在这里插入图片描述

7 打开UE4点击左下角的“显示/隐藏资源面板”。

在这里插入图片描述

8 点击 “C++类” ,选中"GameProject" 文件夹,在右边的“资源面板”右键点击 “新建C++类”。

在这里插入图片描述
9 选中“GameModeBase”(游戏模式),点击“下一步”。 选择公有和私有 之后点击创建类即可

在这里插入图片描述
10. 同理 分别再创建 Character( 角色类)

​ PlayerController(控制器类 )

  1. 回到 VS 编辑器,在“内容浏览器”里面选择“内容(Content)”:

  2. 添加两个文件夹 “Assets” 以及在Assets新建一个“Maps”文件夹 之后在菜单栏点击保存关卡

在这里插入图片描述
11. 设置默认游戏以及关卡 回到 UE4 编辑器,点击左上角“编辑”,然后打开“项目设置”:

​ 选择“地图&模式”:

​ 设置好了之后,每次打开编辑器点击“Play(播放)”都会默认打开这个地图和这个游戏模式。

  1. 设置默认的角色和控制器和默认地图

​ 打开 VS 编辑器, 打开“APlayingGameModeBase.h”文件,声明一个构造函数:

public:
	//构造函数
	APlayingGameModeBase();
  • 1
  • 2
  • 3

​ 在“APlayingGameModeBase.cpp”文件中创建构造函数实现,然后在 #include “PlayingGameModeBase.h” 头文件的下面添加

  #include "PlayingController.h" 

  #include "PlayingCharacter.h" 
  • 1
  • 2
  • 3

​ 之后在构造函数中添加以下代码:

APlayingGameModeBase::APlayingGameModeBase()
{
	//设置默认角色类
	DefulatPawnClass = APlayingCharacter::StaticClass();
	//设置默认控制器类 
	PlayerControllerClass = APlayerController::StaticClass();
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

在这里插入图片描述

  1. 编译之后 打开UE4 点击开始 会发现动不了了 原因是没有添加视角移动的逻辑 接下来开始写

    菜单-》编辑-》项目设置-》输入

在这里插入图片描述

之后添加六个按键输入
在这里插入图片描述

MoveForward   : W
MoveBack      : S
MoveLeft      : A
MoveRight     : D
Turn          : 鼠标X
LookUp        :鼠标Y

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

​ 设置完成后,打开 VS 编辑器,在“PlayingCharacter.h”文件下声明 4 个函数:

	void MoveForward(float val);  //人物往前移动
	void MoveBack(float val);     //人物向后
	void MoveRight(float val);    //人物向右
	void MoveLeft(float val);     //人物向左
  • 1
  • 2
  • 3
  • 4

找到 .cpp 打开之后实现移动功能

在这里插入图片描述

void APlayingCharacter::MoveForward(float val)
{
	AddMovementInput(GetActorForwardVector(), val);
}

void APlayingCharacter::MoveBack(float val)
{
	AddMovementInput(-GetActorForwardVector(), val);
}

void APlayingCharacter::MoveRight(float val)
{
	AddMovementInput(GetActorRightVector(), val);
}

void APlayingCharacter::MoveLeft(float val)
{
	AddMovementInput(-GetActorRightVector(), val);
}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • GetActorForwardVector() 是在世界空间中从此 A 角色获取前向的向量,它获取的是 X 轴的向量。
  • GetActorRightVector() 同上,它获取的是 Y 轴的向量。

13 在“SetupPlayerInputComponent(UInputComponent* PlayerInputComponent)”函数里,我们添加 4 个按键绑定

在这里插入图片描述

void APlayingCharacter::SetupPlayerInputComponent(UInputComponent* PlayerInputComponent)
{
    //人物移动
	Super::SetupPlayerInputComponent(PlayerInputComponent);
	InputComponent->BindAxis("MoveForward", this, &APlayingCharacter::MoveForward);
	InputComponent->BindAxis("MoveBack", this, &APlayingCharacter::MoveBack);
	InputComponent->BindAxis("MoveRight", this, &APlayingCharacter::MoveRight);
	InputComponent->BindAxis("MoveLeft", this, &APlayingCharacter::MoveLeft);
    //人物视角
	InputComponent->BindAxis("Turn", this, &APawn::AddControllerYawInput);
	InputComponent->BindAxis("LookUp", this, &APawn::AddControllerPitchInput);
    //人物跳跃
    InputComponent->BindAction("Jump",IE_Pressed,this,&APlayingCharacter::JumpStart);
    InputComponent->BindAction("Jump", IE_Released, this, &APlayingCharacter::JumpEnd);
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  1. 在项目设置中 添加跳跃的按钮绑定

[(img-tf5cftyO-1684825190301)(images\image-20220927173221877.png)]在“APlayingCharacter.cpp” 中添加跳跃的功能函数

在这里插入图片描述

//人物跳跃
void APlayingCharacter::JumpStart()
{
	//如果是真的话,角色跳跃
	bPressedJump = true;
}
void APlayingCharacter::JumpEnd()
{
	//如果是假的话,结束跳跃
	bPressedJump = false;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

然后在在 SetupPlayerInputComponent 函数里面绑定按键输入:详情查看上方14 中的人物跳跃部分的代码

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/159768
推荐阅读
相关标签
  

闽ICP备14008679号