使用工具服中的特效编辑功能,可以利用美术特效资源,随心所欲地编辑出自己喜爱的特效来,或者是对现有特效进行调整和改变。
特效编辑进入方式:
在工具服中,可选择“客户端资源”下的“setting”项,点选“添加”,再选择“可视化添加magic”,即可进入特效编辑模式。
特效编辑功能:
特效编辑功能分为基础信息、动画音效、创建销毁、运动、子特效、偏移六大类。
一、基础信息:
如上图所示,基础信息中,含有MagicID、特效名称两项,主要为该特效的编号信息。
MagicID:填写特效的ID编号,可根据特效ID编号规则填写,不可与其他特效ID重复。
特效名称:可填写特效的名字。
二、动画音效:
此项中分为动画、偏移、声音三大类,主要为动画特效的各种表现参数。
(1)、动画类:
动画ID:动画ID编号是美术特效的第一帧图片ID编号。
动画类型:此处为动画的播放类型,可决定动画播放的顺序和方式。动画类型分为:动画结束静止、动画循环、动画生命结束、动画淡出、动画直接静止、动画等待、动画结束不显示、动画回播、动画循环延时、动画随机循环。
1、 动画结束静止:当动画播放到最后一帧时,停留在最后一帧的画面上;
2、 动画循环:当动画播完之后,返回第一帧,重新开始播放,无限循环;
3、 动画生命结束:当动画播完最后一帧,结束播放;
4、 动画淡出:当动画播完最后一帧,逐渐淡出效果;
5、 动画直接静止:当动画播放第一帧后静止;
6、 动画等待:当动画播放结束时等待;
7、 动画结束不显示:当动画结束时,最后一帧不显示;
8、 动画回播:动画顺序倒转播放;
9、 动画循环延时:动画循环播放时,两个动画之间延时播放。
10、动画随机循环:动画随机在某段帧循环播放。
动画X缩放比:特效在X轴上的大小,也就是左右大小的缩放。
动画Y缩放比:特效在Y轴上的大小,也就是上下大小的缩放。
方向数:特效拥有几个方向。
每方向帧数:特效每个方向的帧数。
动画速度(毫秒/帧) :特效播放的速度。
混合方式:混合方式拥有不混合、ADD、ADD2、ADDALPHA、ADD3、BRIGHT、LGTEXCLR、CLRADD等八种方式,常用方式为ADD和ADDALPHA两种混合方式。
混合颜色:此处可以选择颜色类型。
混合颜色透明度(alpha值0-255) :混合颜色的透明程度,可根据需要修改。
(2)、偏移类
动画排序方式:分为不排序、在发射人身前、在发射人身后、在目的人身前、在目的人身后、参与场景排序、在所有人之上、在所有人之下、在某窗口之上等九种排序方式。此类选项可以选择特效播放时,在画面中的位置,与各障碍物和遮挡物之间的层次关系。
阻挡点能产生特效:可以选择特效在阻挡点位置上是否产生效果,可选是或否。
重叠时只绘制一次:两个相同的特效重叠时,是否只显示一次,可选是或否。
(3)声音类
音效:可填写该特效的音效在音效表中的位置,例:sound/skills/other/***
延迟播放时间:可填写音效在特效开始之后多少毫秒播放。
是否循环:该音效是否循环播放,可选是或否。
随特效而消失:该音效是否随特效的消失而消失,可选是或否。
三、创建销毁:
此项主要为该特效与其他特效的互动关系,可规定特效播放的时间和方式。
自身特效延迟时间:该特效播放后,下一个特效延迟多长时间开始播放。
他人特效延迟时间:该特效在前一个特效播放后延迟多久开始播放。
特效生成方式:特效在画面上生成的方式,分为不生成、生成圆(半径,点数,填充)、生成线(长度,点数)、生成一个点(固定方向)、生成区域(长,宽,格/点)、扇形(半径,度数,点数)、按时针生成(距离格数:正顺|负逆)、生成偏移点(方向,前偏移,右偏移)、沿着切线生成、生成跟随点、生成全屏、面向人物全屏幕、生成一个随机点等十三中方式,可依据不同的特效类型选择有效方式。
特效生命期:该特效的施放的时间长短。
特效销毁时机:规定该特效在什么时候结束,可选择不销毁、生命期结束、碰撞到目标、运动到窗口之外等四种方式。
四、运动:
此项主要为该特效的运动方式,以及与目标的相互作用,分为运动和碰撞两大类。
(1)、运动:
生成位置:该特效生成的位置,分为没有、在目的点、在发射点、在发射人、在目的人、在发射格子中央、在目的格子中央等七种。
目标位置:该特效发射目标的位置,分为没有、在目的点、在发射点、在发射人、在目的人、在发射格子中央、在目的格子中央等七种。
跟随方式:该特效跟随的目标,分为不跟随、跟随发射人、跟随目的人、跟随被碰撞人物、跟随魔法等五种。
运动方式 :分为不运动、静止不动、线段运动、射线运动、射线跟踪、空中下落、直线圆周运动、空中下落跟踪、从当前空中下落、在空中静止、旋转、向上飞、抛物线等十三种,分别对应不同的特效效果,效果如名字所示。
运动速度:特效移动的速度。
名词解释:
发射点、发射人:特效起始的地点和发动的人物。
目的点、目的人:特效到达的地点和被攻击的人物。
被碰撞人物:特效撞击到的人物。
线段运动:从一点到另一点的直线运动。
射线:光束发射类运动效果。
(2)、碰撞:
碰撞方式:特效在运动中碰撞到物体的方式,分为不碰撞、与人物碰撞、与障碍碰撞、与障碍人物碰撞、与自己碰撞、与己方碰撞、与所有人碰撞、只与目标碰撞、与地面碰撞等九种方式,适应不同的魔法效果要求。
碰撞结果:特效碰撞后的反应,分为无结果、消亡、停止、继续、只碰撞一次等五种结果。
碰撞X容差:特效产生碰撞时,与被碰撞物体在X轴上的视觉效果差别,亦即左右位移的差别。
碰撞Y容差:特效产生碰撞时,与被碰撞物体在Y轴上的视觉效果差别,亦即上下位移的差别。
五、子特效:
此项主要为该特效添加后续的子特效效果,产生两种以及两种以上特效连续释放的效果。点击“子特效数组,子特效还能有子特效”右边的方框后,将弹出下图:
子特效名:在此下拉框中,可选择子特效。
生成随机:在父特效生成后生成子特效的时机,分为不生成、父特效剩余时间生成、父特效已消耗时间生成、父特效开始生成、父特效消亡生成、随机时间生成一次、旋转一周生成一次、碰撞人物生成一次、碰撞阻挡生成一次、父特效开始或消亡两次都生成、每过时间多次生成、每过距离多次生成、每旋转一周都生成、每次碰撞人物都生成、每次碰撞阻挡都生成等十五种,适合不同的特效效果。
时间参数:生成时机的时间,参数为毫秒。
就地产生:分为true(真)、false(假),选择true为就地产生,选择false则不就地产生。
六、偏移:
此项主要为该特效在与人物、目标的位置不准确时,进行画面和中心点的偏移效果,分别对应十六个不同的方向,格式为:X|Y。
x负数为向左偏移,正数为向右偏移,Y负数为向上偏移,正数为向下偏移。
特效编辑与magic.xml表对应关系:
特效编辑完成后,将自动生成xml表,表中结构如图例:
表格中以“<ID>”开头,“</ID>”结束,i=””,双引号中的数字为功能标号,d=””,双引号中的数字为数值。
字母“I”代表的数字功能标号详细说明:
eMagicID = 0, //0特效模板ID
eAniID, //1动画ID
eAniXScale, //2动画X缩放比
eAniYScale, //3动画Y缩放比
eAniDirction, //4动画方向数
eFramePerDir, //5每方向帧数
eAniType, //6动画生存方式(动画类型,取值参见eMagicAniType)
eAniSpeed, //7动画速度
eAniBlendType, //8动画混合方式(取值参见eMagicAniBlendType)
eAniColor, //9混合颜色(ABGR)
eAniSortType, //10动画排序方式(取值参见eMagicAniSortType)
eCanCreateOnFbd, //11特效是否能产生在阻挡点
eDrawOncePerGrid, //12同特效在一格上重叠时是否只绘制一次
eSelfTimeDelay, //13自身特效延迟时间
eNotSelfTimeDelay, //14他人特效延迟时间
eCreateStyle, //15特效生成方式(取值参见eMagicCreateStyle)
eLifeCycle, //16特效生命期
eDestroyOccasion, //17特效销毁时机(取值参见eMagicDestroyOccasion)
eSourcePosition, //18生成位置(取值参见eMagicPosition)
eTargetPosition, //19目标位置(取值参见eMagicPosition)
eFollowType, //20跟随方式
eMoveType, //21运动方式
eSpeed, //22运动速度
eCollideType, //23碰撞方式(取值参见eMagicCollideType)
eCollideResult, //24碰撞结果(取值参见eMagicCollideResult)
eCollideScopeX, //25碰撞X容差
eCollideScopeY, //26碰撞Y容差
eSoundDelayTime, //27音乐延迟播放时间
eSoundLoop, //28音乐是否循环
eSoundDelByMagic, //29是否随特效而消失
eSubMagicCount, //30子特效数量
eMagicName, //31特效名称
eAniParam = eMagicName + STR_PAGECOUNT, //47 动画参数(用|分隔)
eCreateParam = eAniParam + STR_PAGECOUNT, //63 生成参数(用|分隔)
eParticleID = eCreateParam + STR_PAGECOUNT, //79 粒子ID
eSoundName = eParticleID + STR_PAGECOUNT, //95 音乐名
eSubMagicID = eSoundName + STR_PAGECOUNT, //111 子特效数组,子特效还能有子特效
eCreateOccasions = eSubMagicID + MAX_SUBMAGICCOUNT, //127子特效生成时机(取值参见eMagicCreateOccasion)
eTimeOfCreateOccasions = eCreateOccasions + MAX_SUBMAGICCOUNT, //143子特效产生时机相关时间
eCreateInPlaces = eTimeOfCreateOccasions + MAX_SUBMAGICCOUNT, //159在父特效当前所在点或人产生
eDrawOffsets = eCreateInPlaces + MAX_SUBMAGICCOUNT, //175绘制偏移(X|Y)
eCenterOffsets = eDrawOffsets + MAGIC_MAX_ANI_IMAGE_DIR * 4, //239中心偏移(X|Y)
其他数字皆一一对应magic编辑中的功能,可尝试修改验证,也可直接修改xml表改变特效的功能。
特效编辑例子:
<ID d="200001145">
<h i="0" d="200001145" />
<h i="1" d="1043800000" />
<h i="2" d="35" />
<h i="3" d="35" />
<h i="4" d="1" />
<h i="5" d="10" />
<h i="6" d="1" />
<h i="7" d="180" />
<h i="8" d="3" />
<h i="9" d="-1" />
<h i="10" d="7" />
<h i="11" d="1" />
<h i="15" d="3" />
<h i="17" d="1" />
<h i="18" d="3" />
<h i="19" d="3" />
<h i="20" d="1" />
<h i="22" d="200" />
<h i="29" d="1" />
<h i="31" d="人物脚下光环-红" />
<h i="175">
<h1 i="0" d="2|8" />
</h>
</ID>
<ID d="100000990">
<h i="0" d="100000990" />
<h i="1" d="1061700000" />
<h i="2" d="100" />
<h i="3" d="100" />
<h i="4" d="1" />
<h i="6" d="1" />
<h i="7" d="100" />
<h i="8" d="3" />
<h i="9" d="-1" />
<h i="10" d="6" />
<h i="11" d="1" />
<h i="12" d="1" />
<h i="15" d="3" />
<h i="17" d="1" />
<h i="18" d="3" />
<h i="20" d="1" />
<h i="22" d="200" />
<h i="29" d="1" />
<h i="31" d="天下第一战士" />
<h i="175">
<h1 i="0" d="0|-120" />
</h>
</ID>