DNF阿拉德游戏论坛

标题: DNF台服吧:DOF添加制作八神庵宠物外观特效技能认识与学习 [打印本页]

作者: 红尘来去一场梦    时间: 2019-12-28 04:25
标题: DNF台服吧:DOF添加制作八神庵宠物外观特效技能认识与学习
本帖最后由 红尘来去一场梦 于 2019-12-28 05:17 编辑

原作者:梦太晓
神幻日前在贴吧发过一篇【超详细DIY宠物教程】不过好像现在已经打不开了,所以这里取消了原帖传送门。这篇DIY宠物教程,个人觉得应该是可以写入史册的详细教程了,零基础入门,从头开始带你认识宠物相关的PVF文件、CRE、ANI、NPK素材。如果你有现成的NPK素材(也就是我们可以看到的宠物图片外观),那么我们就可以直接跳到PVF修改教程。
[attach]5018[/attach]
前期准备与认识

素材:
素材需要自己找,最好是png或者gif。因为常用的只有这两个格式带透明通道,也就是背景可以是透明的,背景不透明的话,那就需要使用抠图软件手动抠图了(但由于是动画 可能有几十帧,几十张图片手动抠图工作量超超巨大,抠图水平不够的话,可能抠的图效果还不好)
宠物需要的动画素材。
最基本的动画是:
站立、奔跑、行走(奔跑后逐渐停下时调用)。有这三个动画 最简单的宠物就OK了,甚至你偷懒一些的话 奔跑和行走用同样的动画都行,还可以有的动画是:随机动画(可以多个,不定时调用,一般用于卖萌之类)、叫名字动画(给宠物起名后 回车输入他的名字 调用的动画)、技能动画(可以2个按下宠物技能键时调用的动画)
我提供一个下载街机游戏的gif网站,拳皇97 三国战纪 恐龙快打 合金弹头都有。里面都是透明背景的GIF,只需要分解成png就行了
点进去之后是这样的
(, 下载次数: 6)
鼠标悬停预览的效果是这样的,用网页翻译也行。
[attach]5020[/attach] (, 下载次数: 5)
里面的也就是点点按钮就能看到效果图了,也好好的分类了,需要什么样的动画就下载他的gif我以 拳皇97-八神庵 当例子
(, 下载次数: 5)
下载的话也很简单,右键另存为,选好一个文件夹 统一存放素材 方便以后查找
(, 下载次数: 5)
[attach]5023[/attach]
(, 下载次数: 5)
处理素材时,等待时间可以用来弄后面的PVF文件,我这里就不说了。

下一步:把GIF分解成png格式的序列帧
gif分解成png网上有很多软件,效果很不错的,而我找到了几个开源的e源码,但是分解出来的效果都不太好,所以就不提供软件了我这里给你们讲利用PS分解gif为png的方法,也很简单,照着点就是了。
(, 下载次数: 8)
1.首先用PS打开gif图片,拖拽或者菜单打开选择文件 都可以
[attach]5024[/attach] (, 下载次数: 5)
2.选择将图层导出到文件 的工具
(, 下载次数: 4)
3.按照我图上的 这样选。箭头的文件夹 要你自己找的到(建议单独建一个文件夹 方便后续操作),文件名前缀 你自己认得就行
因为打开的gif默认只有第1帧是可见的,所以不要勾仅限可见图层,制作NPK需要的是png格式的 所以选png,24是颜色位,越高色彩越逼真,选24的就行了,透明区域一定要勾,不然做什么宠物!裁切图层不要勾,因为之后还要整体调整坐标,裁切了多余的会导致坐标混乱,然后点运行,根据gif的大小帧数和电脑配置 可能需要一会会 几秒~1分钟,也不会太久,因为能看到PS的处理过程。
(, 下载次数: 5)
[attach]5026[/attach]
关闭处理好的这个gif文件,然后重复上面的操作,把下载的gif素材全部分解为png格式图片。
[attach]5027[/attach]

校对统一图片坐标
当我们把对应素材分解成png,还需要对素材坐标统一,因为多张gif中 八神庵的位置可能不统一,如果本身坐标就是统一的话(就不用调整了)
不调整坐标 会出现播放动画时 八神庵 会瞬移后播放 播放完毕瞬移回去 的这种情况 到时再修复就麻烦得多了如图,这是 站立和奔跑的两张gif的坐标相关位置
因为gif图片宽高的原因 所以坐标会不正确。
[attach]5028[/attach] (, 下载次数: 3)
(当然这里不统一坐标的话,后续要在ani或者img里面调一般来说要上游戏 这就不好批量和撤销了,所以我选择在素材这一步 调坐标的好)最好一次把素材收集完毕,虽然后面也能加 但是会麻烦些。

怎么对素材调整坐标呢?还是用PS,也是比较初级的应用:就是将之前分解好的png又导回到PS里面 对其坐标处理
(PS没法对照调整gif的坐标然后还保存成gif动图。单独保存为动图gif可以,单独调整坐标也可以。但是两者合在一起就不行。)
(, 下载次数: 5)
使用将文件载入堆栈,导入png当做图层
[attach]5029[/attach] (, 下载次数: 5)
选择之前我们分解png存放的那个文件夹
勾上尝试自动对齐
不要勾创建智能对象
然后点确定。过程会很漫长,图片大或者png帧数很多的话,5~10分钟都有的,
期间PS都有动作,不要强行操作它,去泡杯茶 水个群耐心等待操作完毕
(, 下载次数: 3)
全部导进来 会是这样的。尬,坐标完全不正确嘛
[attach]5031[/attach] (, 下载次数: 4)
这里给个个相同动作的png分组,方便后面自己知道那些图层是那些动画里面的。(名字 自己能区分就行)
[attach]5032[/attach] (, 下载次数: 7)
都分好组以后,把站立的图层组放到最底层当做基准,把可见全关了,只保留站立的
[attach]5034[/attach] (, 下载次数: 5)
然后从下往上,对一整个组 调整坐标
(, 下载次数: 4)
这里需要 对随机1这个图层组 调整坐标,用shift加鼠标选择 整个组里面的图层,把它们的可见打开,把他们的不透明度 调低一些,能看到站立的那张图片就行。
[attach]5035[/attach] (, 下载次数: 6)
然后选择移动工具 以站立的那张图片为基准 调整随机1图层的位置 使其和站立在同一个位置上  不发生瞬移等
[attach]5036[/attach] (, 下载次数: 4)
然后这里发现  八神的头 已经超出画布了。还得扩大画布 才能显示完全
图像-画布大小,
宽高填个200,大一些没关系 之后裁就行
勾上相对,
定位为中间不用改  点确定
[attach]5037[/attach] (, 下载次数: 4)
效果是这样了  八神的头显示好了。
[attach]5038[/attach] (, 下载次数: 5) (, 下载次数: 7)
然后重复以上几步,将各个图层组的图层坐标 都调整到同一位置,记得把所有图层的可见都打开,把不透明度 还原为100%,然后 对太大的画布 裁剪
[attach]5040[/attach] (, 下载次数: 3)
选择裁剪工具,然后她会自动吸附。注意看了(一定要显示所有图层 免得裁多了)
别把八神给裁了。宁可少裁也不能多裁
[attach]5041[/attach] (, 下载次数: 5)
剪裁后,效果挺不错的,然后把图层都导出来,文件-图层-图层导出到文件。
[attach]5042[/attach] (, 下载次数: 4)
文件夹 存成和分解出来的png不同的文件夹,文件名前缀 随便写,反正后续要对其批量重命名的,不要勾仅可见图层,因为要导出所有图层的类型选PNG24 ,勾上透明区域 其他两个别勾把  然后 点运行,这个过程可能很漫长,十多分钟都有的,慢慢等吧...
[attach]5043[/attach] (, 下载次数: 6)
都导出后是这样的,都是逆序的确认没问题之后 把PS关闭(记得存份PSD格式素材)
[attach]5044[/attach] (, 下载次数: 7)
可以用windows的递减显示为正序  批量重命名软件下载,也可以用文件批量改名 改成正序的(顺序关键在你是框选后按住哪个文件拖拽进入软件,增量可以填负数)
EX工具需要的是编号从0开始的文件名。后缀名为png的这样文件  所以我们批量改成这样
要按照一定的顺序 给这些png编号
(, 下载次数: 3)
我的话 是按站立行走奔跑 这种顺序
[attach]5047[/attach] (, 下载次数: 6)
每次改名后 要右键列表 清空在进行下一步 且 注意增量(不要重复)
[attach]5048[/attach] (, 下载次数: 4)
设置自动预览 预览全部
[attach]5049[/attach] (, 下载次数: 3)
右键清空
[attach]5050[/attach] (, 下载次数: 5)
重命名后的文件成这样了,之后就是制作NPK了和编写ANI了
[attach]5051[/attach] (, 下载次数: 3)
哇 我的内容啊,丢了。重新码字先去客户端里面 随便找一个NPK,复制粘贴一份
然后打开
[attach]5052[/attach] (, 下载次数: 3)
台服只能识别V2版本的img(img名字前面图标是白色的),V4V5V6统统不认(图标绿蓝黄)
我们这里看到这个img是白色的V2,没问题,如果有很多img的话
在左边的IMG框右键 全部勾选,取消其中一个的勾选,只留一个img就行了
其他的全部删除,节省空间
删除之后 还是右键 对仅剩的这个img重命名
[attach]5053[/attach] (, 下载次数: 5)
蓝色选择部分是我们能改的,前面那个sprite/是固定的前缀 不能动
这个文件名,其实是他的全路径名(img),
[attach]5054[/attach] (, 下载次数: 3)
为了保持与我做的其他宠物一致,我把他重命名成 八神庵bashenan.img,确定
前面的是我之前做的IMG里面的路径,这个路径只要你知道就行了
[attach]5055[/attach] (, 下载次数: 4)
然后我们发现,随便找的IMG里面只有一张贴图,那我们就需要新增贴图,在中上方的框 右键,选择增加新贴图
[attach]5056[/attach] (, 下载次数: 5)
我们八神庵分解对好坐标 一共有120张
这个img已经有1张,还需要119张。我这里增加120张,额外加一张
额外加的这张是用来做宠物的图标的
[attach]5057[/attach] (, 下载次数: 6)
这样以后 有121张图片了,我们需要勾选其中前120张 替换成八神庵的图片
右键全部勾选,然后对最后一张 取消勾选
[attach]5058[/attach] (, 下载次数: 4)
然后还是右键 选替换贴图
[attach]5059[/attach] (, 下载次数: 4)
弹出这个界面  我们要批量替换 所以要这么做
先把修改本IMG内的勾选资源 勾上
再点击 编辑框 这样就是选择文件夹,而不是选择图片了
文件夹 选择到之前导出的 对好坐标的那个png文件夹
(保证 其中的文件名是0.png-199.png共120个文件 这样EX才能正确导入到勾选的那120张)
然后色位  选32位,效果最好,所占空间会稍大一些。大就大点,宠物嘛 好看才是主要的
替换选项,不要勾修正坐标和裁剪透明边界
勾上扩大帧域宽高(其实不勾也没事 帧域宽高完全无用的)
然后点确定
[attach]5060[/attach] (, 下载次数: 5)
导入成功后是这样的(失败的话自行回去看教程排查原因)
[attach]5061[/attach] 确保这里坐标是统一的0,0(就是之前让你们取消修正坐标值),
如果不是0,0,那全部勾选  修改贴图坐标,统一改成0,0
可以勾选动画播放 ,看一下效果。其中可能有几张图片效果并不好,那就回PS打开PSD格式素材再次处理
因为是DIY的宠物 没有宠物的图标,没关系,我们利用QQ截图做一张就行
图标的大小是28X28方形 QQ截图 直接截EX里面的就行 保存为png格式
(, 下载次数: 6)
然后还是替换,这次选替换选定的资源(我之前额外增加的哪最后一张)
选的就是图片了,替换进去就行了(依然要保证坐标是0,0)
(, 下载次数: 3)

效果还行的话  至此IMG制作完毕  可以点击EX的关闭文件  了
然后为了规范,我们把NPK的文件名也改了,方便以后查找
(, 下载次数: 6)
这个是我们img的文件名 sprite/creature/luanru/bashenan.img
(宠物八神庵)sprite_creature_luanru.NPK
上面红色部分,就是把img的文件名的红字路径(把/替换成_)然后替换成NPK的文件名中红字
然后手动给NPK前面加上括号和中文注释,方便后面查找
外部工作都做完了 该到PVF文件了


有现成NPK素材 直接到这一步
推荐先写cre文件,在写equ文件。
宠物(cre)
宠物文件,宠物说明、调用什么动画和技能等都在这里写
推荐直接复制一份已有的宠物cre文件夹(防止漏东西),然后重命名,更改其中内容,然后重新写lst就行了。画框的ani文件夹要有,cre也最好改下名,他们的上级文件夹也是 只要你记得就好
(, 下载次数: 3)
(, 下载次数: 4)
释放技能的部分暂时不讲 因为要涉及到obj会写的自然就会了
下面我给出了定义,一般就改这些就行了
[name]宠物名字
[basic motion]站立动画 下面填ani路径文件名 下同
[walk motion]行走动画 奔跑时停下来也调用这个
[run motion]奔跑动画
[response motion]叫他名字时 互动动画
[random motion]随机动画标志 可以写多个
        `Animation/zhaojingzi.ani`
        `Animation/tiannvsanhua.ani`
[/random motion]随机动画结束标志

(, 下载次数: 6)
技能名字 技能说明
(, 下载次数: 5)

都改好之后 去写lst,creature/creature.lst
路径一定要对,lst里面的路径就是我选择的这部分,
(, 下载次数: 3)
然后前后加上`这个符号,确保引用正确。
我这里给这个cre文件的编号是23307.之后equ内要引用这个编号
新版Utility 引用正确会自动取出name下的名字很直观

(, 下载次数: 5)
编号一定不能重复

宠物(equ)
本质就是一件装备,然后他额外引用了一个宠物文件cre 来显示宠物
所以equ没啥好讲的,和普通装备基本一样 普通装备能写的都能写。组合键也可以
推荐直接复制一份已有的宠物equ文件(防止漏东西),然后重命名,更改其中内容,然后重新写lst就行了。
要注意的就这些标签,我给出他们的定义,一般就改这些就行了
[equipment type]装备类型:宠物(别的是手镯、项链、太刀的这种分类)
[sub type]子类:宠物的子类0 照填
[creature species]指向的宠物编号:cre文件的编号
[explain]描述,装备的描述,蓝字描述 装备,和一般装备一样。宠物的说明 一般不写这里
[flavor text]说明,宠物的说明介绍,灰字说明 宠物,宠物的说明 一般写这里。介绍可以看百度百科或者自己编一些设定呗,放飞自己。
另外这个equ一般写无法交易吧。可交易我不知道会不会出问题
[attach type]
        `[trade]`
(, 下载次数: 4)
[icon]宠物的那个物品图标 也是在equ这里写  还是我自己建的那个img,贴图是我自己QQ截图的,编号是120
顺便核对引用的cre编号对了没


(, 下载次数: 5)
这里截图 截图后才发现没改指向的宠物编号,懒得重截了(太多字),
反正记得 这个equ内 一定要指向上面cre写的编号

都改好之后 去写lst,equipment/equipment.lst路径一定要对,lst里面的路径就是我选择的这部分,
(, 下载次数: 6)
然后前后加上`这个符号,确保引用正确。
我这里接着以前的编号 给他编号为370007
新版Utility 引用正确会自动取出name下的名字很直观

(, 下载次数: 5)
编号一定不能重复

可以用Utility的工具检查一下。
保存文件后 对着lst文件右键 选择lst检查工具(“”不能识别 所以报不存在)
(, 下载次数: 5)
确定没问题之后,可以先保存到PVF跑五国,因为后面的东西不需要跑五国就能改




cre和equ弄好之后,就是弄ANI了
ANI动画文件
因为我们是复制的一个宠物,所以他自带了ani文件夹,
如果没有这个文件夹和文件,去别的宠物里面 复制一份改下名就好
ani的文件名 要和cre里面的一致 且路径格式要正确我是把他们改成拼音了,用英文也行 看得懂就行了
(, 下载次数: 3)
(, 下载次数: 4)
然后我们从第一个动画 站立的动画开始改
打开ani文件,我给你们讲一下ani文件的结构和定义

#PVF_File 最前面的是文件头 基本每个PVF文件都有的
文件头之下的内容是ANI特性,我这个ANI没有特性,所以没有
常见的特性有LOOP循环

[FRAME MAX]最大帧数,要有这个标签,下面的数值Utility保存时自动生成
[FRAME000]改动画的帧号,Utility保存时 自动更改为从000开始的顺序编号
[IMAGE]引用的IMG和贴图,IMG是全路径,去掉固定前缀,然后前后加上`,大小写无所谓,贴图编号是你EX里面看到的编号
[IMAGE POS]贴图位置,就是贴图的XY坐标,常为负数,但先别管,他的数值是多少别动 后面再改
[DELAY]延迟,就是这张图片存在多久,多久后播放下一张图片。1000=1秒,一般100~200就行,
黑框起来的就是独立的一帧需要的东西,要多加几帧,就是把整个黑框的内容复制粘贴就行了 (, 下载次数: 3)
(, 下载次数: 3)
我们要做的就是把
[IMAGE]下 img和贴图编号改了
Ctrl+H打开替换窗口
把原来的IMG  Creature/Luanru/Diaochan.img
替换成成        creature/luanru/bashenan.img
大小写无所谓的。因为本来前后都有``了 所以不用额外加 点全部替换
(, 下载次数: 3)
如果帧数不够 就手动把黑框内容复制粘贴 凑够帧数
我们八神是0-8帧 是站立动画
而原文件只有0-4帧,那我们还要额外复制增加5678这几帧
(, 下载次数: 3)
第8帧截不下了  知道有就好
因为img我们已经替换好了,粘贴来的黑框内容 只需要改紫色箭头指的数字
[FRAME004]这个之后保存时会自动编号

这样一个ANI就编辑好了
对于新手,我推荐 在文件头后 ANI特性加上这么一个东西,
[SHADOW]
0        

(, 下载次数: 3)
作用是 无阴影,因为宠物调影子很麻烦的,新手干脆不做了,可以省很多事
这样一个动画就做好了,保存,
之前在PS内统一坐标的优势就显现出来了,一帧的坐标调好,那全部动画的坐标都正确
所以 我们做好一个动画就可以上游戏看效果(看坐标位置),开始调坐标
(记得把NPK放进客户端)由于我们没有设计获取方式,所以用GM工具发邮件(记得发宠物邮件 普通邮件是不行的)
这里就可以看到我们之前写的东西了。
(, 下载次数: 2)
然后装上宠物 开始调整坐标,坐标可能会很离谱,
所以找个宽敞的地方,城镇不够宽敞去副本里面
调整坐标时  是以角色面向右时 宠物的位置为准
我是写了站立的动画,所以宠物站立时 是我写的动画,走路时还是原来宠物的动画(复制粘贴没改过)
(, 下载次数: 5)
然后大概以宠物的某一个点当基准,然后把这个点调到合适的位置
我这里以八神脚下中心点为基准,移动到的位置是人物身后一个点
然后两点画一个框,然后用QQ截图或者别的东西 确定这个框的长宽
我这里确定了 是宽35 高116
我们要把八神 往左上方移动,
左是减,右是加
上是减,下是加
所以坐标调整 X需要-35  Y需要-116
这个修正值,可以在img里面调,也可以在ANI里面调
这里我以在ANI里面 调整 示范

原来的坐标是X0 Y0
调整0-35=-35, 0-116=-115(就是数学运算)
-35 -116填进去,
(, 下载次数: 3)
然后用替换 把这个ANI里的原来的坐标都调整成这个值
(, 下载次数: 3)
然后下号 保存PVF 重新上游戏
看 位置差不多了吧。位置合适了 就可以写别的ANI了
(, 下载次数: 3)

依序打开奔跑的ani和走路的ani
把已经写好的站立ani 全部复制粘贴过去
需要注意的是,奔跑和走路的ani 有ANI特性 循环
[LOOP]
1        

我们要给他加上去  (我们自己加的特性无阴影 粘贴就有了)
然后查看NPK里面  我们对应的动画贴图的编号是多少到多少
我这里查看后记录的是
站立0-8
走路9-18
跑步19-26
叫名字28-56
技能1 57-71
技能2 74-99
随机1 101-110
随机2 113-119
其中 第27 72 73 100 111 112帧效果不好 舍去了
多帧删,少帧就复制粘贴增加。然后把编号改了,
保存,后Utility会自动帮我们编号 和计算总共有多少帧

一口气把所有ani 都写好了 然后上游戏看效果
效果是  跑步和走路的 动画太慢了。那我们直接给他砍半,设置为60,看看效果
上游戏看到的效果  然后走路动画 有点鬼畜,在调回去一些。调成100

有些瞬移。和素材问题, 坐标没调整好。后续在调整素材重新导出那一帧或者img里面调整就行了。

明天讲  怎么弄影子和宠物名字位置






欢迎光临 DNF阿拉德游戏论坛 (https://oldbbs.arad.ink/) Powered by Discuz! X3.3