UE4 安装及入门项目
简介: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
下载地址: https://www.unrealengine.com/zh-CN/
打开官网之后点击下载 进入之后下滑点击点击下载启动程序
下载安装之后打开软件 进入虚拟引擎
安装 VS2017 / VS2019
安装时需要勾选
如果已经安装vs 但是没有添加这个选项 打开 软件之后 点击工具
选择版本之后下载安装 安装之后打开虚幻引擎 创建一个c++的新项目
这里需要注意一点,项目名称不能有中文,不然可能会出现BUG
打开Visual Studio 找到左上角 文件->打开Visual Studio
打开UE4点击左下角的“显示/隐藏资源面板”。
点击 “C++类” ,选中"GameProject" 文件夹,在右边的“资源面板”右键点击 “新建C++类”。
选中“GameModeBase”(游戏模式),点击“下一步”。 选择公有和私有 之后点击创建类即可
同理 分别再创建 Character( 角色类)
PlayerController(控制器类 )
回到 VS 编辑器,在“内容浏览器”里面选择“内容(Content)”:
添加两个文件夹 “Assets” 以及在Assets新建一个“Maps”文件夹 之后在菜单栏点击保存关卡
设置默认游戏以及关卡 回到 UE4 编辑器,点击左上角“编辑”,然后打开“项目设置”:
选择“地图&模式”:
设置好了之后,每次打开编辑器点击“Play(播放)”都会默认打开这个地图和这个游戏模式。
- 设置默认的角色和控制器和默认地图
打开 VS 编辑器, 打开“APlayingGameModeBase.h”文件,声明一个构造函数:
public://构造函数APlayingGameModeBase();
在“APlayingGameModeBase.cpp”文件中创建构造函数实现,然后在 #include “PlayingGameModeBase.h” 头文件的下面添加
#include "PlayingController.h" #include "PlayingCharacter.h"
之后在构造函数中添加以下代码:
APlayingGameModeBase::APlayingGameModeBase()
{//设置默认角色类DefulatPawnClass = APlayingCharacter::StaticClass();//设置默认控制器类 PlayerControllerClass = APlayerController::StaticClass();
}
编译之后 打开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 轴的向量。
- 在“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);
}
- 在项目设置中 添加跳跃的按钮绑定
在“APlayingCharacter.cpp” 中添加跳跃的功能函数
//人物跳跃
void APlayingCharacter::JumpStart()
{//如果是真的话,角色跳跃bPressedJump = true;
}
void APlayingCharacter::JumpEnd()
{//如果是假的话,结束跳跃bPressedJump = false;
}
然后在在 SetupPlayerInputComponent 函数里面绑定按键输入:详情请看 【14 】 中的人物跳跃代码块
UE4 安装及入门项目相关推荐
- windows下nodejs express安装及入门网站,视频资料,开源项目介绍
windows下nodejs express安装及入门网站,视频资料,开源项目介绍,pm2,supervisor,npm,Pomelo,Grunt安装使用注意事项等总结 第一步:下载安装文件 下载地址 ...
- Vue入门(安装配置启动项目)
学习本篇之前要具备一定的vue基础知识,可以先看一下Vue基础(环境配置.内部指令.全局API.选项.内置组件) 1.Vue-cli Vue-cli是vue官方出品的快速构建单页应用的脚手架,这里牵扯 ...
- Python:Scrapy的安装和入门案例
Scrapy的安装介绍 Scrapy框架官方网址:http://doc.scrapy.org/en/latest Scrapy中文维护站点:http://scrapy-chs.readthedocs. ...
- vue2 + vue-router + vuex + iview 入门项目
简单的vue2 + vue-router + vuex + iview 入门项目,一个移动端平台的简易考试系统.灵感来源于近期工作项目中开发的一套考试平台系统.欢迎大家来issues指出错误共同进步. ...
- Postman:Postman简介、安装、入门使用方法详细攻略
Postman:Postman简介.安装.入门使用方法详细攻略 目录 Postman简介 Postman安装 Postman入门 1.图文教程 1.1.get案例 1.2.post案例 1.3.get ...
- [Python爬虫] scrapy爬虫系列 一.安装及入门介绍
前面介绍了很多Selenium基于自动测试的Python爬虫程序,主要利用它的xpath语句,通过分析网页DOM树结构进行爬取内容,同时可以结合Phantomjs模拟浏览器进行鼠标或键盘操作.但是,更 ...
- Git、TortoiseGit、GitHub、Gitee、GitLab 安装与入门使用
Git.TortoiseGit.GitHub.Gitee.GitLab 安装与入门使用 Git.TortoiseGit.GitHub.Gitee.GitLab 简介 Git TortoiseGit G ...
- linux go环境安装和基本项目结构
最近项目中要用到Go语言,所以简单总结一下安装和配置,Go这个语言本身就限定了很多规范,比如项目设置,编程风格等,开发中就不需要再因为各种规范问题纠结了,直接用官方规定的能避免很多坑,下面直接切正题, ...
- idea怎么运行eclipse的web项目_Apache Storm v2.0入门项目的开发、测试和运行(IDEA/Maven)...
第一个Apache Storm v2.0流计算入门项目的开发.测试和运行(IDEA/Maven) 关于流计算框架Apache Storm最新版的安装,可以参考: 流计算框架-最新版Apache Sto ...
最新文章
- 《敏捷软件开发》第二章极限编程实践
- [YTU]_2575( 交通工具信息)
- AttributeError: 'str' object has no attribute 'decode' django问题
- 混沌大学签约神策数据,加快颠覆式创新教学步伐
- 解决 No toolchains found in the NDK toolchains folder for ABI with prefix: arm-linux-androideabi 的问题
- GoLang:你真的了解 HTTPS 吗?
- 报错,could not extract ResultSet; SQL [n/a]; nested exception is org.hibernate.exception.SQLGrammarExc
- 为什么我们最终抛弃 Chromium 选择了 Firefox ?
- 萤石云好友分享的监控怎么看_助力开学季丨萤石云APP新增群组分享功能、扩容优惠套餐!...
- 新浪微博登录 java_Java实现模拟登录新浪微博
- Userscript+ 去除广告
- 微信小程序仿今日头条小程序端界面和代码演示
- Closest_Pair
- 关于计算机的英语小品,英文好玩简短的小品
- 红杉资本:生成式AI 一个创造性的新世界
- 第四部分 查找:两个经典二分查找算法
- 运维工程师怎么找兼职?什么样的兼职合适?
- 零中频接收机频率转换图_复数RF混频器零中频架构及高级算法:下一代SDR收发器中的黑魔法...
- VS2003,VS2005,VS2008 低版本打开高版本的解决方案
- stc15w系列单片机——TCRT5000(寻迹传感器)与光敏传感器(附代码)
热门文章
- mPOS安全提升之路
- 银行提供了整存整取定期储蓄业务,存期分为1年,2年,3年,5年,到期取本息之和,年利率如下 1年 2.25% 2年 2.7% 3年 3.24% 5年
- facebook 照片存储系统haystack的学习
- 实现仿若依后台管理主要功能
- HTML的基本结构标签与网页开发工具
- nsq.reader错误connection closed
- Android 权限(一):权限大全
- STM32学习笔记(六 定时器及应用 4 光敏传感器实验 )
- 【Flink源码分析】Flink 命令启动全流程
- Python easyOCR图像文本提取 初识