DNF阿拉德游戏论坛

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

[工具] DNF梦太晓Ani文件可视化编辑工具(含:NPK文件批量转V2版)

  [复制链接]

签到天数: 42 天

[LV.5]阿拉德勇士

1165

主题

1501

帖子

7万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
73332
怒气
65150
声望
2665
战力
1166

活跃会员灌水之王游戏爱好者阿拉德最佳作者阿拉德勇士战斗法师DOF玩家佛系DNF玩家

跳转到指定楼层
楼主
发表于 2020-3-18 12:38:50 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式


更新说明:
软件为Rs组开源工具修改而来,得到了若言anitool源码的帮助 梦太晓制作
点击链接加入群聊【梦太晓的dnf交流群】:https://jq.qq.com/?_wv=1027&k=5uer9Ks (群号820771750)
群主年费超会到期了,普通超会都不备2000人群资格固加不了群啦,私聊我也没用。…

v0.5更新 2019年4月25日
        1.修复V5转换效果很丑的问题(颜色索引和透明度错误)
        2.去除部分测试时的预置内容
        3.修复BOX的原点默认显示
        4.(待后续添加,导出时按照实际坐标填充透明像素)

v0.39更新 2019年4月20日
        1.修复部分NPK转版本会报错误
        2.推荐不要使用多线程(并不会快)
        3.已测试完整的转国服imagepacks2 6653个NPK 10G需要6小时 转换完毕14.2G
        4.V5转换的效果较差 效率较慢,待后续参考恋恋兔子的C艹源码优化
        5.优化拖拽时编辑框的路径处理方式

v0.31更新 2019年4月16日
        1.支持V5的识别
        2.更换了底层写法,部分功能失效
        3.ani的编写选项卡中新增修正坐标,可在按钮处右键,将剪辑版中的ani的每一帧都加上某条标签(霸体等)
        4.增加快速生成文件功能:可快速生成obj文件(mob待完善)
        5.增加导出功能:包括以下功能 均可批量(可选保留全路径,生成txt文件记录)
                从NPK导出IMG(可选保留全路径)
                从IMG导出PNG
                从NPK导出PNG(可选保留全路径)
               
                PNG合并为IMG(若有全路径txt则一并复制到IMG目录)
                IMG合并为NPK(若有全路径txt则完美还原)
               
                V4/5/6版本的IMG直接转为V2(直接NPK转至NPK)
               
                NPK合并为NPK(支持是否启用自定义分隔符)
        6.启动时QQ群验证成功后会生成配置文件,不丢失则不需要重新验证
        7.列表框下增加定位img功能

v0.2更新支持
        识别索引型贴图
        识别v4 v6,v5暂时不能识别
        可以识别并打开img文件
        添加IMG查找NPK(使用数据库,第一次释放空数据库文件 重建数据库需要5分钟,一次建立,之后都是秒出结果)。
        并提供文件定位。右键NPK列表框 在资源管理器中显示NPK。双击NPK编辑框也行
        新增识别ANI延迟 来播放动画
        新增ANI编写功能,常用功能均可找到,可以根据模板帧生成多帧信息(可倒序)
        增加支持两个框
        修复已知BUG

工具使用说明:
NPK打开方式:打开、拖拽、识别ani按钮(自动寻找)
        IMG列表框:右键复制文件名,可自动去sp/后到剪辑板
        显示的图片 就是新加一个动画物体。下面所述物体=图片
物体
        图片列表框:右键创建不销毁物体
        右键移动选择框:销毁所有物体
        勾选移动选择框后:
                左键显示物体信息
                左键拖拽改变物体位置(实时显示信息)
                右键销毁鼠标处物体(最顶层的一个)
                滚轮滚动缩放大小
                方向键↑↓调整物体层次
                方向键←水平翻转
                方向键→垂直翻转
                双击获取当前位置-实际坐标的值
绘制
        勾选绘制选择框:
                (正确的框画法:
                        原点在对象脚下
                        XY平面的中心为原点
                        XY平面与原点在同一高度
                        实际Z起点由下坐标确定,高度由长度决定)
                左键拖拽画框(Z轴支持↓画或↑画)
                右键撤销一步
        勾选二框选择框:同上
微调
        选择对象组合框:选取操作对象
        点击微调按钮后:方向键调整对象位置/大小
        右键微调按钮:切换模式 调整位置/调整大小
单击识别ani按钮:
        获取剪辑板内容,识别img`判断NPK,
        完全匹配时自动打开
        未能完全匹配到时,提示模糊匹配(NPK文件名含括号 中英文等字符)
        当模糊匹配结果为1时自动打开
        模糊匹配结果大于1时,加入列表框待选
        打开后自动选择相应img
ANI操作 窗口
        识别ani后列表框自动识别多种信息并标识,并创建不销毁物体
        勾选播放选择框:根据识别到的延迟内容播放ani动画
        选择帧列表框项目,查看相应帧信息
切换选择夹
        右边是模板编辑框,生成的ani均以模板为标准(img 坐标 延迟等)
        ani编辑各种按钮:将按钮文字插入模板编辑框/输出编辑框
        攻击框受伤框的数据来源可选框1/框2
        生成ani时支持 要几帧/到哪帧(起始帧号在模板编辑框中),支持倒序(-5=倒序生成5帧,到哪帧小于起始帧=倒序)
智能生成
        img=将当前选中的img
        起始帧输入值
        要几侦/到哪帧由单选框决定
        同样支持倒序


AI模式判断参数:
  1. #PVF_File
  2. PVF文件头
  3. [ai pattern]
  4. AI模式
  5. [think][void]`is target in attack area()`100.0  100.0   40.0    40.0   
  6. 判断【目标在不在这个小区域内?】
  7. [true][think][void]`get random()`0.0    100.0   
  8. 目标在小区域内,则【从0-100取随机数】
  9.     [think][last result]`<=`15   
  10.     判断【随机数是不是0-15范围内?】
  11.     [true][think][void]`is the skill in cooltime()`8   
  12.     随机数在0-15范围内,则【8号技能是否在冷却中?】
  13.           [true][return]-1  
  14.           随机数在0-15范围内,且8号技能在冷却中无法使用,则返回-1空值 不做任何事
  15.           [false][return]8  
  16.           随机数在0-15范围内,且8号技能冷却完毕可以使用,则返回8 使用8号技能
  17.           [/think]
  18.           判断【8号技能】完毕
  19.     [false][think][last result]`<=`30   
  20.     判断【随机数是不是15-30范围内?】
  21.              [true][think][void]`is the skill in cooltime()`9   
  22.              随机数在15-30范围内,则【9号技能是否在冷却中?】
  23.                    [true][return]-1
  24.                    随机数在15-30范围内,且9号技能在冷却中无法使用,则返回-1空值 不做任何事
  25.                    [false][return]9
  26.                    随机数在15-30范围内,且9号技能冷却完毕可以使用,则返回9 使用9号技能
  27.                    [/think]
  28.                    判断【9号技能】完毕
  29.              [false][think][last result]`<=`45   
  30.              判断【随机数是不是30-45范围内?】
  31.                     [true][think][void]`is the skill in cooltime()`0   
  32.                     随机数在30-45范围内,则【0号技能是否在冷却中?】
  33.                           [true][return]-1  
  34.                           随机数在30-45范围内,且0号技能在冷却中无法使用,则返回-1空值 不做任何事
  35.                           [false][return]0  
  36.                           随机数在30-45范围内,且0号技能冷却完毕可以使用,则返回0 使用0号技能
  37.                           [/think]
  38.                           判断【0号技能】完毕
  39.                     [false][think][last result]`<=`60   
  40.                     判断【随机数是不是45-60范围内?】
  41.                            [true][think][void]`is the skill in cooltime()`1
  42.                            随机数在45-60范围内,则【1号技能是否在冷却中?】
  43.                                  [true][return]-1   
  44.                                  随机数在45-60范围内,且1号技能在冷却中无法使用,则返回-1空值 不做任何事
  45.                                  [false][return]1   
  46.                                  随机数在45-60范围内,且1号技能冷却完毕可以使用,则返回1 使用1号技能
  47.                                  [/think]
  48.                                  判断【1号技能】完毕
  49.                            [false][think][last result]`<=`75
  50.                            判断【随机数是不是60-75范围内?】
  51.                                   [true][think][void]`is the skill in cooltime()`2  
  52.                                   随机数在60-75范围内,则【2号技能是否在冷却中?】
  53.                                         [true][return]-1   
  54.                                         随机数在60-75范围内,且2号技能在冷却中无法使用,则返回-1空值 不做任何事
  55.                                         [false][return]2   
  56.                                         随机数在60-75范围内,且2号技能冷却完毕可以使用,则返回2 使用2号技能
  57.                                         [/think]
  58.                                         判断【2号技能】完毕
  59.                                   [false][think][last result]`<=`100
  60.                                   判断【随机数是不是75-100范围内?】
  61.                                          [true][think][void]`is the skill in cooltime()`3   
  62.                                          随机数在75-100范围内,则【3号技能是否在冷却中?】
  63.                                                [true][return]-1
  64.                                                随机数在75-100范围内,且3号技能在冷却中无法使用,则返回-1空值 不做任何事
  65.                                                [false][return]3
  66.                                                随机数在75-100范围内,且3号技能冷却完毕可以使用,则返回3 使用3号技能
  67.                                                [/think]
  68.                                                判断【3号技能】完毕
  69.                                          [false][return]-1  
  70.                                          随机数大于100,则返回-1空值 不做任何事
  71.                                          [/think]
  72.                                          判断【75-100】完毕
  73.                                   [/think]
  74.                                   判断【60-75】完毕
  75.                            [/think]
  76.                            判断【45-60】完毕
  77.                     [/think]
  78.                     判断【30-45】完毕
  79.              [/think]
  80.              判断【15-30】完毕
  81.         [/think]
  82.         判断【0-15】完毕
  83.      [/think]
  84.      取【随机数】完毕
  85. [false][think][void]`is target in attack area()`200.0   200.0   110.0   110.0   
  86. 目标不在小区域内,则判断【目标在不在这个大区域内?】
  87.        [true][think][void]`get random()`0.0 100.0   
  88.        目标在大区域内,则【从0-100取随机数】
  89.           [think][last result]`<=`30
  90.           判断【随机数是不是0-30范围内?】
  91.              [true][think][void]`is the skill in cooltime()`5   
  92.              随机数在0-30范围内,则【5号技能是否在冷却中?】
  93.                    [true][return]-1
  94.                    随机数在0-30范围内,且5号技能在冷却中无法使用,则返回-1空值 不做任何事
  95.                    [false][return]5
  96.                    随机数在0-30范围内,且5号技能冷却完毕可以使用,则返回5 使用5号技能
  97.                    [/think]
  98.                    判断【5号技能】完毕
  99.              [false][think][last result]`<=`60   
  100.              判断【随机数是不是30-60范围内?】
  101.                     [true][think][void]`is the skill in cooltime()`10   
  102.                     随机数在30-60范围内,则【10号技能是否在冷却中?】
  103.                           [true][return]-1  
  104.                           随机数在30-60范围内,且10号技能在冷却中无法使用,则返回-1空值 不做任何事
  105.                           [false][return]10
  106.                           随机数在30-60范围内,且10号技能冷却完毕可以使用,则返回10 使用10号技能
  107.                           [/think]
  108.                           判断【10号技能】完毕
  109.                     [false][think][last result]`<=`90   
  110.                     判断【随机数是不是60-90范围内?】
  111.                            [true][think][void]`is the skill in cooltime()`12   
  112.                            随机数在60-90范围内,则【12号技能是否在冷却中?】
  113.                                  [true][return]-1   
  114.                                  随机数在60-90范围内,且12号技能在冷却中无法使用,则返回-1空值 不做任何事
  115.                                  [false][return]12  
  116.                                  随机数在60-90范围内,且12号技能冷却完毕可以使用,则返回12 使用12号技能
  117.                                  [/think]
  118.                                  判断【12号技能】完毕
  119.                            [false][return]-1   
  120.                            随机数大于90,则返回-1空值 不做任何事
  121.                            [/think]
  122.                            判断【60-90】完毕
  123.                     [/think]
  124.                     判断【30-60】完毕
  125.              [/think]
  126.              判断【0-30】完毕
  127.        [/think]
  128.        取【随机数】完毕
  129. [false][think][void]`is target in attack area()`300.0   300.0   210.0   210.0   
  130. 目标不在大区域内,则判断【目标在不在这个更大的区域内?】
  131.        [true][think][void]`get random()`0.0 100.0   
  132.        目标在更大的区域内,则【从0-100取随机数】
  133.      [think][last result]`<=`50  
  134.      判断【随机数是不是0-50范围内?】
  135.              [true][think][void]`is the skill in cooltime()`11  
  136.              随机数在0-50范围内,则【11号技能是否在冷却中?】
  137.                    [true][return]-1
  138.                    随机数在0-50范围内,且11号技能在冷却中无法使用,则返回-1空值 不做任何事
  139.                    [false][return]11   
  140.                    随机数在0-50范围内,且11号技能冷却完毕可以使用,则返回11 使用11号技能
  141.                    [/think]
  142.                    判断【11号技能】完毕
  143.              [false][think][last result]`<=`99   
  144.              判断【随机数是不是50-99范围内?】
  145.                     [true][think][void]`is the skill in cooltime()`4   
  146.                     随机数在50-99范围内,则【4号技能是否在冷却中?】
  147.                           [true][return]-1  
  148.                           随机数在50-99范围内,且4号技能在冷却中无法使用,则返回-1空值 不做任何事
  149.                           [false][return]4  
  150.                           随机数在50-99范围内,且4号技能冷却完毕可以使用,则返回4 使用4号技能
  151.                           [/think]
  152.                           判断【4号技能】完毕
  153.                     [false][return]-1   
  154.                     随机数大于99,则返回-1空值 不做任何事
  155.                     [/think]
  156.                     判断【50-99】完毕
  157.              [/think]
  158.              判断【0-50】完毕
  159.        [/think]
  160.        取【随机数】完毕
  161. [false][return]-1   
  162. 目标不在更大的区域内,则返回-1空值 不做任何事
  163. [/think]
  164. 判断【更大的区域】完毕
  165. [/think]
  166. 判断【大区域】完毕
  167. [/think]
  168. 判断【小区域】完毕
  169. [/ai pattern]
  170. AI模式完毕
复制代码


下载地址:
游客,如果您要查看本帖隐藏内容请回复


相关工具集:
1.DNF背景音乐快捷修改工具(by蓝白小熊)
2.恋恋のEx黑猫.3.1(当前最新版本):图形补丁制作提取工具
3.恋恋のEx兔子.5.3(当前最新版本)支持导入/导出ES代码
4.DNF单机梦太晓IMG查找工具(附:国服ImagePacks2自建数据库)
5.PVF可视化编辑工具:添加装备代码注释(by不可奈何的射手)
6.DNF在线换装试衣间:纸娃娃系统(avatar)在线搭配时装支持导入
7.恋恋のEx白猫.1.1(当前最新版本):DNF音频补丁制作工具

“今天也是充满希望的一天!”——赛丽亚
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。

签到天数: 4 天

[LV.2]初入阿拉德

0

主题

26

帖子

337

积分

阿拉德玩家

Rank: 3Rank: 3

积分
337
怒气
155
声望
75
战力
6
沙发
发表于 2020-3-18 16:43:08 | 只看该作者
支持支持
“锋利的刀刃让我兴奋。”——卡坤
回复

使用道具 举报

该用户从未签到

0

主题

15

帖子

61

积分

阿拉德菜鸟

Rank: 2

积分
61
怒气
11
声望
17
战力
1
板凳
发表于 2020-3-20 21:40:45 | 只看该作者
定是顶顶顶顶
来来,以钱赚钱啦!...
回复 支持 反对

使用道具 举报

该用户从未签到

0

主题

17

帖子

193

积分

阿拉德菜鸟

Rank: 2

积分
193
怒气
52
声望
58
战力
8
地板
发表于 2020-3-21 00:48:21 | 只看该作者
sad撒多撒所多撒
我的尼尔巴斯哥哥,你在哪?...
回复 支持 反对

使用道具 举报

该用户从未签到

1

主题

13

帖子

330

积分

阿拉德玩家

Rank: 3Rank: 3

积分
330
怒气
150
声望
82
战力
3
5#
发表于 2020-3-28 13:21:35 | 只看该作者
111111111111111111111111111
我是一位来自阿拉德大陆的勇士,嗯就这样...
回复 支持 反对

使用道具 举报

该用户从未签到

0

主题

3

帖子

41

积分

初入阿拉德

Rank: 1

积分
41
怒气
16
声望
11
战力
0
6#
发表于 2020-4-15 13:46:22 | 只看该作者
来看看,特地花钱注册了的
勇士!今天要不要充满?...
回复 支持 反对

使用道具 举报

签到天数: 49 天

[LV.5]阿拉德勇士

0

主题

31

帖子

796

积分

阿拉德勇士

Rank: 4

积分
796
怒气
265
声望
245
战力
10
7#
发表于 2020-4-15 14:36:30 | 只看该作者
66666666666666666666666666666666
该会员没有填写今日想说内容.
回复 支持 反对

使用道具 举报

签到天数: 1 天

[LV.1]无主之魂

0

主题

17

帖子

95

积分

阿拉德菜鸟

Rank: 2

积分
95
怒气
20
声望
29
战力
0
8#
发表于 2020-4-18 07:47:28 | 只看该作者
好东西好东西啊,绝对的好东西,支持支持.
“今天也是充满希望的一天!”——赛丽亚
回复 支持 反对

使用道具 举报

签到天数: 116 天

[LV.6]阿拉德英雄

1

主题

19

帖子

1020

积分

阿拉德英雄

Rank: 6Rank: 6

积分
1020
怒气
400
声望
299
战力
3
9#
发表于 2020-4-19 00:10:12 | 只看该作者
看看咋样啊哈哈哈哈哈
回复 支持 反对

使用道具 举报

签到天数: 9 天

[LV.3]阿拉德菜鸟

1

主题

22

帖子

217

积分

阿拉德玩家

Rank: 3Rank: 3

积分
217
怒气
85
声望
55
战力
0
10#
发表于 2020-5-5 01:03:04 | 只看该作者
哇哦!!!瞧一瞧 看一看
“今天也是充满希望的一天!”——赛丽亚
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-4-27 09:00 , Processed in 0.188664 second(s), 48 queries .

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

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