Unreal的初步探索

halo~我是bay_Tong桐小白
本文内容是桐小白个人对所学知识进行的总结和分享,知识点会不定期进行编辑更新和完善,了解最近更新内容可参看更新日志,欢迎各位大神留言、指点

Unreal的初步探索

        • 【更新日志】
  • Unreal的初步认识
    • 初步认识
    • 发展前景
    • UE4行业应用
    • UE4功能特性
  • Unreal引擎的安装问题
    • 硬件和软件规格简要列举
    • 安装步骤简述
    • 虚幻商城
  • 第一个项目工程的建立和Unreal编辑器的熟悉
  • Unreal C++与蓝图脚本的初步认识
    • Unreal C++
    • 蓝图可视化脚本
    • C++与蓝图脚本的关系
  • UE4基本术语简述

【更新日志】

最近更新:

  • 新增内容——UE4基本术语简述(2020.7.11)
  • 持续更新中……

Unreal的初步认识

初步认识

Unreal

  • Unreal是UNREAL ENGINE(虚幻引擎)的简写,由Epic开发,是世界知名授权最广的游戏引擎之一,占有全球商用游戏引擎80%的市场份额。
  • 虚幻技术研究中心在上海成立,该中心由GA国际游戏教育与虚幻引擎开发商EPIC的中国子公司EPIC GAMES CHINA联合设立。

(引用来自百度百科)

  • 虚幻引擎是一套完整的开发工具,面向任何使用实时技术工作的用户。从设计可视化和电影式体验,到制作PC、主机、移动设备、VR和AR平台上的高品质游戏,虚幻引擎能提供起步、交付、成长和脱颖而出所需的一切

(引用来自UNREAL ENGINE官方网站“关于”模块)

Unreal Engine 4
【目前虚幻引擎已发展至4系列版本,关于Unreal Engine 5(简称UE5)的探索开发正在进行中,详情可在UNREAL ENGINE官方网站“新闻”模块进行了解】

  • 虚幻4(简称UE4)是一套为游戏开发者设计和构建游戏、模拟和可视化的集成工具

发展前景

【根据SiKi学院Unreal入门第一季(19版)与其它资料搜索调查实践而得】

  • 投入其中的开发者、开发商越来越多(如现今国内网易、腾讯一些产品都希望逐渐迁移至虚幻4引擎上)
  • 使用虚幻4开发的作品越来越多
  • 虚幻4对开发者的使用完全免费(商业性质的游戏或产品开发在产品成功发行后会收取%5的分成费)
  • 虚幻4所有源代码开源
    (Unreal官方提供有在线学习的视频课程与预定的学习路径,以及一些文档、源代码等资料,均可在UNREAL ENGINE官方网站进行免费查看学习)

UE4行业应用

  • 游戏
  • 建筑
  • 汽车与运输
  • 广播与实况活动
  • 影视
  • 训练与模拟
  • ……

(引用来自UNREAL ENGINE官方网站,详细可前往官网查看)

即虚幻不仅仅局限于游戏开发,在涉及可视化与人机交互的领域均可以使用进行设计开发,只不过在游戏领域它可以最大程序发挥和利用引擎的优势与资源。

UE4功能特性

【根据SiKi学院Unreal入门第一季(19版)与UNREAL ENGINE官方网站信息汇总而得】

  • 管道集成
  • 世界场景搭建(地形与植被系统)
  • 动画(专业动画与过场)
  • 渲染、光照和材质(实时逼真渲染、灵活的材质编辑器)
  • 模拟和效果(电影级后期处理)
  • 游戏性和交互性编写(可视化脚本编辑、包含完整C++开源代码、健壮的游戏框架、先进的人工智能)
  • 集成的媒体支持
  • 多平台支持和便捷工具

Unreal引擎的安装问题

硬件和软件规格简要列举

推荐软硬件

推荐软硬件 详细
操作系统 Windows 10 64位
处理器 Intel四核处理器或AMD,2.5
存储器 8 GB RAM
显卡/DirectX版本 DirectX 11或12兼容显卡

Epic采用的典型配置

详细
64位Windows 10系统
64 GB RAM
256 GB SSD(系统盘)
2 TB SSD(数据驱动)
NVIDIA GeForce GTX 970
Xoreax Incredibuild(开发工具包)
Xecon六核[email protected]

运行最低软件要求

软件 详细
操作系统 Windows 7
DirectX Runtime DirectX End-User Runtimes(2010年6月)

用引擎开发软件要求

用引擎开发 详细
Visual Studio版本 Visual Studio 2017 v15.6或以上(推荐)(当前UE4版本不再支持Visual Studio 2015)
iTunes版本(针对iOS应用程序开发) iTunes 11或以上

更多详细要求见UNREAL ENGINE官方网站文档软件和硬件规格部分

安装步骤简述

——>前往UNREAL ENGINE官方网站点击下载
——>选择对应需求版本Epic Games launcher进行下载
——>注册Epic账号——>安装Epic Games launcher
——>打开Epic Games launcher点击虚幻引擎——>点击插件——>选择对应版本与选项进行下载安装
【对于其它安装需求可详见UNREAL ENGINE官方网站文档安装虚幻引擎部分】

虚幻商城

虚幻商城中包含大量的案例资源,每个月Epic官方会推出一系列免费资源可供开发者进行下载,案例资源下载完成后导入自己的工程即可进行使用

第一个项目工程的建立和Unreal编辑器的熟悉

【由于初次接触Unreal,我选择了官方文档推荐初学者的4.22.3版本,当前Unreal最新已推出4.25.1版本。本内容以4.22.3版本创建C++项目为例】

  • 打开Unreal Engine项目浏览器,选择新建C++基础代码项目,选择主机、最高质量、具有初学者内容,进行创建
    Unreal的初步探索_第1张图片
    注意Unreal的安装根目录以及项目目录均不能含有中文,否则会无法编译而导致项目无法正常创建。(编译失败图例如下)
    Unreal的初步探索_第2张图片

  • 项目创建中会启动Visual Studio,在启动后VS编译器会进行一个初始化操作,对项目要使用到的include文件进行查找和分析,因此勿过早关闭和使用VS编译器
    Unreal的初步探索_第3张图片

  • 如图为创建好的Unreal项目在虚幻关卡编辑器中的显示
    Unreal的初步探索_第4张图片

  • 编辑器可分三级设置,即编辑器偏好设置(针对编辑器)、项目设置(针对某一项目)与世界设置(针对项目中的某一世界)。用户可根据自己习惯喜好进行设置修改

【UE4中有着多种不同类型的编辑器窗口,如关卡编辑器、材质编辑器、蓝图编辑器、行为树编辑器、Persona编辑器、级联粒子编辑器等等,详细介绍可见UREAL ENGINE官方网站文档工具和编辑器部分】

Unreal C++与蓝图脚本的初步认识

Unreal C++

  • 通常会认为虚幻C++是“辅助C++”,即可以通过库函数更容易使用C++语言实现功能
  • 使用虚幻C++需要已经对C++或另一种面向对象的编程语言有所认知
  • 若完全没有编程经验可以先行选择学习蓝图视觉脚本语言,仅使用蓝图脚本也可以创建和完成整个项目

虚幻C++项目在Visual Studio编译器中的展示
Unreal的初步探索_第5张图片

蓝图可视化脚本

  • 虚幻引擎中的蓝图可视化脚本系统是一个完整的游戏脚本系统,其理念是在虚幻编辑器中,使用基于节点的界面创建游戏可玩性元素。和其他一些常见的脚本语言一样,蓝图的用法也是通过定义在引擎中的面向对象的类或者对象。
  • 在循环引擎的C++实现上也为程序员提供用于蓝图功能的语法标记,通过这些标记程序员能够很方便的创建一个基础系统,并交给策划进一步在蓝图中对这样的系统进行扩展。
  • 蓝图实质是建立在C++代码之上,在蓝图虚拟机里进行运行,编译速度较快快,但运行性能会有下降

蓝图脚本在蓝图编辑器中的展示
Unreal的初步探索_第6张图片

C++与蓝图脚本的关系

二者可以各自完全独立工作进行项目设计实现,也可以相互协作完成项目,官方给出的二者理论平衡如下:

C++由游戏逻辑程序员使用

  • 完成虚幻尚未封装的功能
  • 完成根据项目需求需要自定义的功能

蓝图由游戏设计人员使用

  • 设计其他游戏资源
  • 功能测试时使用
  • 项目快速迭代时使用
  • 调用编写好的C++代码

(非游戏行业对于两种语言的选择类似,对于设计师方面的开发人员更推荐使用蓝图脚本)

概念区分:

  • 蓝图可视化脚本:简称“蓝图”、“蓝图脚本”,是一种可视化编程,蓝图完全集成在UE4中,通过节点与连线工作
  • 蓝图系统:俗称“蓝图”、“蓝图类”,可将蓝图类想象成包装游戏内容的容器,其中可以包含组件,可以包含脚本,也可以仅包含数据

即蓝图系统可以包装游戏组件、数据、游戏逻辑等,游戏逻辑的实现可以由C++脚本或蓝图脚本实现

UE4基本术语简述

project 项目

  • 项目保存着所有组成单独游戏的所有内容和代码
  • 一个项目会经常被与其关联的.uproject文件所引用。.uproject文件是一个用于创建、打开或保存文件的参考文件,而项目则包含与其关联的所有文件和文件夹

.uproject文件简单解读
Unreal的初步探索_第7张图片
Object 对象

  • 是虚幻引擎中最基础的构建单元,包含很多游戏资源必需的幕后功能(数据)
  • UE4中几乎所有的东西都继承自Object(或从中获取部分功能)

Actors

  • 可放入关卡(场景)中的对象都是Actor。Actor是支持三维转换(如平移、旋转和缩放)的泛型类
  • 可通过代码(C++或蓝图)创建或销毁Actor

Class 类

  • 用于定义在创建中使用的特点Actor或对象的行为和属性
  • 类可用C++或蓝图创建

Level 关卡

  • level是用户定义的游戏区域,也称场景。我们主要通过放置、变换及编辑Actor的属性来创建、查看、修改关卡
  • 在虚幻编辑器中,每个关卡都被保存为单独的.umap文件,所有它们有时也被称为“地图”

World 世界

  • 世界场景中包含载入的关卡列表,它可处理关卡流送和动态Actor的生成创建

Component 组件

  • 组件是可添加到Actor的一项功能。组件不可独立存在,但在将其添加到Actor后,该Actor便可以访问并可以使用该组件所提供的功能

PlayerController 玩家控制器

  • 玩家控制器类用于在游戏中获取玩家输入并将其转换为交互,每个游戏中至少有一个玩家控制器

AIController 人工智能控制器

  • 就像玩家控制器拥有一个兵卒作为游戏中玩家的代表一样,AI控制器也拥有一个兵卒来代表游戏中的非玩家角色(NPC)

GameMode 游戏模式

  • 游戏模式类负责设置正在执行的游戏的规则。规则可包括玩家如何加入游戏、是否可暂停游戏、关卡过渡等任何特定的游戏行为

GameState 游戏状态

  • 游戏状态包含要赋值到游戏中的每个客户端的信息,即它表示每个联网玩家的“游戏状态”
  • 通常包含有关游戏分数、比赛是否已开始、基于世界场景玩家人数要生成的AI数量的信息等特定于游戏的信息

PlayerState 玩家状态

  • 玩家状态中适当的示例数据包括玩家姓名、得分、当前等级、生命值、抢旗游戏中是否携带旗帜等

持续更新中……
我是桐小白,一个摸爬滚打的计算机小白

你可能感兴趣的:(Unreal,Engine)