分析到这里,应该有个定论了,把这4080个字节转换成经典的obj格式
0x0000030C 4080 items第1个数据, float数据组 0x0000844 BE 转 LE 0x44080000 计算float 544 V-x 顶点坐标
0x00000310 4080 items第2个数据, float数据组 0x0009E42 BE 转 LE 0x429E0000 计算float 79 V-y 顶点坐标
0x00000314 4080 items第3个数据, float数据组 0x0000000 BE 转 LE 0x00000000 计算float 0 V-z 顶点坐标
0x00000318 4080 items第4个数据, float数据组 0x000803A BE 转 LE 0x3A800000 计算float 0.0009765625 Vt-x 顶点坐标(贴图)
0x0000031C 4080 items第4个数据, float数据组 0x020B13A BE 转 LE 0x3AB12000 计算float 0.001351357 Vt-y 顶点坐标(贴图)
.
.
循环51次
输出到obj格式。如下
使用windows 10 自带的3dbuilder 查看一下
好像有点意思了。干脆上max贴图看一下
max 导出为fbx格式,使用windwos10 自带的3D 查看器观看,嘿嘿,是那么个样子
ok,碧蓝航线的立绘加载原理应该就是这样了。下一步是把立绘提取出来。
这就是解包的贝尔法斯特的贴图,由于观看方便,解包的时候翻转了一次,现在我们把它翻回去,如下
这张加密图的分辨率是1024x740
根据前面解读的全宽全高896x1214,我们新建一个画布
我们看obj第一个贴图四边形数据和加密的分辨率 第1个vt坐标点:x 0.0009765625 x 1024=1 ,y 0.001351357 x 740=1 第2个vt坐标点:x 0.0009765625 x 1024=1 ,y 0.5202702 x 740=385 第3个vt坐标点:x 0.02822266 x 1024=289 ,y 0.5202702 x 740=385 第4个vt坐标点:x 0.02822266 x 1024=289 ,y 0.001351357 x 740=1