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

从 1998 年发行至今,UE4 一共经历了 UE、UE2、UE2.5、UE3、UDK、UE4 多个版本,它的迭代速度极快,现在已经到了 4.22 预览版。

基于 UE4 开发的大作无数,除《虚幻竞技场3》外,还包括《战争机器》《质量效应》《生化奇兵》等等。在美国和欧洲,虚幻引擎主要用来制作主机游戏,风靡全球的吃鸡游戏 “绝地求生” 也是由UE4 引擎开发。

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

2019 年的春晚,惊艳人们的 AR 就是用 UE4 引擎制作出来的,为 2019 年春晚带来耳目一新、为之一振的视听体验。

一, UE4 安装下载

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

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

  1. 下载地址: https://www.unrealengine.com/zh-CN/

  2. 打开官网之后点击下载 进入之后下滑点击点击下载启动程序

  3. 下载安装之后打开软件 进入虚拟引擎

  4. 安装 VS2017 / VS2019

    安装时需要勾选

    如果已经安装vs 但是没有添加这个选项 打开 软件之后 点击工具

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

    这里需要注意一点,项目名称不能有中文,不然可能会出现BUG

  6. 打开Visual Studio 找到左上角 文件->打开Visual Studio

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

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

  9. 选中“GameModeBase”(游戏模式),点击“下一步”。 选择公有和私有 之后点击创建类即可

  10. 同理 分别再创建 Character( 角色类)

​ PlayerController(控制器类 )

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

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

  3. 设置默认游戏以及关卡 回到 UE4 编辑器,点击左上角“编辑”,然后打开“项目设置”:

​ 选择“地图&模式”:

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

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

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

public://构造函数APlayingGameModeBase();

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

  #include "PlayingController.h" #include "PlayingCharacter.h"

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

APlayingGameModeBase::APlayingGameModeBase()
{//设置默认角色类DefulatPawnClass = APlayingCharacter::StaticClass();//设置默认控制器类 PlayerControllerClass = APlayerController::StaticClass();
}

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

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

    之后添加六个按键输入

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

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

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

找到 .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);
}
  • GetActorForwardVector() 是在世界空间中从此 A 角色获取前向的向量,它获取的是 X 轴的向量。
  • GetActorRightVector() 同上,它获取的是 Y 轴的向量。
  1. 在“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. 在项目设置中 添加跳跃的按钮绑定

在“APlayingCharacter.cpp” 中添加跳跃的功能函数

//人物跳跃
void APlayingCharacter::JumpStart()
{//如果是真的话,角色跳跃bPressedJump = true;
}
void APlayingCharacter::JumpEnd()
{//如果是假的话,结束跳跃bPressedJump = false;
}

然后在在 SetupPlayerInputComponent 函数里面绑定按键输入:详情请看 【14 】 中的人物跳跃代码块

UE4 安装及入门项目相关推荐

  1. windows下nodejs express安装及入门网站,视频资料,开源项目介绍

    windows下nodejs express安装及入门网站,视频资料,开源项目介绍,pm2,supervisor,npm,Pomelo,Grunt安装使用注意事项等总结 第一步:下载安装文件 下载地址 ...

  2. Vue入门(安装配置启动项目)

    学习本篇之前要具备一定的vue基础知识,可以先看一下Vue基础(环境配置.内部指令.全局API.选项.内置组件) 1.Vue-cli Vue-cli是vue官方出品的快速构建单页应用的脚手架,这里牵扯 ...

  3. Python:Scrapy的安装和入门案例

    Scrapy的安装介绍 Scrapy框架官方网址:http://doc.scrapy.org/en/latest Scrapy中文维护站点:http://scrapy-chs.readthedocs. ...

  4. vue2 + vue-router + vuex + iview 入门项目

    简单的vue2 + vue-router + vuex + iview 入门项目,一个移动端平台的简易考试系统.灵感来源于近期工作项目中开发的一套考试平台系统.欢迎大家来issues指出错误共同进步. ...

  5. Postman:Postman简介、安装、入门使用方法详细攻略

    Postman:Postman简介.安装.入门使用方法详细攻略 目录 Postman简介 Postman安装 Postman入门 1.图文教程 1.1.get案例 1.2.post案例 1.3.get ...

  6. [Python爬虫] scrapy爬虫系列 一.安装及入门介绍

    前面介绍了很多Selenium基于自动测试的Python爬虫程序,主要利用它的xpath语句,通过分析网页DOM树结构进行爬取内容,同时可以结合Phantomjs模拟浏览器进行鼠标或键盘操作.但是,更 ...

  7. Git、TortoiseGit、GitHub、Gitee、GitLab 安装与入门使用

    Git.TortoiseGit.GitHub.Gitee.GitLab 安装与入门使用 Git.TortoiseGit.GitHub.Gitee.GitLab 简介 Git TortoiseGit G ...

  8. linux go环境安装和基本项目结构

    最近项目中要用到Go语言,所以简单总结一下安装和配置,Go这个语言本身就限定了很多规范,比如项目设置,编程风格等,开发中就不需要再因为各种规范问题纠结了,直接用官方规定的能避免很多坑,下面直接切正题, ...

  9. idea怎么运行eclipse的web项目_Apache Storm v2.0入门项目的开发、测试和运行(IDEA/Maven)...

    第一个Apache Storm v2.0流计算入门项目的开发.测试和运行(IDEA/Maven) 关于流计算框架Apache Storm最新版的安装,可以参考: 流计算框架-最新版Apache Sto ...

最新文章

  1. 《敏捷软件开发》第二章极限编程实践
  2. [YTU]_2575( 交通工具信息)
  3. AttributeError: 'str' object has no attribute 'decode' django问题
  4. 混沌大学签约神策数据,加快颠覆式创新教学步伐
  5. 解决 No toolchains found in the NDK toolchains folder for ABI with prefix: arm-linux-androideabi 的问题
  6. GoLang:你真的了解 HTTPS 吗?
  7. 报错,could not extract ResultSet; SQL [n/a]; nested exception is org.hibernate.exception.SQLGrammarExc
  8. 为什么我们最终抛弃 Chromium 选择了 Firefox ?
  9. 萤石云好友分享的监控怎么看_助力开学季丨萤石云APP新增群组分享功能、扩容优惠套餐!...
  10. 新浪微博登录 java_Java实现模拟登录新浪微博
  11. Userscript+ 去除广告
  12. 微信小程序仿今日头条小程序端界面和代码演示
  13. Closest_Pair
  14. 关于计算机的英语小品,英文好玩简短的小品
  15. 红杉资本:生成式AI 一个创造性的新世界
  16. 第四部分 查找:两个经典二分查找算法
  17. 运维工程师怎么找兼职?什么样的兼职合适?
  18. 零中频接收机频率转换图_复数RF混频器零中频架构及高级算法:下一代SDR收发器中的黑魔法...
  19. VS2003,VS2005,VS2008 低版本打开高版本的解决方案
  20. stc15w系列单片机——TCRT5000(寻迹传感器)与光敏传感器(附代码)

热门文章

  1. mPOS安全提升之路
  2. 银行提供了整存整取定期储蓄业务,存期分为1年,2年,3年,5年,到期取本息之和,年利率如下 1年 2.25% 2年 2.7% 3年 3.24% 5年
  3. facebook 照片存储系统haystack的学习
  4. 实现仿若依后台管理主要功能
  5. HTML的基本结构标签与网页开发工具
  6. nsq.reader错误connection closed
  7. Android 权限(一):权限大全
  8. STM32学习笔记(六 定时器及应用 4 光敏传感器实验 )
  9. 【Flink源码分析】Flink 命令启动全流程
  10. Python easyOCR图像文本提取 初识