DNF阿拉德游戏论坛

 找回密码
 立即注册
查看: 6513|回复: 0
打印 上一主题 下一主题

[教程] DNF台服吧:DOF添加制作八神庵宠物外观特效技能认识与学习

[复制链接]

该用户从未签到

79

主题

86

帖子

891

积分

版主

Rank: 7Rank: 7Rank: 7

积分
891
怒气
750
声望
10
战力
35
跳转到指定楼层
楼主
发表于 2019-12-28 04:25:04 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 红尘来去一场梦 于 2019-12-28 05:17 编辑

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

前期准备与认识
  • png/gif素材文件 需要背景透明,否则需要扣图 推荐gif
  • gif图片分解
  • 易语言批量更改文件名
  • img/NPK 补丁文件 img全路径一致 NPK文件名无所谓但提倡规范
  • equ装备文件 宠物装备的 其实就是一件装备 组合键不能只写组合键=宠物键,可以多个equ指向同一只宠物
  • cre宠物文件 宠物动画 技能cd恢复等
  • ani动画文件 宠物哪个动作播放什么动画 (新手不要弄影子 不要弄名字)

素材:
素材需要自己找,最好是png或者gif。因为常用的只有这两个格式带透明通道,也就是背景可以是透明的,背景不透明的话,那就需要使用抠图软件手动抠图了(但由于是动画 可能有几十帧,几十张图片手动抠图工作量超超巨大,抠图水平不够的话,可能抠的图效果还不好)
宠物需要的动画素材。
最基本的动画是:
站立、奔跑、行走(奔跑后逐渐停下时调用)。有这三个动画 最简单的宠物就OK了,甚至你偷懒一些的话 奔跑和行走用同样的动画都行,还可以有的动画是:随机动画(可以多个,不定时调用,一般用于卖萌之类)、叫名字动画(给宠物起名后 回车输入他的名字 调用的动画)、技能动画(可以2个按下宠物技能键时调用的动画)
我提供一个下载街机游戏的gif网站,拳皇97 三国战纪 恐龙快打 合金弹头都有。里面都是透明背景的GIF,只需要分解成png就行了
点进去之后是这样的

鼠标悬停预览的效果是这样的,用网页翻译也行。

里面的也就是点点按钮就能看到效果图了,也好好的分类了,需要什么样的动画就下载他的gif我以 拳皇97-八神庵 当例子

下载的话也很简单,右键另存为,选好一个文件夹 统一存放素材 方便以后查找



处理素材时,等待时间可以用来弄后面的PVF文件,我这里就不说了。

下一步:把GIF分解成png格式的序列帧
gif分解成png网上有很多软件,效果很不错的,而我找到了几个开源的e源码,但是分解出来的效果都不太好,所以就不提供软件了我这里给你们讲利用PS分解gif为png的方法,也很简单,照着点就是了。

1.首先用PS打开gif图片,拖拽或者菜单打开选择文件 都可以

2.选择将图层导出到文件 的工具

3.按照我图上的 这样选。箭头的文件夹 要你自己找的到(建议单独建一个文件夹 方便后续操作),文件名前缀 你自己认得就行
因为打开的gif默认只有第1帧是可见的,所以不要勾仅限可见图层,制作NPK需要的是png格式的 所以选png,24是颜色位,越高色彩越逼真,选24的就行了,透明区域一定要勾,不然做什么宠物!裁切图层不要勾,因为之后还要整体调整坐标,裁切了多余的会导致坐标混乱,然后点运行,根据gif的大小帧数和电脑配置 可能需要一会会 几秒~1分钟,也不会太久,因为能看到PS的处理过程。


关闭处理好的这个gif文件,然后重复上面的操作,把下载的gif素材全部分解为png格式图片。


校对统一图片坐标
当我们把对应素材分解成png,还需要对素材坐标统一,因为多张gif中 八神庵的位置可能不统一,如果本身坐标就是统一的话(就不用调整了)
不调整坐标 会出现播放动画时 八神庵 会瞬移后播放 播放完毕瞬移回去 的这种情况 到时再修复就麻烦得多了如图,这是 站立和奔跑的两张gif的坐标相关位置
因为gif图片宽高的原因 所以坐标会不正确。

(当然这里不统一坐标的话,后续要在ani或者img里面调一般来说要上游戏 这就不好批量和撤销了,所以我选择在素材这一步 调坐标的好)最好一次把素材收集完毕,虽然后面也能加 但是会麻烦些。

怎么对素材调整坐标呢?还是用PS,也是比较初级的应用:就是将之前分解好的png又导回到PS里面 对其坐标处理
(PS没法对照调整gif的坐标然后还保存成gif动图。单独保存为动图gif可以,单独调整坐标也可以。但是两者合在一起就不行。)

使用将文件载入堆栈,导入png当做图层

选择之前我们分解png存放的那个文件夹
勾上尝试自动对齐
不要勾创建智能对象
然后点确定。过程会很漫长,图片大或者png帧数很多的话,5~10分钟都有的,
期间PS都有动作,不要强行操作它,去泡杯茶 水个群耐心等待操作完毕

全部导进来 会是这样的。尬,坐标完全不正确嘛

这里给个个相同动作的png分组,方便后面自己知道那些图层是那些动画里面的。(名字 自己能区分就行)

都分好组以后,把站立的图层组放到最底层当做基准,把可见全关了,只保留站立的

然后从下往上,对一整个组 调整坐标

这里需要 对随机1这个图层组 调整坐标,用shift加鼠标选择 整个组里面的图层,把它们的可见打开,把他们的不透明度 调低一些,能看到站立的那张图片就行。

然后选择移动工具 以站立的那张图片为基准 调整随机1图层的位置 使其和站立在同一个位置上  不发生瞬移等

然后这里发现  八神的头 已经超出画布了。还得扩大画布 才能显示完全
图像-画布大小,
宽高填个200,大一些没关系 之后裁就行
勾上相对,
定位为中间不用改  点确定

效果是这样了  八神的头显示好了。

然后重复以上几步,将各个图层组的图层坐标 都调整到同一位置,记得把所有图层的可见都打开,把不透明度 还原为100%,然后 对太大的画布 裁剪

选择裁剪工具,然后她会自动吸附。注意看了(一定要显示所有图层 免得裁多了)
别把八神给裁了。宁可少裁也不能多裁

剪裁后,效果挺不错的,然后把图层都导出来,文件-图层-图层导出到文件。

文件夹 存成和分解出来的png不同的文件夹,文件名前缀 随便写,反正后续要对其批量重命名的,不要勾仅可见图层,因为要导出所有图层的类型选PNG24 ,勾上透明区域 其他两个别勾把  然后 点运行,这个过程可能很漫长,十多分钟都有的,慢慢等吧...

都导出后是这样的,都是逆序的确认没问题之后 把PS关闭(记得存份PSD格式素材)

可以用windows的递减显示为正序  批量重命名软件下载,也可以用文件批量改名 改成正序的(顺序关键在你是框选后按住哪个文件拖拽进入软件,增量可以填负数)
EX工具需要的是编号从0开始的文件名。后缀名为png的这样文件  所以我们批量改成这样
要按照一定的顺序 给这些png编号

我的话 是按站立行走奔跑 这种顺序

每次改名后 要右键列表 清空在进行下一步 且 注意增量(不要重复)

设置自动预览 预览全部

右键清空

重命名后的文件成这样了,之后就是制作NPK了和编写ANI了

哇 我的内容啊,丢了。重新码字先去客户端里面 随便找一个NPK,复制粘贴一份
然后打开

台服只能识别V2版本的img(img名字前面图标是白色的),V4V5V6统统不认(图标绿蓝黄)
我们这里看到这个img是白色的V2,没问题,如果有很多img的话
在左边的IMG框右键 全部勾选,取消其中一个的勾选,只留一个img就行了
其他的全部删除,节省空间
删除之后 还是右键 对仅剩的这个img重命名

蓝色选择部分是我们能改的,前面那个sprite/是固定的前缀 不能动
这个文件名,其实是他的全路径名(img),

为了保持与我做的其他宠物一致,我把他重命名成 八神庵bashenan.img,确定
前面的是我之前做的IMG里面的路径,这个路径只要你知道就行了

然后我们发现,随便找的IMG里面只有一张贴图,那我们就需要新增贴图,在中上方的框 右键,选择增加新贴图

我们八神庵分解对好坐标 一共有120张
这个img已经有1张,还需要119张。我这里增加120张,额外加一张
额外加的这张是用来做宠物的图标的

这样以后 有121张图片了,我们需要勾选其中前120张 替换成八神庵的图片
右键全部勾选,然后对最后一张 取消勾选

然后还是右键 选替换贴图

弹出这个界面  我们要批量替换 所以要这么做
先把修改本IMG内的勾选资源 勾上
再点击 编辑框 这样就是选择文件夹,而不是选择图片了
文件夹 选择到之前导出的 对好坐标的那个png文件夹
(保证 其中的文件名是0.png-199.png共120个文件 这样EX才能正确导入到勾选的那120张)
然后色位  选32位,效果最好,所占空间会稍大一些。大就大点,宠物嘛 好看才是主要的
替换选项,不要勾修正坐标和裁剪透明边界
勾上扩大帧域宽高(其实不勾也没事 帧域宽高完全无用的)
然后点确定

导入成功后是这样的(失败的话自行回去看教程排查原因)
确保这里坐标是统一的0,0(就是之前让你们取消修正坐标值),
如果不是0,0,那全部勾选  修改贴图坐标,统一改成0,0
可以勾选动画播放 ,看一下效果。其中可能有几张图片效果并不好,那就回PS打开PSD格式素材再次处理
因为是DIY的宠物 没有宠物的图标,没关系,我们利用QQ截图做一张就行
图标的大小是28X28方形 QQ截图 直接截EX里面的就行 保存为png格式

然后还是替换,这次选替换选定的资源(我之前额外增加的哪最后一张)
选的就是图片了,替换进去就行了(依然要保证坐标是0,0)


效果还行的话  至此IMG制作完毕  可以点击EX的关闭文件  了
然后为了规范,我们把NPK的文件名也改了,方便以后查找

这个是我们img的文件名 sprite/creature/luanru/bashenan.img
(宠物八神庵)sprite_creature_luanru.NPK
上面红色部分,就是把img的文件名的红字路径(把/替换成_)然后替换成NPK的文件名中红字
然后手动给NPK前面加上括号和中文注释,方便后面查找
外部工作都做完了 该到PVF文件了


有现成NPK素材 直接到这一步
推荐先写cre文件,在写equ文件。
宠物(cre)
宠物文件,宠物说明、调用什么动画和技能等都在这里写
推荐直接复制一份已有的宠物cre文件夹(防止漏东西),然后重命名,更改其中内容,然后重新写lst就行了。画框的ani文件夹要有,cre也最好改下名,他们的上级文件夹也是 只要你记得就好


释放技能的部分暂时不讲 因为要涉及到obj会写的自然就会了
下面我给出了定义,一般就改这些就行了
[name]宠物名字
[basic motion]站立动画 下面填ani路径文件名 下同
[walk motion]行走动画 奔跑时停下来也调用这个
[run motion]奔跑动画
[response motion]叫他名字时 互动动画
[random motion]随机动画标志 可以写多个
        `Animation/zhaojingzi.ani`
        `Animation/tiannvsanhua.ani`
[/random motion]随机动画结束标志


技能名字 技能说明


都改好之后 去写lst,creature/creature.lst
路径一定要对,lst里面的路径就是我选择的这部分,

然后前后加上`这个符号,确保引用正确。
我这里给这个cre文件的编号是23307.之后equ内要引用这个编号
新版Utility 引用正确会自动取出name下的名字很直观


编号一定不能重复

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

[icon]宠物的那个物品图标 也是在equ这里写  还是我自己建的那个img,贴图是我自己QQ截图的,编号是120
顺便核对引用的cre编号对了没



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

都改好之后 去写lst,equipment/equipment.lst路径一定要对,lst里面的路径就是我选择的这部分,

然后前后加上`这个符号,确保引用正确。
我这里接着以前的编号 给他编号为370007
新版Utility 引用正确会自动取出name下的名字很直观


编号一定不能重复

可以用Utility的工具检查一下。
保存文件后 对着lst文件右键 选择lst检查工具(“”不能识别 所以报不存在)

确定没问题之后,可以先保存到PVF跑五国,因为后面的东西不需要跑五国就能改




cre和equ弄好之后,就是弄ANI了
ANI动画文件
因为我们是复制的一个宠物,所以他自带了ani文件夹,
如果没有这个文件夹和文件,去别的宠物里面 复制一份改下名就好
ani的文件名 要和cre里面的一致 且路径格式要正确我是把他们改成拼音了,用英文也行 看得懂就行了


然后我们从第一个动画 站立的动画开始改
打开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就行,
黑框起来的就是独立的一帧需要的东西,要多加几帧,就是把整个黑框的内容复制粘贴就行了

我们要做的就是把
[IMAGE]下 img和贴图编号改了
Ctrl+H打开替换窗口
把原来的IMG  Creature/Luanru/Diaochan.img
替换成成        creature/luanru/bashenan.img
大小写无所谓的。因为本来前后都有``了 所以不用额外加 点全部替换

如果帧数不够 就手动把黑框内容复制粘贴 凑够帧数
我们八神是0-8帧 是站立动画
而原文件只有0-4帧,那我们还要额外复制增加5678这几帧

第8帧截不下了  知道有就好
因为img我们已经替换好了,粘贴来的黑框内容 只需要改紫色箭头指的数字
[FRAME004]这个之后保存时会自动编号

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


作用是 无阴影,因为宠物调影子很麻烦的,新手干脆不做了,可以省很多事
这样一个动画就做好了,保存,
之前在PS内统一坐标的优势就显现出来了,一帧的坐标调好,那全部动画的坐标都正确
所以 我们做好一个动画就可以上游戏看效果(看坐标位置),开始调坐标
(记得把NPK放进客户端)由于我们没有设计获取方式,所以用GM工具发邮件(记得发宠物邮件 普通邮件是不行的)
这里就可以看到我们之前写的东西了。

然后装上宠物 开始调整坐标,坐标可能会很离谱,
所以找个宽敞的地方,城镇不够宽敞去副本里面
调整坐标时  是以角色面向右时 宠物的位置为准
我是写了站立的动画,所以宠物站立时 是我写的动画,走路时还是原来宠物的动画(复制粘贴没改过)

然后大概以宠物的某一个点当基准,然后把这个点调到合适的位置
我这里以八神脚下中心点为基准,移动到的位置是人物身后一个点
然后两点画一个框,然后用QQ截图或者别的东西 确定这个框的长宽
我这里确定了 是宽35 高116
我们要把八神 往左上方移动,
左是减,右是加
上是减,下是加
所以坐标调整 X需要-35  Y需要-116
这个修正值,可以在img里面调,也可以在ANI里面调
这里我以在ANI里面 调整 示范

原来的坐标是X0 Y0
调整0-35=-35, 0-116=-115(就是数学运算)
-35 -116填进去,

然后用替换 把这个ANI里的原来的坐标都调整成这个值

然后下号 保存PVF 重新上游戏
看 位置差不多了吧。位置合适了 就可以写别的ANI了


依序打开奔跑的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里面调整就行了。

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

勇士!今天也是充满希望的一天哦~!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|DNF阿拉德游戏论坛 ( 渝ICP备13007431号1 )

GMT+8, 2024-4-23 21:56 , Processed in 0.148009 second(s), 34 queries .

快速回复 返回顶部 返回列表

阿拉德大陆的勇士们!今天也会是充满希望的一天!