完整版课件全套ppt整套课件教学课件汇总全册电子教案全册课件完整版ppt
项目一 初识虚幻;任务1: 安装虚幻引擎; 任务1:安装虚幻引擎;1.1 获取引擎;1.2 安装引擎; 任务2:制作第一个关卡;2.1 创建关卡;2.1 创建关卡;2.1 创建关卡;2.1 创建关卡;2.1 创建关卡;2.1 创建关卡;2.2 编辑关卡;2.2 编辑关卡;2.2 编辑关卡;2.3 设置光效;2.3 设置光效;2.4 运行关卡;2.4 运行关卡;2.4 运行关卡;小结; 任务3:创建山地地形;3.1 创建地形;3.1 创建地形;3.1 创建地形;3.2 地形造型;3.2 地形造型;3.2 地形造型; 任务4:创建植被;4.1 植被物体;4.2 编辑植被;4.2 编辑植被;4.2 编辑植被; 任务5:使用静态网格物体;5.1 导入资源;5.1 导入资源;5.2 放置物体;5.3 移动属性;5.3 移动属性;5.1 导入资源;5.1 导入资源; 任务6:使用体积;6.1 简单体积;6.2 特殊体积;;项目二 编辑材质;任务1: 初识材质; 任务1:初识材质;内容浏览器右键单击,调出右键菜单,选择“创建基础资源”类目中的“材质”;材质编辑器UI由菜单栏、工具栏和默认的四个开启面板组成。;虚幻引擎4使用主材质节点将这些由HLSL代码小片段的合成结果显现出来。;1.2 主材质节点;1.2 主材质节点;简单的颜色材质可以通过主材质节点的“基础颜色”来设置。 接收RGB三个通道的值,取值在0与1之间。;①按住键盘上的数字“3”按键,图表空白处单击鼠标左键,添加“常量3矢量”(Constant 3 Vector)材质表达式。;②双击“常量3”节点,打开取色器,选择所需颜色;③将“常量3矢量”节点连接到主材质节点上的“基础颜色” 输入端。;(1)通过关卡编辑器的细节面板添加;(2)通过内容浏览器选定材质添加;(3)刷表面; 任务2:编辑基于物理的材质;“基础颜色”也被称为 albedo(反射率)或diffuse(漫反射),是减去所有阴影和光照细节后一个表面材质的核心颜色描述。;新建水泥和黄金材质,分别为其设置水泥、黄金的“基础颜色”的RGB值。并将节点连接到主材质节点上的“基础颜色”输入端。;“金属”(Metallic)输入控制材质表面模拟金属的程度。纯金属的金属性取值为“1”,非金属的金属性取值为“0”。 对于纯材质表面,例如纯金属、纯石头,此值将是“0”或“1”,对于受腐蚀、落满灰尘或生锈的金属之类的混合表面时,此值介于“0”与“1”之间。 ;黄金的金属性设置为“1”;而水泥材质则无“金属”属性。 (1)在黄金的材质编辑器中,按住键盘上数字“1”键,在图表空白处单击鼠标左键,添加“常量1矢量”节点。 (2)在细节面板,将其“Value”设置为“1”。 (3)将“常量1矢量”节点连接到主材质节点上的“金属”输入端。 ;2.2 金属性;取值在0-1之间不同金属性取值效果;“高光”(Specular)输入控制非金属表面镜面光泽的强度,使用常量1向量表达式输入,取值范围0-1。 该值对金属材质没有影响。 ;操作方法: (1)在水泥材质编辑器中,按住键盘上数字“1”键,在图表空白处单击鼠标左键,添加“常量1矢量”节点。 (2)在细节面板,将其“Value”设置为“0.2”。 (3)将“常量1矢量”节点连接到主材质节点上的“高光”输入端。;2.3 高光;取值在0-1之间不同高光取值效果;“粗糙度”(Roughness)输入控制材质的粗糙程度,与平滑的材质相比,粗糙的材质将向更多方向发生光线”表示极平滑,模拟镜面反射的效果;粗糙度为“1”表示很粗糙,表面完全无光泽。 ;操作方法: (1)添加“常量1矢量”节点。 (2)在细节面板,将水泥材质的粗糙度的“Value”值设置为“1”,将黄金材质的粗糙度“Value”值设置为“0.5”。 (3)将粗糙度的“常量1矢量”节点连接到主材质节点上的“粗糙度”输入端。;2.3 高光;非金属材质,0-1之间不同粗糙度取值效果; 任务3:使用贴图纹理创建材质;使用Photoshop等平面软件制作材质平面图,导入到Maya、3DMax、引擎等制作软件中,并赋予立体模型上的过程,称为贴图。 计算机图形学中的纹理既包括通常意义上物体表面的纹理,即物体表面呈现凹凸不平的沟纹,同时也包括在物体的光滑表面上的彩色图案,通常被称之为花纹。;鼠标左键单击内容浏览器的“导入”按钮,打开导入对话框,选择资源。 虚幻引擎4支持以下贴图格式: .bmp、.float、.pcx、.png、.psd、.tga、.jpg、.dds。;双击一个贴图资源,将会打开贴图编辑器,可以预览贴图资源或修改贴图的属性。;(1)创建一个新的材质,重命名。左键双击打开材质编辑器。并将其窗口悬浮于虚幻引擎4编辑器适当位置;(2)将内容浏览器中贴图文件拖曳到新建的材质编辑器的图表面板中。;(3)将贴图节点的输出连接到主材质节点上的“基础颜色”输入端。;(4)材质设置完毕后保存。可以赋给关卡中的对象。;任务4:制作视频材质;媒体框架(Media Framework)的资源类型,用于在关卡中的一个静态网格物体上播放视频影片和其他媒体文件等工作。 应用媒体框架后,可在内容编辑器中创建三种新的资源类型。 (1)媒体播放器资源。 (2)媒体纹理资源。 (3)媒体声波。 ;(1)导入外部视频资源。 在内容浏览器相应的位置创建一个名为“Movies”的文件夹。在“Movies”文件夹上点击右键,并选择“Show in 浏览器”,到该文件夹在硬盘上的存储目录。 ;(1)导入外部视频资源。 将要播放的视频文件拖入到硬盘上“Movies”文件夹内,这样可确保视频正常打包,注意该视频文件的名称要使用英文。;(2)创建媒体资源。 回到虚幻引擎编辑器中,在内容浏览器的“Movies”文件夹内,单击鼠标右键,调出右键菜单,在“Media”媒体下选择“File Media Source”。;(2)创建媒体资源。 左键双击该资源,打开“File Media Source”面板,为该资源指定视频文件路径。 保存,然后关闭面板。 ;(3)创建媒体播放器资源。 回到内容浏览器的“Movies”文件夹,点击右键,在调出的右键菜单中选择“Media”选项下的“Media Player”,创建媒体播放器资源。;(4)生成视频材质。 向关卡中添加一个平面“Plane”静态网格物体作为显示屏幕。利用平移(W)、旋转(E)和缩放(R)工具对其进行调整,使其能够模拟显示屏幕的效果。;(4)生成视频材质。 按住“Ctrl”键选中“SampleMedia _Sound”和“SampleMedia _Vdeo”资源,将其放置在关卡中的“Plane”静态网格体上。;(4)生成视频材质。 在关卡编辑器的工具栏上,鼠标左键点击“蓝图”按钮,在下拉菜单中选择“打开关卡蓝图”选项,以打开该关卡的关卡蓝图。;(4)生成视频材质。 在关卡蓝图左侧,单击“变量”选项的“+”按钮,添加一个新的变量。命名为“MediaPlayer” 在 “细节”面板,打开“变量类型”复选框,点击“对象类型”,选择“Media Player”,将变量的类型设定为“Media Player”。 ;(4)生成视频材质。 按住“Ctrl”键将变量拖入到 “事件图表”区域,调出右键关联菜单,输入“begin”关键词,选择“事件BeginPlay”选项,;(4)生成视频材质。 由“MediaPlayer”变量节点的蓝色引脚引出引线,在弹出的关联菜单中输入“open source”,选择“Open Source”节点,在节点的“Media Source”下拉选项中选择播放的视频资源。;(4)生成视频材质。 将“事件BeginPlay”节点与“Open Source”节点相连。 此蓝图执行的命令是:在场景运行时,播放视频资源。;(4)生成视频材质。 点击工具栏的“编译”后, 运行场景。可以实现在模拟的显示屏上播放视频。。;任务5:使用材质实例;创建单个材质(称为“父材质”),然后将其作为基础来创建外观不同的其他各种材质。;创建单个材质(称为“父材质”),然后将其作为基础来创建外观不同的其他各种材质。;创建新材质 “Material_Master”,该材质将作为父材质。 双击将其打开,设置 “基本颜色”、“金属”、“粗糙度”。;鼠标右键单击要转换的材质节点,选择转换为参数“Convert to Parameter”。;在细节面板中“通用”选项下的参数名称“Parameter Name”选框中,输入参数名称“Base Color”作为标注。 依次将“金属”和“粗糙度”的节点转换为参数。;在内容浏览器中右键单击该材质,在弹出的右键菜单中选择“创建材质实例”选项。;鼠标左键双击该实例将会打开材质实例编辑器;鼠标左键单击参数名称左侧的选框以启用该参数。参数启用后,框中将显示勾选标记,其名称将不再显示为灰色。;使用父材质继续创建的两个材质实例。并对其进行“基础颜色”的设置。 在关卡中添加3个基本网格物体,赋予三个材质实例。;打开父材质,新建高光节点“Specular”,默认值“0.5”。 编译材质,点击工具栏“Apply”按钮。;打开任意一个材质实例,在细节面板中会出现新增参数“Specular”。;;项目三 蓝图;任务1: 认识 蓝图; 任务1:认识蓝图;蓝图分为关卡蓝图和蓝图类。关卡蓝图是最常见的蓝图类型。蓝图类中包含了其他各种类别的蓝图。;术语名称;蓝图利用可视化脚本环境,不使用传统的基于文本的环境,而是为用户提供了更加直观、方便的节点和连接线的方式。;每一种事件都是有节点和连接线构成的。 节点是函数(执行指定操作的代码片段)、变量(被用于存储数据)、运算符(执行数学运算)、逻辑条件(检查和比较变量)的可视化表示。 连接线的作用是在节点之间建立关系,创建和设置蓝图流程。这一点很像游戏“连连看”的操作,非常有利于学习和制作。 蓝图脚本仍然需要被编译。;框选事件所有节点,复制,打开一个文本文档,粘贴。反之,也可以将文本的脚本代码复制到蓝图中;在关卡编辑器工具栏上点击蓝图按钮,选择“打开关卡蓝图”。蓝图编辑器界面包含菜单栏、工具栏、事件图表、细节面板、总览面板(我的蓝图)。 ;蓝图编辑器工具栏上只有5个工具;蓝图类的编辑界面与关卡蓝图相比,多了几个面板,包含组件,事件,函数,宏,变量,事件分配器,蓝图接口等内容。;蓝图类编辑器中特殊功能面板及作用。;事件图表中的常用操作:事件图表用于编写蓝图代码,是主要工作区域。;快捷键;在事件图表空白区域右键单击可以打开关联操作菜单。 节点是事件、函数和变量的可视化表示,不同颜色的着色表示不同的使用方式。红色节点代表事件节点;蓝色节点和绿色节点代表不同类型的函数节点。红色的事件节点发送信号,沿着连接线传递,经过的节点就会按顺序执行。 节点引脚是根据需要的数据类型进行着色的。白色的线连接输入和输出引脚,彩色的线连接数据引脚。 按住Alt键,然后鼠标左键单击节点的引脚可以断开该引脚的连接线:使用变量;在项目的关卡蓝图的事件图表中“我的蓝图”面板中点击变量右侧的“+”,会创建一个新的变量,对其进行命名为“Num”。;变量使用的变量名称应该清晰、明确且具有描述性。变量的命名规则是: (1)变量名只能由字母(A-Z,a-z)和数字(0-9)或者下划线)变量名称必须由字母或者下划线)变量名区分大小写。 (4)变量名的长度不得超过255个字符。;不同的变量类型,使用不同的内存量。创建变量的时候,用户需要根据变量的用途,设定变量的类型。 在细节面板中,鼠标左键点击“变量类型”选框,在弹出的选项中选择变量类型为“整型”。;变量类型;变量常用的两种操作方式是获取和设置,通过“Get”和“Set”节点来完成。获取操作是要获得存储在这个变量中的值;设置操作是将一个值存储到该变量中。 获取“Num”变量:鼠标左键拖曳“Num”变量到图表空白处,会出现变量的获得和设置菜单,选择“获得”,添加一个变量获取节点。再执行一次拖曳变量添加一个设置变量节点。;添加一个变量自增1节点(++)和一个打印字符“Print String”节点,即可完成变量值自增1并打印输出到屏幕上的操作。开始播放关卡时屏幕左上角会显示数字“2”。;在虚幻引擎4中,有些类型的变量是可以拆开展示的。创建一个变量并命名为“Position”,指定为“Transform”类型。 Transform类型属于结构体分类,在里面是封装了多重属性。从获得Position节点引脚引出连线的关联菜单中选择“Break Transform”,; 任务3:实现流程控制;Branch为分支结构节点,在程序语言中相当于if...else...语句。如果为真,则输出“打印”,如果为假,则输出“不打印”。;FlipFlop节点用来实现在两个事件之间进行切换的操作。当连续按“2”键时,程序在经过FlipFlop节点时会交替执行A与B引脚命令,即交替打印“输出A”和“输出B”。;Do Once节点用于完成只执行一次的任务。第一次按下键盘3键,屏幕输出“只执行了一次,按R键重置”。再次按下3键,将不执行打印操作。;Do N节点可以执行N次任务操作。数据节点“Counter”是个计数器,记录已经执行了多少次。图中任务是指定输出10次,并将计数器中的数值1-10依次打印到屏幕。;DoOnce_MultiInput节点可以允许使用多个输入控制事件,每一个输入控制事件对应一个输出事件操作。;ForLoop循环节点与程序中的for循环语句相似,是执行有条件循环的语句。此案例中,按下键盘“7”键,屏幕输出1-5数值。;Gate门节点的使用和门的开关原理类似。门节点有“Open”、“Close”、“Toggle”三种状态。;MultiGate多门节点具有多个输出引脚,对应多个输出事件。;Sequence序列节点即按顺序依次执行,Delay延迟节点实现等待指定时间后执行操作。按下“0”键,屏幕将依次延迟1秒、2秒、3秒输出“1”、“2”、“3”。;任务4:使用函数与宏实现距离计算;打开一个蓝图类,系统默认提供了一个“Construction Script”构造函数节点。构造函数,是一种特殊的应用方法,主要用来在创建对象时初始化对象, 即为对象成员变量赋初始值,没有返回值。 在“我的蓝图”面板下的“函数”选项中可以找到“构造脚本”选项。 ;连接输出节点,并把该蓝图类拖放到场景中,不必运行项目,就会打印输出。 ;(1)在“我的蓝图”面板的“函数”选项中,鼠标左键点击“+函数”,创建蓝图的常规函数,命名为“MakeDistance”。;(2)设置输入输出参数。计算两个物体之间的距离,需要提供两个物体对象Actor,在细节面板的“输入值”选项下点击“+”,添加两个“Actor”类型参数。返回的输出参数是浮点型数值。 ;(3)计算距离。两个物体之间距离计算公式为两个物体在3个轴向的数值差的平方相加后开平方;(4)执行函数。选择事件图表选项卡,在“Tick”事件(每一帧执行一次)中执行“MakeDistance”函数。并添加输出节点,接收此函数的返回值,打印到屏幕。 ;(5)为函数提供输入参数。函数需要两个Actor类型的输入参数,在我的蓝图面板添加两个 “Actor”类型的变量,打开变量右侧的“小眼睛”图标,以便在引擎中指定具体的Actor物体。 ;将变量与事件图表中的“MakeDistance”函数节点的输入相连。;(6)在场景中拖放两个Cube,将写有“MakeDistance”函数的蓝图类添加到关卡场景中,选中该蓝图类,在关卡编辑器的细节面板中可以看到“ActorA”和“ActorB”两个变量,为两个变量进行对象指定。??行项目,在屏幕中会打印出两个Cube物体之间的距离。 ;宏允许用户将一系列(一般是最常使用到的操作)自定义为一个步骤,即用户执行一系列操作,让宏这个应用程序来“记住”这些操作以及顺序。 在我的蓝图面板“宏”选项下创建宏,并命名为MacroDistance,;在细节面板为宏添加3个输入值,2个输出值;宏里面的逻辑与之前函数类似;在蓝图类的事件图表中,断开“Tick”事件的节点连线,新增“BeginPlay”事件(运行项目时执行一次的事件)中调用宏。;任务5:实现碰撞触发事件;(1)在内容浏览器的“StarterContent/Props”目录下,找到“SM_Rock”岩石静态网格物体,鼠标右键单击该物体,在弹出的右键菜单中选择“创建可毁坏的网格物体”。;(2)创建完毕后,会打开可毁坏网格物体编辑窗口,点击工具栏中的“破裂网格物体”按钮。岩石即被破裂。;(3)在编辑窗口右侧的“可破坏物品设置”面板的“Effects”选项中,打开“Fracture Effects”选项后,继续打开“0”选项,设置爆炸的类型与音效。;虚幻引擎4为开发者提供了多种触发器。不同的触发器类型具有不同的交互区域。常见形状触发器包括:盒体触发器、胶囊型触发器、球体型触发器和一个使用碰撞事件的 Trigger Volume。;触发器被选中的情况下,细节面板会显示盒体触发器的详细参数及属性。在“Shape”选项下,通过设置“Box Extent”可以改变交互区域的大小。 将X、Y 和 Z 轴设置为“100”,来扩大触发器的交互区域。;在触发器被选中的状态下,关卡蓝图的细节面板的“Collision”选项中有两个非常重要的选项设置:“Simulation Generate Hit Events”和“Generate Overlap Events”。当这两个选项的复选框被勾选时,会应用相应的碰撞事件发生。;Hit和Overlap事件直接与每个Actor的碰撞预设相关。Hit 事件发生在当 Actor 的碰撞体接触但未相交的时候。Overlap事件直接发生在两个Actor的碰撞壳重叠相交或停止重叠相交的时候。 ;在蓝图中,负责接收来自Actor的hit和overlap信号的事件节点有以下几个类型。 ①On Actor Begin Overlap事件:当Actor的碰撞体与另一个满足所需碰撞响应类型的Actor的碰撞壳重叠时启动一次。 如果这个Actor离开碰撞交互区域,然后再次进入,这个事件会再次触发。 ②On Actor End Overlap事件:当Actor离开碰撞区域时启动。 ③On Actor Hit 事件: Actor碰撞壳接触即可触发。 本案例中使用默认设置即可,即选择“Generate Overlap Events”选项。;在关卡中选中盒体触发器Actor,通过关卡工具栏的“蓝图”按钮打开关卡蓝图。在关卡蓝图的事件图表中,单击鼠标右键,选择“添加On Actor Begin Overlap”事件。;回到关卡编辑器中,选中关卡中的岩石Actor。然后,在关卡蓝图的事件图表中,单击鼠标右键调出上下文关联菜单,选择“在SM_Rock_DM”调用函数下的“创建一个到SM_Rock_DM的引用”,通过对Actor的引用进而修改该Actor的其他属性。;①鼠标左键单击并拖动“SM_Rock_DM”节点的输出引脚,调出上下文关联菜单,在搜索栏输入文本“Apply”,会出现与之相关的节点选项,选择“Apply Radius Damage”,即实现在蓝图中为岩石添加了一个放射性毁坏操作的节点。;②将“Base Damage”和“Damage Radius”值设置为“10000”;③ 添加获得岩石位置信息的节点,并连接。;④最后,将“On Actor Begin Overlap”节点的白色引脚与“Apply Radius Damage”节点左端的白色引脚相连。;编译后,点击工具栏“播放”按钮,进入游戏运行状态。使用“WASD”漫游键,控制第三人称主角进入触发器的碰撞交互区域,会引发岩石爆裂。;任务6:认识Actor的组件;函数的目标决定了这个函数对谁起作用。一个函数能够正确被执行,必须要设定该函数影响的目标。这由“目标”数据输入引脚决定。;蓝色的“目标”引脚告诉函数应该影响哪个Actor或Actor的哪个组件。一些函数作用于Actor级别,目标就是Actor,而另一些函数作用于组件级别,目标就是某个组件,目标类型会在使用的节点上方显示,鼠标移动到“目标”引脚时也会给出提示。;通过点击组件面板左上角的“添加组件”按钮,可以添加需要使用的组件。不同类型的组件可以被添加到一个蓝图类中,即一个蓝图类可以包含许多组件。;任务7:使用TimeLine时间轴控制物体移动;从放置模式面板中拖放一个“Cube”到场景中。因为任务的目标是让“Cube”实现上下移动的效果,需要将“Cube”物体的移动性设置为可移动。选择“Cube”物体,在细节面板的“变换”组件下可以查看移动性,选择“可移动”选项。;打开项目的关卡蓝图,添加一个“事件Begin Play”节点,在节点输出引线调出的上下文菜单中,利用关键词,添加时间轴节点。;双击TimeLine节点,打开TimeLine编辑器。;此时,时间轴无任何事件轨迹,需要用户根据需求进行添加。TimeLine使用的轨迹分为四种类型,包括浮点型轨迹,向量型轨迹,事件型轨迹,颜色轨迹。添加按钮在编辑器的左上角。;根据需求,添加一条浮点型轨迹,并给曲线命名为“CubeMoveLine”,将长度设置为“1”,勾选“循环”选项。;在曲线编辑器上面添加曲线节点,在任意位置单击鼠标右键,选择添加关键帧。;根据需求,对时间和数值做修改即可。第一个关键帧,将时间设置为“0”秒(起始时刻),数值设置为“50”。;以此类推,添加第二个关键帧,时间设置为“0.5”秒,数值设置为“200”;第三个关键帧,时间设置为“1”秒,数值回归到“50”。 使用鼠标滑轮,可以缩放时间轴;通过左上角的横向、纵向双向箭头可以看到整个曲线的全貌。;Cube的位移,本质是让Cube的位置发生变化,所以获得Cube的引用后,可以使用“SetRelativeLocation”节点设置Cube的位置。;将“SetRelativeLocation”节点的“New Location”位置转换为数据引脚,鼠标右键点击“New Location”,在菜单中选择“Split Struct Pin”。;将时间轴节点的“Cube Move Line”引脚与Cube的设置位置节点的“New Location Z”引脚相连。;对蓝图编译之后,运行项目,Cube随着时间的推移,会沿着Z轴上下反复移动。 这在项目开发中经常会用到,比如在游戏中,物体的上下移动,可以引起玩家的注意,吸引玩家上前拾取。 ;任务8:关卡流;关卡流,就是把不同的关卡以流文件的形式放置于一个永久关卡中,通过手动或自动的方式来加载或卸载这些不同的关卡,从而实现在游戏运行时控制不同的关卡是否可见的目的。 通过关卡流的管理方式,可以把一个大的游戏世界,拆分成多个小的区域,并可以随心所欲的在任意时刻加载任意区域。在场景运行过程中,对于那些暂时不需要看到的区域,引擎可不必进行渲染,这样提高了游戏的可操作性。;在关卡流的管理中,不同的关卡以流文件的形式放置于一个永久关卡内,被称为流关卡。流关卡的功能使得在游戏过程中加载或卸载关卡成为可能,并能控制关卡是否可见。 流送关卡通过关卡窗口进行管理。调用关卡窗口的方法是:在关卡编辑器的“窗口”菜单中选择“关卡”。 它可与固定关卡重叠,或偏移创建更大的世界场景。使用流送关卡的流送类型可设为 Always Loaded 或 Blueprint。右键单击关卡分段即可在 Levels 窗口中开启此设置。;虚幻引擎4提供了两种创建关卡流的方式: 第一种,先制作一个大的关卡,作为永久关卡,再将大的关卡进行区域划分,不同的区域直接生成不同的流关卡。 第二种,新建关卡,然后把新建的关卡以关卡流的形式添加到永久关卡里面。;第一种创建关卡流的方式: 首先,对关卡进行拓展,将整个场景全选后,复制出额外两个场景,三个场景拼接,相邻两个场景中间使用“Geometry”的“盒体”加一个过道;其次,制作两个门洞,使得角色可以在3个区域内穿行。删除掉夹住两条过道的四面墙。再添加两个“Geometry”下的“盒体”,调整大小,使之与过道相交;选择用于挖门洞的两个盒体,在细节面板的“Brash Settings”属性中,将“Brash Type”设置“Subtractive”。;创建3色材质球,并指定给三个场景的地面,以示区分。;最后,创建关卡流。选中红色地面场景中所有Actor,在关卡面板点击“关卡”,选择“Create New with Selected Actors”命令,通过选中的Actors来创建一个流关卡。;保存到“Maps”文件夹下,命名为“LS_Red”,即生成一个流关卡,同样的方法将绿色和蓝色地面场景也生成流关卡。此时,拥有3个流关卡的关卡流就生成了。;第二种创建关卡流的方式,先制作关卡,然后再把关卡添加到当前的关卡流中。 制作一个空关卡,命名为“LS_Custom”。返回到,在关卡面板中点击“关卡”选择“Add Existing”,选择刚刚新创建的“LS_Custom”关卡,将“ThirdPersonExampleMap”关卡添加到已存在的关卡中。即完成关卡流的创建。;打开“ThirdPersonExampleMap”关卡,进入到其关卡蓝图中。;首先,在内容浏览器相应的位置创建一个Actor,命名为“BP_GreenCube”,为其指定一个醒目的绿色材质。 在场景中,添加一个盒体触发器,将其大小设置为“100, 100,100”。;在关卡面板中,打开流关卡“LS_Green”的关卡蓝图,点击“手柄”图标即可。在“LS_Green”关卡蓝图中,增加触发事件,生成“Cube”这个Actor。;运行项目,发现动态生成的“Cube”一直存在,并不会随着关卡的加载和卸载而显示或剔除,不受“G”键的控制。 解决方法:在游戏运行的时候,动态生成的对象,它实际上只存在于当前的永久关卡中,并不在相应的流关卡流内。如果希望动态生成的对象,随着某个流关卡的卸载而卸载的话,需要把动态生成的对象存到某个数组中,然后,在卸载流关卡之前,读取数组,进行遍历,将流关卡中新添加的对象都销毁掉,之后再卸载流关卡。;自动加载与卸载关卡流,是通过关卡流体积“Level Stream Volume”来实现的。其实现原理为:将所有流关卡分配到不同的关卡流体积内,每一个关卡流体积至少包含两个毗邻的流关卡区域,每两个相邻的关卡流体积会共有一个流关卡区域。场景运行的时候,角色从一个关卡流体积进入到另一个关卡流体积时会自动加载第二个关卡流体积中的内容,而离开的关卡流体积中的内容也会被自动剔除。;打开“ThirdPersonExampleMap”关卡,在模式面板中,搜索“Level Stream Volume”,并拖拽两个“Level Stream Volume”体积到场景中。;调整关卡流体积大小,使得第一个关卡流体积“Level Stream Volume”包含红色和绿色区域,第二个关卡流体积“Level Stream Volume2”包含蓝色和绿色区域,这样,绿色区域是被重复包括的。;通过正交视图观察。;为关卡流体积进行指向的操作方法:在关卡面板中,鼠标左键单击“关卡”选项右侧的图标,调出关卡详细信息。;在弹出的关卡详细信息面板中,点击“Inspect Level”,所有的流关卡都会被罗列在下来菜单中。选择“LS_Red”流关卡,窗口中会列出该流关卡的详细信息。在“Streaming Volumes”选项中默认状态为“0 Array elemen”,说明“LS_Red”流关卡还未被指定关卡流体积。;鼠标左键单击“+”为其添加一个关卡流体积选项。并在弹出的选项栏选择“LevelStreamVolume”关卡流体积。;相同方法,对“LS_Green”和“LS_Blue”流关卡进行关卡流体积的指定。需要注意的是“LS_Green”流关卡对应两个流体积,即,需要指定两个“Streaming Volumes”选项,分别设置为“LevelStreamVolume”和“LevelStreamVolume2”。蓝色的“LS_Blue”流关卡对应的关卡流体积为“LevelStreamVolume2”。 设置完毕后,运行永久关卡,显示第一个关卡流体积内的两个流关卡场景,当角色活动到“LS_Green”流关卡区域,会自动加载“LS_Blue”场景内容,当角色活动到“LS_Blue”场景内时,“LS_Green”流关卡会自动被卸载。;;项目四 粒子系统;任务1: 熟悉粒子系统使用的术语; 任务1:熟悉粒子系统使用的术语;在虚幻引擎4中,采用了级联的概念,即对粒子系统进行模块化设计以简化粒子特效的制作过程。 每个模块代表了粒子行为的一个特定方面,并只对该行为提供属性参数,比如颜色、生成的位置、移动行为、缩放行为等。用户可以在需要的时候添加或者删除模块,以定义粒子的整体行为。;(1)默认模块 有些模块在粒子发射器中是默认存在的。 Required模块 :包含的属性是粒子系统绝对需要用到的属性。 Spawn模块:这个模块控制粒子从发射器生成的速度。 Lifetime模块:这个模块定义了每个粒子在生成后存在的时间。 Initial Size模块:控制粒子生成时的缩放比例。 Initial Velocity模块:控制粒子生成时的移动行为。 Color Over Life模块:控制每个粒子的颜色在过程的变化。九游官方平台;粒子系统,作为内容浏览器中的一个资源,可以被一个发射器 Actor 来引用。 总的来说,粒子系统的组件包括模块、发射器、粒子系统,以及发射器 Actor。 发射器,为展示效果发射特定行为的粒子,多个发射器可以被同时放置在一个粒子系统内。;发射器类型如下: Sprite Emitters:基本发射器类型,使用始终朝向摄像机的多边形化的面片作为单个粒子发射。可以用来做烟雾、火焰特效。 Anim Trail Data:用于创建动画的拖尾效果的发射器。 Beam Data:用于创建光束效果的发射器,比如镭射光、闪电等。 GPU Sprites:运行时大量计算交给GPU执行。 Mesh Data:发射多边形模型,用于创建岩石块,废墟等类似的效果。 Ribbon Data:产生一串粒子附属到一个点上,能在一个移动的发射器后形成一个色带,可以用于创建机车或弹丸尾迹。;参数是指一种能够将数据发送给其他系统,并从其他系统接受数据的属性,其他系统包括蓝图、Matinee、材质,或者其他来源。在级联中,几乎任何一个给定的属性都能够被设定到一个参数上,也就意味着属性能够从粒子系统外部来控制。;粒子系统非常消耗性能。即使是使用GPU粒子时,仍然需要考虑不同的粒子离玩家的远近以及它们产生的实际效果。 这时就需要细节级别(LODs)的介入。LOD系统能够自定义距离范围,超过一定距离后粒子系统则会自动简化。每个距离范围对应一个LOD。简化的介入就是使用较低的数值,禁用一些模块,甚至禁用一些发射器。;Distribution是一组数据类型。虚幻引擎4有5种类型: Constant:表示一个静态不变的常量。 Uniform:提供一个最小值和一个最大值,可以输出这两个值之间(包含这两个值)的随机数值。 Constant Curve:提供一个数值的简单曲线。 Uniform Curve:提供了最小曲线和最大曲线,最终数值在这两个曲线中间来选取。 Parameter:可以使得该属性参数化,以便于它能够被外部系统,诸如蓝图、Matinee或者其他系统读取或改写。 ; 任务2:认识粒子编辑器;虚幻引擎4的“初学者工具包”为用户提供了6种粒子系统资源的案例。用户可以直接调用这些案例,也可以对案例的参数进行修改。同时,用户可以复制案例的模块及参数,将其应用到新建的粒子系统中。;虚幻引擎4有一个名为“Cascade”的强大粒子编辑器。; 任务3:制作下雨粒子特效;在粒子系统中,粒子的材质决定了粒子特效的显示外观。 (1)在内容浏览器相应的目录下,新建材质,打开材质编辑器。;(2)添加一个“常量3矢量”材质表达式节点,调整颜色为淡蓝色,将其连接到主材质节点的“基础颜色”输入端。;(3)添加粒子颜色节点:在材质图标空白处单击鼠标右键,调出搜索菜单,输入“particle”,选择“Particle Color” 。;(4)同样方法添加一个径向梯度指数节点“Radial Gradient Exponential”和2个乘法“Multiply”节点。;(5)将剩余所有节点与主材质的“自发光颜色”和“不透明度”输入端相连。;(6)修改材质的混合模式:在细节面板“Blend Mode”,将其模式修改为“Translucent”,以启用“不透明度”输入端。保存材质。;在内容浏览,单击鼠标右键,选择“粒子系统”,新建一个粒子系统的资源。;在粒子系统编辑器的发射器面板单击鼠标右键,选择“类型数据”下的“新建GPU Sprites”;点击发射器面板的“Required”模块,在细节面板单击材质下拉菜单,将材质设置为步骤一中创建的雨滴材质。。;点击发射器面板的“Spawn”模块,在细节面板“Spawn”选项下找到“Rate”参数,点开“Distribution”选项,将“Constant”设置为“5000”。;点击发射器面板的“Lifetime”模块,点开“Distribution”选项,将“Min”和“Max”设置为“5.0”。;“Initial Size”模块,在细节面板“Size”参数中的“Start Size”选项下找到“Distribution”选项,设置“Max”和“Min”;“Initial Velocity”模块,在细节面板“Velocity”参数中的“Start Velocity”选项下找到“Distribution”选项,设置“Max”和“Min”;删除本粒子系统不需要的模块,添加初始颜色“Initial Color”模块。鼠标右键单击发射器的黑色空白区域,选择“Initial Color”;“Initial Color”模块,在细节面板“Color”参数中的“Start Color”选项下找到“Distribution”选项,设置“Constant”颜色;添加初始位置“Initial Location”模块。在细节面板“Location”参数中的“Start Location”选项下找到“Distribution”选项,设置“Max”和“Min”;添加“Size by Speed”模块。在细节面板“Particle Module Size Scale by Speed”参数下,设置“Speed Scale”和“Max Scale”选项;添加“Collision(Scene Depth)”模块。在细节面板“Collision”参数下,设置“Resilience Scale Over Life”选项中的“Friction”和“Response”;3.3 编辑参数;; 项目五 动画 ;任务1: 为角色创建混合动画;任务1:为角色创建混合动画;在内容浏览器中创建文件夹,命名为“Character”,将资源文件“HeroTPP.FBX”导入文件夹中,导入选项设置中不做骨架指定。;导入外部资源包含了一个名为“HeroTPP”的骨架网格体和一个名为“HeroTPP_Skeleton”的骨架和一个名为“M_Template_Master”的材质。;在“Character”文件夹中继续创建一个新的文件夹,命名为“Animation”。在“Animation”文件夹中,导入其它动画资源。 在导入资源选项中,将骨架选项“Skeleton”指定为刚刚导入的骨架模型“HeroTPP_Skeleton”。;资源导入后,在“Animation”文件夹中会列出所有动画资源。;为了在使用动画过程中便于区分,使用材质实例对导入的动画进行材质的设置。 ;鼠标左键单击“编辑”菜单下的“项目设置”选项,打开项目设置对话框,在“引擎”设置下点击“输入”,各主要参数设置;混合动画可以将多个单一行动的动画合成为一个混合动画序列,从而实现角色复杂动作的制作。 鼠标右键单击骨架资源“HeroTPP_Skeleton”,在右键菜单中选择“创建”下的“创建混合空间一维”,创建一个一维的混合空间,重命名为 “Idle_Walk_Run”;创建完毕后,鼠标左键双击打开一维混合空间;在界面左侧的“Asset Details”页签下,打开“Axis Settings”下的“Horizontal Axis”,将水平方向轴的名字设置为“Speed”,“Maximum Axis Value”设置为“370”。;在界面的右下角可以看到所有可用的动画资源。按照用户需求,将相应的动画资源用鼠标左键拖曳到时间轴上相应的位置。此案例中的混合动画包括了“Idle”、“Walk”、“Run”三种动画;动画蓝图是对动画进行程序设定的一种蓝图类型,针对骨架资源鼠的操作。鼠标右键单击骨架资源“HeroTPP_Skeleton”,在右键菜单中选择“创建”下的“动画蓝图”选项,创建动画蓝图,命名为“ABP_Character”。;双击打开“ABP_Character”动画蓝图编辑器, “添加新状态机”,并将节点命名为“Locomotion”。状态机由状态寄存器和组合逻辑电路构成,能够根据控制信号按照预先设定的状态进行状态转移。将“Locomotion”节点与“最终动画姿势”节点相连。 ;双击打开“Locomotion”节点进行编辑,点击右下角“资源浏览器”,将已做好的一维混合空间“Idle_Walk_Run”拖曳到图表中,使用鼠标左键由“Entry”节点向“Idle_Walk_Run”节点拖曳一个指向箭头。;双击打开“Idle_Walk_Run”节点,在“我的蓝图”面板创建一个名为“Speed”速度变量,类型为“浮点型”。鼠标左键将其拖曳到图表中,获得变量值。此操作可以从外部获得键盘输入值,并返回数制控制动画。;编译后,单击图标上方路径中的“Locomotion”,回到“Locomotion”中,为其添加跳跃的相关动画;设置从动画过渡的条件、规则,鼠标左键双击“Idle_Walk_Run”节点和“Jump_Start”节点之间的双向箭头,创建规则。添加“布尔型”变量“IsInAir”,获得变量并与“结果”节点连接。;选择“ABP_Character”动画蓝图的“事件图表”页签,添加“Try Get Pawn Owner”节点以获取游戏玩家的信息。此案例需要获取移动组件及速度信息,依次来驱动“IsInAir”和“Speed”变量。;在内容浏览器的“Character”文件夹下,新建“蓝图类”,在打开的对话框中选择“Character”角色蓝图。命名为“BP_Character”。;在角色蓝图编辑器左侧“组件”面板选择网格物体“Mesh”组件,在编辑器右侧的“细节”面板找到“Mesh”信息,将骨架网格物体“Skeletal Mesh”指定为“HeroTPP”,并设定动画蓝图“Anim Class”为之前创建的“ABP_Character”,设置变换的位置和旋转信息;本案例使用第三人称角色,需要给角色添加一个摄像机,在 “组件”面板中,添加“SpringArm”组件,命名为“CameraBoom”。在“Camera Boom”组件下添加“Camera”组件,命名为“FollowCamera”。;将摄像机“FollowCamera”的位置信息Z轴数值设置为“50”,将摄像机的位置与角色胸口位置持平。;继续选择“CameraBoom”,在“细节”面板的摄像机设置“Camera settings”中,勾选使用Pawn来控制旋转“Use Pawn Control Rotation”选项。;在“组件”面板中选择“CharacterMovement”组件,找到“细节”面板上的角色跳跃设置选项,即“Character Movement:Jumping/Falling”选项,将跳跃的高度由默认的“420”设置为“500”。设置当角色跳跃并停留在空中的时刻;当角色移动的时候,应该让角色朝向移动的方向,在“细节”面板的“Character Movement(Rotation Settings)”选项下的“Orient Rotation to Movement”勾选;在工具栏点击“类默认值”按钮,在“细节”面板找到“Pawn”选项,去掉使用控制器Yaw的旋转,即取消“Use Controller Rotation Yaw”的默认勾选状态;打开“ThirdPersonBP”下的“Blueprints”目录,找到项目中已有的第三人称角色蓝图“ThirdPersonCharacter”,双击打开,将该角色的移动输入设置“Movement input”下的所有节点及连接方式拷贝到刚刚创建的角色蓝图“BP_Character”的事件图表中,以控制角色的移动。;相同方法,拷贝“输入动作Jump”、“输入轴Turn”和“输入轴LookUp”三个输入方式的连接,并对“输入动作Jump”做修改。;(1)动画设置完毕后需要创建一个“Game Mode Base”来制定游戏过则等。在内容浏览器的“Character”文件夹下,新建“蓝图类”,在打开的对话框中选择“Game Mode Base”。命名为“BP_CharacterGM”。 鼠标左键双击打开,在“细节”面板的类“Classes”选中找到默认值设置“Default Pawn Class”,设置默认角色为“BP_Character”。编译并保存。;(2)回到关卡编辑器中,在右下角的“世界设置”面板中,将“Game Mode”选项下的“GameMode Override”设置为刚刚制作的“BP_CharacterGM”。;编译并保存后播放场景,旋转视角,即可看到场景中出现的新角色,并可以用鼠标键盘进行角色动作控制。; 任务2:实现动画的交互行为;鼠标右键单击骨架“HeroTPP_Skeleton”,创建动画资源“动画蒙太奇”,命名为“AM_Punch”,用来实现挥拳击中其他物体的功能。;鼠标左键双击打开蒙太奇动画编辑器,右下角的“资源浏览器”面板列出了制作蒙太奇动画可用的动画资源。 按照Start-Punch1-Punch2-End1-End2的顺序,添加到动画序列中。;在“蒙太奇”动画序列中单击鼠标右键,在弹出的菜单中选择“新建蒙太奇片段”。 依次新建蒙太奇片段Start-Punch1-Punch2-End1-End2。;操作方法:在“通知”栏里,鼠标右键在分别在“Punch1”时间段和“Punch2”时间段内单击,添加“Montage Notify”通知;在内容浏览器“Character”文件夹下,打开动画蓝图“ABP_Character”,点击“动画图表”页签,在图表中添加“插槽DefaultSlot”节点;打开“编辑”菜单下的“项目设置”选项,打开项目设置对话框,在“引擎”设置下点击“输入”,为挥拳击中“Punch”动作添加“鼠标左键”输入控制。;打开角色蓝图“BP_Character”,创建一个“布尔型”变量,命名为“IsPunching”,用于证明是否正处于挥拳击打过程中。使用“获得”、“设置”变量节点,添加“输入动作Punch”节点;回到动画蓝图“ABP_Character”的事件图表中,添加蒙太奇动画,并控制其播放。;播放蒙太奇,发现角色的主要关节脱离了,需要对骨架进行进一步设置。打开“HeroTTP_Skeleton”骨架资源,点击编辑器左侧骨架结构下方“所有骨骼活动的插槽”按钮,勾选“Show Retargeting Option”选项。 将“neck_01” 平移重定向的属性由“Animation”设置为“Skeleton”。调整完毕后可以看到正确的连接效果。 ;依次将左右胳膊、左右脚趾、腰部、左右手指的平移重定向属性进行同样的调整。;在播放场景时发现,动画一经触发不能停止。设置方法:切回到动画蓝图的事件图表中,为图画设置停止属性。并在“Montage Set Next Section”节点中设置跳转去向。;; 项目六 UI界面 ;任务1: 认识虚幻引擎动态图形设计器;任务1:认识虚幻引擎动态图形设计器;在内容浏览器中,点击“添加新内容”按钮,在“用户界面”下选择“控件蓝图”选项。打开控件蓝图编辑器。;控件蓝图编辑器布局及各窗口功能描述;控件是指对数据和方法的封装。控件可以有自己的属性和方法,其中属性是控件数据的简单访问者,方法则是控件的一些简单而可见的功能。设计控件是一项繁重的工作,要求用户精通面向对象程序设计。虚幻引擎4为用户提供了大量的已封装好的控件,便于用户调用,简化工作。;常见控件类;面板控件类;输入控件类;图元控件类;操作方法:打开另一个蓝图(如关卡蓝图或角色蓝图),鼠标右键单击调出上下文关联菜单,输入“createwidget”关键词,选择“创建控件”;鼠标左键点击节点的“Class”引脚的“选择类”按钮,在打开的菜单中选择之前新建的控件蓝图的名字,目的是将此控件与控件蓝图之间建立联系。;“Return Value”引脚返回“Class”类中引用的实例,鼠标左键拖曳“Return Value”引脚,在关联菜单中选择“提升为变量”;蓝图中会出现名为“设置”的节点,并在“我的蓝图”面板“变量”下新增一个变量(重命名为“UMGTest”),之后可以以此访问该控件蓝图。;在蓝图中添加“Add to Viewport”,并建立连接,将控件蓝图的内容推送到屏幕上显示。;在有些情况下,玩家想要与用户界面进行交互,而有些情况下则希望能够完全忽视掉用户界面。通过设置输入模式节点可以用设定玩家与UI交互的方式 “Set Input Mode Game and UI”节点,使玩家可以同时操纵游戏和UI,例如,控制屏幕上的角色的同时可以点击任意的按钮或UI元素。 “Set Input Mode Game Only”节点仅对游戏启用输入,忽视UI元素,适用于非交互性UI元素,如体力、点数或时间显示。 “Set Input Mode UI Only”节点只允许UI导航不允许游戏输入的情况下使用。这将完全禁用掉所有的游戏控制,UI将成为所有输入的对象,请谨慎使用该节点。 ;锚点用来定义UI控件在画布面板上的预期位置,并在不同的屏幕尺寸下维持这一位置。锚点在正常情况下以Min(0,0)和Max(0,0)表示左上角,Min(1,1)和Max(1,1)表示右下角。创建画布面板并向其中添加其他UI控件后,既可以从一系列预设的锚位置中进行选择,也可以手动设置锚位置。;黄框内图案是锚图案,它表示画布面板上锚点的位置。;场景中,水平和垂直黄线表示按钮基于画布尺寸相对于窗口左上角锚的位置。;如果把锚点移动到右下角,按钮的位置相对于锚点之间的距离即发生了改变。锚点的位置会根据屏幕尺寸来影响控件的位置。; 任务2:制作游戏主菜单;(1)利用关卡编辑器的“文件”菜单创建一个新的空关卡,用于制作显示主菜单的场景,将新关卡命名为“MainMenuMap”。打开关卡蓝图。 (2)创建控件蓝图,用于制作主菜单。在内容浏览器中,点击“添加新内容”按钮,在“用户界面”下选择“控件蓝图”选项,并对其进行重命名为“WBP_MainMenu”。;(3)创建控件并利用控件对主菜单的显示做相应的设置。打开关卡蓝图,鼠标右键单击调出上下文关联菜单,输入“createwidget”关键词,选择“创建控件”,并在“Class”引脚的“选择类”按钮中选择引用的控件蓝图“WBP_MainMenu”。;将控件节点的“Return Value”引脚返回值提升为变量,鼠标左键拖曳“Return Value”引脚,在关联菜单中选择“提升为变量”,并在“我的蓝图”面板“变量”将新增的变量重命名为“MainMenu Widget”,在蓝图中添加“Add to Viewport”,并建立连接,将控件蓝图的内容推送到屏幕上显示。;设置输入模式和光标显示:添加“Set Input Mode Game and UI”节点,使玩家可以同时操纵游戏和UI。添加“Set Show Mouse Cursor”节点来设置启用或禁用鼠标光标。注意增加3个“Get Player Conftroller”节点以获得相应设置的玩家控制权。;双击打开用于制作主菜单的控件蓝图“WBP_MainMenu”编辑器,打开控制板的“面板”选项,鼠标左键将“Canvas Panel”控件添加到设计视口中。并调整其大小,以适合主菜单的要求。;在“Canvas Panel”下继续添加面板控件“Vertical Box”;在细详细信息面板点开“锚点”的下拉菜单,选择平铺模式。;在“Vertical Box”下添加“Text”文本控件,文本控件在“常见”控件类下。添加完毕后,在详细信息面板对文本进行设置。依次修改内容、颜色、字号、和对齐方式等属性。;(1)双击打开用于制作主菜单的控件蓝图“WBP_MainMenu”编辑器,打开控制板的“面板”选项,鼠标左键将“Canvas Panel”控件添加到设计视口中。并调整其大小,以适合主菜单的要求。;在层次结构“Vertical Box”下添加“Button”控件,“Button”控件位于控制板“常见”控件下。在“Button”控件层级下添加“Text”文本控件,将文本控件拖放到按钮上,其文本内容改为“开始游戏”,其他参数设置与“主菜单”文本效果类似。按照此方法依次制作出“设置”和“退出”按钮。;设置按钮的跳转功能需要在控件蓝图的图表页签下完成。切换方法:鼠标点击控件蓝图右上角的“图表”按钮。;在图表页签中为“开始游戏”按钮添加点击事件。在“我的蓝图”面板点击变量下的“Button_0”,在“事件”面板,鼠标单击“On Clicked”选项右侧的“+”;“开始游戏”按钮的点击事件为打开一个游戏关卡,在“On Clicked”节点后连接“Open Level”节点,并在“Open Level”节点的“Level Name”输入框中输入一个想要打开的游戏关卡名称。;“退出”按钮的点击事件为结束游戏。;回到“WBP_MainMenu”控件蓝图的“设计师”页签,层次结构中复制“Canvas Panel”,在“Canvas Panel”点击鼠标右键,利用复制粘贴即可完成。利用详细信息面板的参数设置;在运行主菜单时不应显示分辨率菜单,设置方法:在层次结构中选中“Setting”控件,在详细信息中的“Behavior”选项下找到“Visibility”,将其设置为“Hidden”。;对分辨率菜单的三个按钮添加点击事件。 注意:在设计师页签下,将原“Canvas Panel”和“Setting”控件详细信息面板的控件名称后面的“Is Variable”前的复选框勾选,设置为可见,如图6-38所示。以便在图表页签的变量中找到这两个控件变量,从而对其进一步编辑。;对主菜单的“设置”按钮的点击事件进行设置。进入图表页签,选择我的蓝图中的“变量”下的“设置”按钮名称“Button_1”, 其含义为:当用户点击“设置”按钮时,隐藏主菜单,而显示分辨率菜单。;其次,对“640*480”、“1920*1080”两个分辨率按钮进行设置。在节点中输入命令时,注意分辨率中间的乘号需使用小写英文字母“x”。;最后,需要对“设置”菜单中的“返回”按钮的点击事件进行设置。 “返回”按钮的点击功能与“设置”按钮的功能恰恰相反,当点击“返回”按钮时,隐藏分辨率菜单,显示主菜单。;;;项目七 光效处理;任务1: 认识虚幻的光源;任务1:认识虚幻的光源;定向光源用于模拟从一个无限远的源头处发出的光照。这意味着定向光源照射出阴影的效果都是平行的,从而使得它成了模拟太阳光的理想选择。定向光源的可移动性可以设置为“静态”、“固定”、“可移动”三种类型的任意一种。;定向光源的常用属性包括:“Light”光照,“Light Shaft”光束,“Lightmass”光照烘焙,“Light Function”光照函数等。;“Light”光照属性;1.1 定向光源;1.1 定向光源;1.1 定向光源;点光源的模型简化为仅从空间中的一个点向各个方向均匀地发光。;点光源和现实世界中灯泡的工作原理类似,尽管点光源从空间中的一点发光,没有形状,但是虚幻引擎4为点光源提供了半径和长度等属性,以便在反射及高光中使用,从而使得点光源更加真实自然。;“Light”光照属性;“Light Profiles”光分布属性;“Lightmass”光照烘焙属性;聚光源(Spot Light)从锥形空间中的一个单独的点处发出光照。光源的半径定义了圆锥体的长度。简单地讲,聚光源的工作原理同手电筒或舞台聚光灯类似。;1.3 聚光源;天空光源可以捕获关卡中非常遥远的场景部分,并将其作为光照应用于场景之上,天空光源产生的光照和反射都将会与天空的视觉效果进行匹配。;“Distance Field Ambient Occlusion”属性z; 任务2:照亮环境;每个添加到关卡中的光源,在其细节面板的“变换”区块中,都可以看到“移动性”属性设置。;①静态光源。 静态光源是指在运行时不能以任何方式改变或移动的光源。静态光源仅在光照贴图中进行计算,一旦处理完成后,不会再有进一步的性能影响。可移动对象不能和静态光源进行交互,所以静态光源的用处是非常有限的。;②固定光源。 固定光源是保持固定位置不变的光源,但可以在其他方面进行变更,例如亮度和颜色。但是,在运行时对亮度进行修改仅会影响直接光照。间接(反射)光照由于是通过“Lightmass”进行预计算的,所以不会被改变。;③可移动光源。 可移动光源产生完全动态的光照和阴影,可以改变光源位置、旋转度、颜色、亮度、衰减、半径等属性,几乎光源的任何属性都可以被修改。可移动光源产生的光照不会烘焙到光照贴图中,也不会产生间接光照效果。;Ambient Occlusion环境遮挡是由于遮挡而造成的近似于光衰减的效果。九游官方平台这个效果的最佳应用是进行细微调整,除了可用于标准的全局光照外,还可用于角落、缝隙或其他地方来使其变暗,从而创建更为自然、真实的外观。 环境遮挡的程度是在屏幕空间的延迟渲染中进行计算的。;“Lightmass”全局光照可以创建光照贴图,该光照贴图具有像区域阴影和间接漫反射这样的复杂光照交互,能够预计算一部分静态和固定的光照的效果。 关卡编辑器和“Lightmass”间的通信是通过“Swarm Agent”来进行处理的,可以在本地管理光照构建,或将光照构建分布到远程机器上。;阴影可以使世界画面形成对比,使得世界中的物体感觉更加真实,并营造一种氛围。静态阴影无论怎么渲染,几乎没有任何性能消耗,但是动态阴影是造成较大性能消耗的原因之一。 不同的光源类型,产生的光照及阴影信息也完全不同。;在应用各种光效之前,在一个“第一人称”模板的新建项目中创建一个空白关卡。在关卡编辑器中,使用“模式”面板中的“Geometry”(几何体) 选卡的“盒体”画刷创建一个非常简单的房间,并放置一个“玩家起始”以确定场景运行时的起始点位置,将“玩家起始”立于地面上,背靠墙壁,面向房间。;在“模式”面板“光照”选卡中,拖拽一个“点光源”到房间内,使用平移工具将光源置于“玩家起始”朝向对面的房间中央。;在“模式”面板“光照”选卡中,拖拽一个“点光源”到房间内,使用平移工具将光源置于“玩家起始”朝向对面的房间中央。;调整光源的颜色。将光源的颜色调整为更加柔和的金色。选中点光源,在“细节”面板中,点击“Light Color”光源颜色属性。可以在打开的“颜色选择器”窗口选择黄色或金色。;调整“Attenuation Radius”(衰减半径),该属性限定了光源的可见影响范围,在编辑器中其范围以蓝色球体表示。光源影响的限定从物理上讲是不正确的,但是从性能角度讲这是非常重要的,因为光源影响越大性能消耗越大。;对点光源的亮度进行调整,在“细节”面板中,设置 “Intensity”为“2500”。;点击“构建”后运行项目,发现点光源在墙壁和顶棚上创建了一个明显的圆形区域,同时在整个房间中创建了不均匀的阴影。 这说明,点光源的亮度太强了。;将“Intensity”修改为“20”。并取消选中“Use Inverse Squared Falloff”选项。;运行后可以看到房间中投射了更加均匀的阴影,并且光源更加集中地照射到地面上。;首先创建一个黑暗的走廊,以便角色可以进入走廊并照亮环境。;在内容浏览器的“FirstPersonBP”下的“Blueprints”中双击左键打开“FirstPersonCharacter”。在蓝图编辑器左边找到“组件”面板,点击“添加组件”按钮。在下拉菜单中找到并点击“Spot Light” 聚光源。;聚光源的光照方向应和角色的朝向保持一致。在“组件”面板中将“SpotLight” 拖拽到“FirstPersonCamera”下的“Mesh2P”,这将会把聚光源附加到角色网格物体上,即运行中的手臂上。;设置聚光源的位置信息;点击蓝图编辑器工具栏的“编译”按钮。返回到关卡编辑器,执行构建后运行场景。可以看到角色行走在走廊中,聚光源发挥的作用。;对走廊进行镂空设置,并应用“定向光源”向走廊中投射环境光线。;在“模式”面板中选择“定向光源”并将其放置到场景中,该光源将作为月光,照亮走廊。 调整“定向光源”的设置,以产生月光照亮走廊的效果。;构建后运行,可以看到模拟月光的光线投射到了走廊中。 在细节面板将定向光源的“移动性”设置为“可移动”。当角色进入阴影区域时不会再被照亮。;;项目二 编辑材质;任务1: 初识材质; 任务1:初识材质;内容浏览器右键单击,调出右键菜单,选择“创建基础资源”类目中的“材质”;材质编辑器UI由菜单栏、工具栏和默认的四个开启面板组成。;虚幻引擎4使用主材质节点将这些由HLSL代码小片段的合成结果显现出来。;1.2 主材质节点;1.2 主材质节点;简单的颜色材质可以通过主材质节点的“基础颜色”来设置。 接收RGB三个通道的值,取值在0与1之间。;①按住键盘上的数字“3”按键,图表空白处单击鼠标左键,添加“常量3矢量”(Constant 3 Vector)材质表达式。;②双击“常量3”节点,打开取色器,选择所需颜色;③将“常量3矢量”节点连接到主材质节点上的“基础颜色” 输入端。;(1)通过关卡编辑器的细节面板添加;(2)通过内容浏览器选定材质添加;(3)刷表面; 任务2:编辑基于物理的材质;“基础颜色”也被称为 albedo(反射率)或diffuse(漫反射),是减去所有阴影和光照细节后一个表面材质的核心颜色描述。;新建水泥和黄金材质,分别为其设置水泥、黄金的“基础颜色”的RGB值。并将节点连接到主材质节点上的“基础颜色”输入端。;“金属”(Metallic)输入控制材质表面模拟金属的程度。纯金属的金属性取值为“1”,非金属的金属性取值为“0”。 对于纯材质表面,例如纯金属、纯石头,此值将是“0”或“1”,对于受腐蚀、落满灰尘或生锈的金属之类的混合表面时,此值介于“0”与“1”之间。 ;黄金的金属性设置为“1”;而水泥材质则无“金属”属性。 (1)在黄金的材质编辑器中,按住键盘上数字“1”键,在图表空白处单击鼠标左键,添加“常量1矢量”节点。 (2)在细节面板,将其“Value”设置为“1”。 (3)将“常量1矢量”节点连接到主材质节点上的“金属”输入端。 ;2.2 金属性;取值在0-1之间不同金属性取值效果;“高光”(Specular)输入控制非金属表面镜面光泽的强度,使用常量1向量表达式输入,取值范围0-1。 该值对金属材质没有影响。 ;操作方法: (1)在水泥材质编辑器中,按住键盘上数字“1”键,在图表空白处单击鼠标左键,添加“常量1矢量”节点。 (2)在细节面板,将其“Value”设置为“0.2”。 (3)将“常量1矢量”节点连接到主材质节点上的“高光”输入端。;2.3 高光;取值在0-1之间不同高光取值效果;“粗糙度”(Roughness)输入控制材质的粗糙程度,与平滑的材质相比,粗糙的材质将向更多方向发生光线”表示极平滑,模拟镜面反射的效果;粗糙度为“1”表示很粗糙,表面完全无光泽。 ;操作方法: (1)添加“常量1矢量”节点。 (2)在细节面板,将水泥材质的粗糙度的“Value”值设置为“1”,将黄金材质的粗糙度“Value”值设置为“0.5”。 (3)将粗糙度的“常量1矢量”节点连接到主材质节点上的“粗糙度”输入端。;2.3 高光;非金属材质,0-1之间不同粗糙度取值效果; 任务3:使用贴图纹理创建材质;使用Photoshop等平面软件制作材质平面图,导入到Maya、3DMax、引擎等制作软件中,并赋予立体模型上的过程,称为贴图。 计算机图形学中的纹理既包括通常意义上物体表面的纹理,即物体表面呈现凹凸不平的沟纹,同时也包括在物体的光滑表面上的彩色图案,通常被称之为花纹。;鼠标左键单击内容浏览器的“导入”按钮,打开导入对话框,选择资源。 虚幻引擎4支持以下贴图格式: .bmp、.float、.pcx、.png、.psd、.tga、.jpg、.dds。;双击一个贴图资源,将会打开贴图编辑器,可以预览贴图资源或修改贴图的属性。;(1)创建一个新的材质,重命名。左键双击打开材质编辑器。并将其窗口悬浮于虚幻引擎4编辑器适当位置;(2)将内容浏览器中贴图文件拖曳到新建的材质编辑器的图表面板中。;(3)将贴图节点的输出连接到主材质节点上的“基础颜色”输入端。;(4)材质设置完毕后保存。可以赋给关卡中的对象。;任务4:制作视频材质;媒体框架(Media Framework)的资源类型,用于在关卡中的一个静态网格物体上播放视频影片和其他媒体文件等工作。 应用媒体框架后,可在内容编辑器中创建三种新的资源类型。 (1)媒体播放器资源。 (2)媒体纹理资源。 (3)媒体声波。 ;(1)导入外部视频资源。 在内容浏览器相应的位置创建一个名为“Movies”的文件夹。在“Movies”文件夹上点击右键,并选择“Show in 浏览器”,到该文件夹在硬盘上的存储目录。 ;(1)导入外部视频资源。 将要播放的视频文件拖入到硬盘上“Movies”文件夹内,这样可确保视频正常打包,注意该视频文件的名称要使用英文。;(2)创建媒体资源。 回到虚幻引擎编辑器中,在内容浏览器的“Movies”文件夹内,单击鼠标右键,调出右键菜单,在“Media”媒体下选择“File Media Source”。;(2)创建媒体资源。 左键双击该资源,打开“File Media Source”面板,为该资源指定视频文件路径。 保存,然后关闭面板。 ;(3)创建媒体播放器资源。 回到内容浏览器的“Movies”文件夹,点击右键,在调出的右键菜单中选择“Media”选项下的“Media Player”,创建媒体播放器资源。;(4)生成视频材质。 向关卡中添加一个平面“Plane”静态网格物体作为显示屏幕。利用平移(W)、旋转(E)和缩放(R)工具对其进行调整,使其能够模拟显示屏幕的效果。;(4)生成视频材质。 按住“Ctrl”键选中“SampleMedia _Sound”和“SampleMedia _Vdeo”资源,将其放置在关卡中的“Plane”静??网格体上。;(4)生成视频材质。 在关卡编辑器的工具栏上,鼠标左键点击“蓝图”按钮,在下拉菜单中选择“打开关卡蓝图”选项,以打开该关卡的关卡蓝图。;(4)生成视频材质。 在关卡蓝图左侧,单击“变量”选项的“+”按钮,添加一个新的变量。命名为“MediaPlayer” 在 “细节”面板,打开“变量类型”复选框,点击“对象类型”,选择“Media Player”,将变量的类型设定为“Media Player”。 ;(4)生成视频材质。 按住“Ctrl”键将变量拖入到 “事件图表”区域,调出右键关联菜单,输入“begin”关键词,选择“事件BeginPlay”选项,;(4)生成视频材质。 由“MediaPlayer”变量节点的蓝色引脚引出引线,在弹出的关联菜单中输入“open source”,选择“Open Source”节点,在节点的“Media Source”下拉选项中选择播放的视频资源。;(4)生成视频材质。 将“事件BeginPlay”节点与“Open Source”节点相连。 此蓝图执行的命令是:在场景运行时,播放视频资源。;(4)生成视频材质。 点击工具栏的“编译”后, 运行场景。可以实现在模拟的显示屏上播放视频。。;任务5:使用材质实例;创建单个材质(称为“父材质”),然后将其作为基础来创建外观不同的其他各种材质。;创建单个材质(称为“父材质”),然后将其作为基础来创建外观不同的其他各种材质。;创建新材质 “Material_Master”,该材质将作为父材质。 双击将其打开,设置 “基本颜色”、“金属”、“粗糙度”。;鼠标右键单击要转换的材质节点,选择转换为参数“Convert to Parameter”。;在细节面板中“通用”选项下的参数名称“Parameter Name”选框中,输入参数名称“Base Color”作为标注。 依次将“金属”和“粗糙度”的节点转换为参数。;在内容浏览器中右键单击该材质,在弹出的右键菜单中选择“创建材质实例”选项。;鼠标左键双击该实例将会打开材质实例编辑器;鼠标左键单击参数名称左侧的选框以启用该参数。参数启用后,框中将显示勾选标记,其名称将不再显示为灰色。;使用父材质继续创建的两个材质实例。并对其进行“基础颜色”的设置。 在关卡中添加3个基本网格物体,赋予三个材质实例。;打开父材质,新建高光节点“Specular”,默认值“0.5”。 编译材质,点击工具栏“Apply”按钮。;打开任意一个材质实例,在细节面板中会出现新增参数“Specular”。;
数据科学方法与实践 ——基于 Python 技术实现全册电子课件汇总.pptx
网络设备配置与管理项目教程(华为eNSP模拟器版)全册电子课件汇总.pptx
Unit 2 课时1 Section A 1a-1d(大单元教学课件)英语新教材人教版九年级上册..pptx
(正式版)DB37∕T 5163-2020 《城市轨道交通工程沿线既有建(构)筑物鉴定评估技术规程》.docx
2024-2025学年广东省深圳中学高一(上)期中数学试卷(A卷)(含答案).pdf
2026年8月南方电网产融控股集团有限公司鼎和财产保险股份有限公司社会招聘44人笔试备考题库及答案详细解析.docx
原创力文档创建于2008年,本站为文档C2C交易模式,即用户上传的文档直接分享给其他用户(可下载、阅读),本站只是中间服务平台,本站所有文档下载所得的收益归上传人所有。原创力文档是网络服务平台方,若您的权利被侵害,请发链接和相关诉求至 电线) ,上传者