蓝图简介
初识蓝图时,可参考本文中蓝图及其作用的高阶概览,盔甲进行了解。
虚幻引擎中的蓝图可视化脚本系统是一类完整的游戏性脚本系统,此系统的基础概念是使用基于副本的界面在虚幻编辑器中创建游戏性元素的。于引擎中的对象驱动(OO)类或对象。使用UE4后便知,使用蓝图所定义的对象通常被直接称为“蓝图”。
该系统灵活而强大,使设计师能够使用通常仅面向程序员的几乎所有概念和工具。生成,程序员可利用虚幻引擎C ++实现中可用的蓝图特定标记创建替代系统,而此系统又可被设计师资拓展。
蓝图的用法
在其基本形式中,蓝图是游戏的可视化脚本附加。使用引线连接节点、实践、函数和变量后即可创建复杂的游戏性元素。
蓝图使用节点图表来达到蓝图每个实例特有的诸多目的(如目标构建、个体函数,以及通用gameplay事件),以便实现行为和其他功能。
常用蓝图类型
最常使用的蓝图类型是 关卡蓝图 和 蓝图类。
它们仅是多个[蓝图类型]中的两类,其他还有[蓝图宏]及[蓝图界面]。
关卡蓝图
用于为地图中特定于关卡的事件编写脚本的蓝图。
关卡蓝图(Level Blueprint) 是一种专业类型的 蓝图(Blueprint),用作关卡范围的全局事件图。 在默认情况下,项目中的每个关卡都创建了自己的关卡蓝图,您可以在虚幻编辑器中编辑这些关卡蓝图, 但是不能通过编辑器接口创建新的关卡蓝图。
与整个级别相关的事件,或关卡内Actor的特定实例, 用于以函数调用或流控制操作的形式触发操作序列。 熟悉虚幻引擎3的人应该非常熟悉这个概念, 因为它与Kismet在虚幻引擎3中的工作原理非常相似。
关卡蓝图还提供了关卡流送和[Sequencer]的控制机制, 以及将事件绑定到关卡内的Actor的控制机制。
默认关卡蓝图
每个游戏都可以在DefaultGame.ini配置文件中指定默认的关卡蓝图类。所有新地图的关卡蓝图 都将使用此类创建,以允许特定于游戏添加件和功能。
打开关卡蓝图
若要打开关卡蓝图进行编辑,请单击 关卡编辑器工具栏(Level Editor Toolbar) 中的 蓝图(Blueprints) 并选择 打开关卡蓝图(Open Level Blueprint)。此操作将在 蓝图编辑器(Blueprint Editor) 中打开关卡蓝图:
蓝图编辑器(Blueprint Editor) 仅使用[图表编辑器]、我的蓝图(My Blueprints) 面板和 细节(Details) 面板。类默认(Class Defaults) 面板使用菜单栏上的 **类默认(Class Defaults)
classDefaults_button.png 按钮。关卡蓝图的作用与虚幻引擎3中Kismet的相同,两者功能相同。每个关卡拥有各自的关卡蓝图,其可在关卡中引用并操作Actor、使用Matinee Actor控制过场动画,还能对关卡流送、检查点及其他关卡相关系统等事务进行管理。此外,关卡蓝图还能与关卡中放置的蓝图类(参见下一部分中的范例)进行交互,例如读取/设置其可能包含的变量,或触发其中的自定义事件。
引用Actor
通常,您需要将对Actor的引用连接到关卡蓝图中节点上的 目标(Target) 引脚。若要获取包含Actor引用的节点,请执行以下操作:
1.在 关卡视口(Level Viewport) 或 世界场景大纲视图(World Outliner) 中选择Actor。
2.打开关卡蓝图。
3.右键单击 您要在其中添加节点的图表。
4.在显示的快捷菜单中选择 将引用创建到[SelectedActor](Create a reference to [SelectedActor])。
添加事件
有两种方法可以将特定Actor的事件(Events)添加到关卡蓝图中。
1.右键点击关卡中的一个Actor,然后在 关卡蓝图(Level Blueprint) 下的快捷菜单中选择您想要添加的事件。
或者,一旦您选择了Actor,请执行以下操作:
1.打开关卡蓝图。
2.右键单击您要在其中添加节点的图表。
3.在显示的快捷菜单中,展开 为[ActorName]添加事件(Add Event for [ActorName]) 并选择您想要的事件类型。
蓝图类
蓝图类是创建门、开关、可收集物品、可摧毁场景等交互资源的理想类型。在上图中,按钮和门组合为单独的不同蓝图,其中包含必需脚本,以响应玩家覆盖事件、使其拥有动画、播放音效,并改变材质(如按下按钮后其将变亮)。
在此情况中,按下按钮将触发门蓝图中的事件,门因此开启——但其他类型的蓝图或关卡蓝图序列同样可轻易触发门的事件。因蓝图的自含性质,将其拖入关卡中便可构建蓝图,进行最小设置后即能生效。这也意味着对项目中使用的蓝图进行编辑后,该项目的所有实例均会更新。
蓝图类这些类蓝图定义了一种新类别或类型的Actor,就和其他类型的Actor的行为一样,这些Actor可作为实例进行放置。
Blueprint Class(蓝图类), 一般缩写为 Blueprint(蓝图),是一种允许内容创建者轻松地基于现有游戏性类添加功能的资源。 蓝图 是在虚幻编辑器中可视化地创建的,不需要书写代码,会被作为类保存在内容包中。 实际上,这些类蓝图定义了一种新类别或类型的Actor,这些Actor可以作为实例放置到地图中, 就和其他类型的Actor的行为一样。
父类
你可以创建多种不同类型的蓝图,当然在你做这些之前,你需要指定该蓝图的Parent Class(父类) 选择继承父类,允许你在自己的蓝图里面调用父类创建的属性。
下面是你创建蓝图是最常见的父类:上面的是最常用的内容,所有的类都可以为一个新建的蓝图用作父类 (甚至其他的蓝图类).
例如, 你创建了一个叫做 Animals 的 Actor Blueprint 在它里面实现了所有动物的共享属性,例如 Hunger, Thirst, Energy, 或者是其他你想实现的脚本。然后你从 Animals 作为父类,创建了另外一个叫做 Dog 的蓝图 ; 你在这个 Dogs 里定义了例如 Play Fetch 或 Roll Over 之类特别的功能,那么这个 Dogs 除了独享自己的功能之外,还继承了 Animals 里定义的其他功能.
根据所用的方法 创建一个蓝图类, 一个父类将在被创建时分配。
用蓝图类工作
参考下面的信息 蓝图类:
创建蓝图类新建蓝图类的指南。
可使用本文档中的提高任一方法,通过 内容浏览器(Content Browser) 或 关卡编辑器(Level Editor) 创建 蓝图资产。
通过内容浏览器创建
内容浏览器功能有一个专门的 新增(Add New) 按钮,用于在当前目录下新建蓝图资产。你也可以右键点击 资产视图(Asset View) 或 资产树(Asset Tree) 在选定位置创建蓝图资产。
1.使用新增按钮
在 内容浏览器(Content Browser) 中,点击 新增(Add New) 按钮。
2.从下拉菜单的 创建基本资产(Create Basic Asset) 部分中选择 蓝图类(Blueprint Class)。
可通过 创建高级资产(Create Advanced Asset) 下的 蓝图(Blueprints) 选项来创建各种不同的蓝图资产类型。
3.为蓝图资产选择 父类(Parent Class)。欲知更多信息,请参见父类。
蓝图的其他作用
前文已对关卡蓝图和蓝图类进行了初步讲解,下文则列出了可使用蓝图系统完成一些实用实例。
使用构造脚本创建可自定义的预设
构造脚本是蓝图类中的一类图表,在编辑器中放置或更新Actor时该蓝图类将执行(不会在游戏进程中执行)。利用此脚本可十分容易地创建可自定义的预设,使环境美术师的工作更为高效。例如自动更新材质来匹配自身点光源组件颜色与亮度的光照设备;或是将植物网格体在区域中随机散射的蓝图。
在内容范例地图中,包含所有例子(以上图标所示)的长形房间实际上是由多个组件组合而成的单个蓝图。蓝图的构造脚本会根据蓝图 细节 面板中公开的参数创建不同静态网格体和光源。创建内容范例地图后,可进入演示房间蓝图中,设置长度、高度和生成的房间数(以及另一些选项),片刻后便能创建出完整的房间组合。
最初创建这种蓝图会很耗时,但如果经常使用该蓝图,创建关卡时将节省大量时间、进行修改时也更为便利,其价值便凸显于此。
创建可操作角色
Pawn同样也是蓝图类的其中一种,其可将蓝图图表中可操作角色的所有元素结合在一起。从而操纵相机行为,设置鼠标、控制器和触摸屏的输入事件,并创建用于处理骨架网格体动画的动画蓝图资源。
新建角色蓝图时,其附带了内置多数移动、跳跃、游泳和坠落所需行为的角色组件,而这些行为都需要依照控制角色的方式添加输入事件。
创建HUD
蓝图脚本同样可用于创建游戏的HUD。与蓝图类相似,蓝图脚本包含事件序列与变量,但其被指定至项目的游戏模式资源,而非直接添加至关卡。
可设置HUD来读取其他蓝图中的变量,并将读取的变量用于显示体力条、更新分数、显示任务标志等。HUD还可用于添加元素的命中框,如可以点击的按钮;在移动平台游戏中,则用于响应触摸输入。
虽然蓝图充满了可能性,但[虚幻运动图形]系统在UI布局方面对于设计师更加友好,它同样基于蓝图可视化脚本。
蓝图编辑器和图表
构建关卡蓝图或蓝图类时,需要使用[蓝图编辑器]中集成的[蓝图元素].依据正在使用的不同蓝图类型,可用的 蓝图编辑器 类型也有所不同。多数 蓝图编辑器 的核心功能为 图表 模式,其中央的 图表(Graph) 选项卡将对蓝图的网络进行布局。
蓝图样本和教程
以下是可协助了解蓝图系统的其他资源。
蓝图 是虚幻引擎4的可视化脚本方法。也就是说,通常要通过编写脚本来完成的任务,现在可以通过一个由节点和连接组成的图形来创建,而不必输出任何实际的代码。这让美术和其他非程序员类型的用户可以创建错综复杂的游戏系统,而此前只有程序员才能创建这样的系统。
蓝图示例的目的是展示可以在关卡设计中使用蓝图的部分方法。所含关卡包含多种基于蓝图的效果。其中一些用作关卡设计元素,用来添加雾层和"圣光"等视觉或环境效果,而另一些是互动关卡元素,如复杂的监控摄像机系统。其目的是让用户感受到蓝图能够提供的巨大潜力,同时提供一些有用的示例来帮助用户学习如何独立创建蓝图。
游戏中的注释和探索
在 BlueprintOffice 关卡(该示例项目的默认关卡)中,您会看到漂浮在特定对象附近的一系列互动注释框图标。在编辑器中玩这个游戏时,接近这些图标会使其展开,显示一个注释框,其中包含对关联的附近蓝图的简短说明。
建议现在编辑器中试玩整个关卡,查看所有的注释框并探索关卡中各个元素的行为方式。然后,当您了解了各个蓝图的作用后,可以查看 细节(Details) 面板和蓝图编辑器,以查看其中的脚本。
蓝图基本知识
如果您之前完全没有接触过蓝图,可能需要一些帮助来真正了解蓝图概念以及蓝图在关卡中的作用。如果是这种情况,我们强烈建议您通读[蓝图文档]。
包含的示例
注释框
此蓝图将创建一个评论提示框,其在玩家进入特定半径后便会打开。从一个距离进行查看时,物体看起来像是一个漂浮的圆盘,中间有一个"i"。玩家处于范围中时,圆盘将上下颠倒,显示为一个感叹号"!",文本也将从其中扩展出来。此框固定朝向玩家。
雾层和光束
雾气薄片(Fog Sheet)和光线(Light Ray)蓝图用作蓝图的使用范例,创建关卡设计中使用的大气效果。装饰关卡时布置雾气面和光束之类的半透明静态网格体往往颇费时间,因此这些蓝图的作用是让流程更简单,同时让用户能对这些网格体的外观进行更大程度的设置。
随机生成的植物叶子
植被(Foliage) 蓝图显示了如何使用蓝图来创建随机生成的植被(或其他结构),它们被自动放置,以贴合表面。 用户可以控制特效的范围以及系统尝试生成的网格体数量。 随着蓝图的移动,网格体会更新以重新适应新环境。
蝴蝶
关卡中央的两个机械蝴蝶范例用于展示蓝图如何用于创建基础AI行为。蝴蝶将围绕一个指定的中心点飞行,在一段时间内随机修改方向,然后飞回中间点休息。其遇到障碍时将平稳地朝其飞行并着陆,停滞后再次起飞。蝴蝶飞行的时间越长,休息的时间便越长。
监控摄像头、警报和门
在关卡中随处可见的安全摄像头蓝图用于在运行模式下与玩家进行交互。在游戏过程中,它们将按搜索模式前后移动。当绿色搜索锥体与Pawn重叠时,指示灯将变成红色而且摄像头开始跟踪玩家移动。它将持续跟踪玩家,直至玩家走出跟踪范围。然后,在几秒之后,它将返回到搜索模式。
监控摄像头开关按钮
现有摄像机蓝图捆绑了一个保安监控室。此房间中有一个保安控制台,周围则有监控屏幕。玩家按下控制台中央的大型按钮时,屏幕则会切换显示关卡中放置的多个监控摄像机拍下的画面。这些放置在关卡各处的监控摄像机作用相同,玩家进入其监控范围后便会触发警报系统。
网友评论