【特效教程】【efx教程】延迟火特效——ACTION效果应用
前言

本教程为ACTION教程的应用篇,相关efx功能细节参考ACTION教程部分。

逻辑原理部分理解后制作时长仅需数小时。

此次教程目标是仅通过action的使用来做出类似黑暗之魂3中法兰不死队薪王状态下延迟火焰轨迹的效果(如炎王粉尘爆炸、ELDEN RING中调香瓶中效果)。

火焰效效果素材将直接从游戏内寻找相似效果的efx选用,具体效果收所挑选素材影响,若追求更好点效果需自行优化efx。

并非还原向,火焰为纯视觉效果不产生攻击判定,延时生成的效果也可通过ACTION以外的方式实现。本次仅以“延时”为主题所作的ACTION教程的案例。


效果分析

从目标效果观察,火焰特效是多个依次生成且动画方向与剑挥舞轨迹相同,特效生成位置并非实时在剑尖位置而是数帧之前的位置。至此我们要达成2个效果,首先粒子随着剑尖不断生成;生成粒子经过一段时间后出现火焰效果。

实现原理

(由于模板中ID的起始编号为0,为保持统一教程也采用以0为起始的编号规则)

此次特效将通过使用两个ACTION部分与两个特效块block,ACTION[0]为生成型内部关联,ACTION[1]为结束型外部调用。

特效块[0]作为主特效,用于全局调整视觉效果,特效块[0]通过ACTION[0]来内部调用特效块[1];特效块[1]则作为实现抛洒粒子的主体,每次生成的粒子将调用ACTION[1],ACTION[1]则外部调用准备好点火焰效果素材,并且设置为结束型调用以实现火焰效果将在粒子生命周期结束时出现。

工具素材准备

工具:

010editor

教程所用010模板:efx 010模板

版本截至:Sep 1,2022 version:3.6

素材:

作为修改基底的efx:vfx\efx\pg\pg_tu_00.efx(包含2个特效块与2个action块)

外部调用的action:vfx\efx\em\em001\em001_003.efx

作为火焰效果的素材:仅需要efx路径,所选用的efx中不能绑定骨骼且有固定生命周期

此次演示将分别用2个路径

vfx\efx\em\em001\em001_005.efx


vfx\efx\wp\wp10\wp10_skill_000.efx



(为便于演示,将额外调用坐标轴axis模型的mesh属性用于指示发射器轴向)

制作

导入基底vfx\efx\pg\pg_tu_00.efx,并另存为vfx\efx\wp\wp03\wp03_000.efx使之在太刀气刃斩位置显示。

将特效块[0]全部内容复制替换到特效块[1](特效块[0]离我们所需的2个特效块结构相近),F5刷新模板。

打开vfx\efx\em\em001\em0013.efx复制action部分

粘贴替gu'ge底efx中的action[1],F5刷新模板。

接下来修改基础参数部分

修改特效块[0]:

将特效块[0]取消绑定原本骨骼(可以根据自己制作efx应用情况绑定骨骼)



修改特效块[1]:

将parentoptions修改为图中所示

(angle tracking mode是作用与粒子而非发射器,粒子被抛射后我们不需要继续继承父级的朝向,故xyz旋转均设定为2)

(track across spawns如同字面意思,粒子生成后将停止跟随父级位置)

(bone limitations 设定为-1 这样才可以与父级有继承变换关系,因为我们需要粒子仅在生成的时候继承父级的位置朝向和缩放等各种变换并非完全不继承。)

修改发射器属性spawn:

instancesspawnedtotal数量决定抛射粒子的总数,是总上限

instancesspawnedperframe为单次抛射的粒子数量,本次案例中设置为1。

framedelaybetweenspawns:粒子抛射间隔时长,由于本次案例中用于 挥刀动作,发生速度较快,故设置为0连续生成。

spawnerlifespan为发射器的生命周期,建议自行按需求设定一个时长(单位:帧)(若设定为0则为无限时长,除非epv结束efx的情况不会结束,如果错误设置并被触发了则需要通过切换地图等方式清理内存强制结束efx)本次设置最长时长30frame。

修改Life:

为粒子设置生命周期,并关闭infinitelifespan(设置为0)

duration和fade out 之和为粒子实际结束时长,由于特效块[1]将在粒子结束时调用ACTION[1],所以粒子实际结束时长相当于延时间隔的时长。

修改特效块[1]中PtLife使之timing为4,relationIndex为1(特效块将调用action[1]且在特效块[1]中粒子生命周期结束时生成)


至此基础的修改部分完成,对于气刃斩的轴向显示目前为:

目前绑定的方式生成位置和帧数相关,由于刀尖运动速度过快,在挥舞的时候间隔过大。


接下来修改action[1]中调用的素材路径

注意修改路径长度声明,并F5刷新模板

至此已经能初步实现延时火焰效果了

进阶制作

前文在轴向测试中有提到粒子抛射分布不均匀问题,对于我们第二个素材的使用来说影响比较明显(火焰原本喷发方向为z轴方向动图中对特效块[1]中y轴旋转了195°,使得火焰可以顺着挥刀方向喷发)

此处给出一个参考思路:粒子间隔过大是因为动作速度过快中间帧较少,导致每帧之间从骨骼继承的位置间隔过大。

采用homing或guide或velocity等粒子跟随或粒子获得速度的方式,可以使粒子按一定速度移动。粒子最终会以一定速度向着父级移动跟随(优点是间隔均匀,缺点是速度太慢的话会走最短路径向着父级移动以至于无法绘画出完整弧线)

by canni 发布于 2024-09-24
若有附件,打赏后可直接下载 赠人玫瑰 手留余香
默认
最新


1