dnf台服吧 发表于 2020-3-18 12:38:50

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



更新说明:
软件为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模式判断参数:
#PVF_File
PVF文件头

AI模式
`is target in attack area()`100.0100.0   40.0    40.0   
判断【目标在不在这个小区域内?】
`get random()`0.0    100.0   
目标在小区域内,则【从0-100取随机数】
    `<=`15   
    判断【随机数是不是0-15范围内?】
    `is the skill in cooltime()`8   
    随机数在0-15范围内,则【8号技能是否在冷却中?】
          -1
          随机数在0-15范围内,且8号技能在冷却中无法使用,则返回-1空值 不做任何事
          8
          随机数在0-15范围内,且8号技能冷却完毕可以使用,则返回8 使用8号技能
         
          判断【8号技能】完毕
    `<=`30   
    判断【随机数是不是15-30范围内?】
             `is the skill in cooltime()`9   
             随机数在15-30范围内,则【9号技能是否在冷却中?】
                   -1
                   随机数在15-30范围内,且9号技能在冷却中无法使用,则返回-1空值 不做任何事
                   9
                   随机数在15-30范围内,且9号技能冷却完毕可以使用,则返回9 使用9号技能
                  
                   判断【9号技能】完毕
             `<=`45   
             判断【随机数是不是30-45范围内?】
                  `is the skill in cooltime()`0   
                  随机数在30-45范围内,则【0号技能是否在冷却中?】
                        -1
                        随机数在30-45范围内,且0号技能在冷却中无法使用,则返回-1空值 不做任何事
                        0
                        随机数在30-45范围内,且0号技能冷却完毕可以使用,则返回0 使用0号技能
                        
                        判断【0号技能】完毕
                  `<=`60   
                  判断【随机数是不是45-60范围内?】
                           `is the skill in cooltime()`1
                           随机数在45-60范围内,则【1号技能是否在冷却中?】
                                 -1   
                                 随机数在45-60范围内,且1号技能在冷却中无法使用,则返回-1空值 不做任何事
                                 1   
                                 随机数在45-60范围内,且1号技能冷却完毕可以使用,则返回1 使用1号技能
                                 
                                 判断【1号技能】完毕
                           `<=`75
                           判断【随机数是不是60-75范围内?】
                                  `is the skill in cooltime()`2
                                  随机数在60-75范围内,则【2号技能是否在冷却中?】
                                        -1   
                                        随机数在60-75范围内,且2号技能在冷却中无法使用,则返回-1空值 不做任何事
                                        2   
                                        随机数在60-75范围内,且2号技能冷却完毕可以使用,则返回2 使用2号技能
                                       
                                        判断【2号技能】完毕
                                  `<=`100
                                  判断【随机数是不是75-100范围内?】
                                       `is the skill in cooltime()`3   
                                       随机数在75-100范围内,则【3号技能是否在冷却中?】
                                             -1
                                             随机数在75-100范围内,且3号技能在冷却中无法使用,则返回-1空值 不做任何事
                                             3
                                             随机数在75-100范围内,且3号技能冷却完毕可以使用,则返回3 使用3号技能
                                             
                                             判断【3号技能】完毕
                                       -1
                                       随机数大于100,则返回-1空值 不做任何事
                                       
                                       判断【75-100】完毕
                                 
                                  判断【60-75】完毕
                           
                           判断【45-60】完毕
                  
                  判断【30-45】完毕
            
             判断【15-30】完毕
      
      判断【0-15】完毕
   
   取【随机数】完毕
`is target in attack area()`200.0   200.0   110.0   110.0   
目标不在小区域内,则判断【目标在不在这个大区域内?】
       `get random()`0.0 100.0   
       目标在大区域内,则【从0-100取随机数】
          `<=`30
          判断【随机数是不是0-30范围内?】
             `is the skill in cooltime()`5   
             随机数在0-30范围内,则【5号技能是否在冷却中?】
                   -1
                   随机数在0-30范围内,且5号技能在冷却中无法使用,则返回-1空值 不做任何事
                   5
                   随机数在0-30范围内,且5号技能冷却完毕可以使用,则返回5 使用5号技能
                  
                   判断【5号技能】完毕
             `<=`60   
             判断【随机数是不是30-60范围内?】
                  `is the skill in cooltime()`10   
                  随机数在30-60范围内,则【10号技能是否在冷却中?】
                        -1
                        随机数在30-60范围内,且10号技能在冷却中无法使用,则返回-1空值 不做任何事
                        10
                        随机数在30-60范围内,且10号技能冷却完毕可以使用,则返回10 使用10号技能
                        
                        判断【10号技能】完毕
                  `<=`90   
                  判断【随机数是不是60-90范围内?】
                           `is the skill in cooltime()`12   
                           随机数在60-90范围内,则【12号技能是否在冷却中?】
                                 -1   
                                 随机数在60-90范围内,且12号技能在冷却中无法使用,则返回-1空值 不做任何事
                                 12
                                 随机数在60-90范围内,且12号技能冷却完毕可以使用,则返回12 使用12号技能
                                 
                                 判断【12号技能】完毕
                           -1   
                           随机数大于90,则返回-1空值 不做任何事
                           
                           判断【60-90】完毕
                  
                  判断【30-60】完毕
            
             判断【0-30】完毕
      
       取【随机数】完毕
`is target in attack area()`300.0   300.0   210.0   210.0   
目标不在大区域内,则判断【目标在不在这个更大的区域内?】
       `get random()`0.0 100.0   
       目标在更大的区域内,则【从0-100取随机数】
   `<=`50
   判断【随机数是不是0-50范围内?】
             `is the skill in cooltime()`11
             随机数在0-50范围内,则【11号技能是否在冷却中?】
                   -1
                   随机数在0-50范围内,且11号技能在冷却中无法使用,则返回-1空值 不做任何事
                   11   
                   随机数在0-50范围内,且11号技能冷却完毕可以使用,则返回11 使用11号技能
                  
                   判断【11号技能】完毕
             `<=`99   
             判断【随机数是不是50-99范围内?】
                  `is the skill in cooltime()`4   
                  随机数在50-99范围内,则【4号技能是否在冷却中?】
                        -1
                        随机数在50-99范围内,且4号技能在冷却中无法使用,则返回-1空值 不做任何事
                        4
                        随机数在50-99范围内,且4号技能冷却完毕可以使用,则返回4 使用4号技能
                        
                        判断【4号技能】完毕
                  -1   
                  随机数大于99,则返回-1空值 不做任何事
                  
                  判断【50-99】完毕
            
             判断【0-50】完毕
      
       取【随机数】完毕
-1   
目标不在更大的区域内,则返回-1空值 不做任何事

判断【更大的区域】完毕

判断【大区域】完毕

判断【小区域】完毕

AI模式完毕

下载地址:**** Hidden Message *****

相关工具集:
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音频补丁制作工具

x25533321 发表于 2020-3-18 16:43:08

支持支持

a1021237303 发表于 2020-3-20 21:40:45

定是顶顶顶顶

凯凡魔改学习者. 发表于 2020-3-21 00:48:21

sad撒多撒所多撒

DOFXXX 发表于 2020-3-28 13:21:35

111111111111111111111111111

functioncs 发表于 2020-4-15 13:46:22

来看看,特地花钱注册了的

奥拉迪 发表于 2020-4-15 14:36:30

66666666666666666666666666666666

wklemonly 发表于 2020-4-18 07:47:28

好东西好东西啊,绝对的好东西,支持支持.

1205865709@Qq.c 发表于 2020-4-19 00:10:12

看看咋样啊哈哈哈哈哈
页: [1]
查看完整版本: DNF梦太晓Ani文件可视化编辑工具(含:NPK文件批量转V2版)