ryan_knight_12吧 关注:30,567贴子:2,389,338
  • 45回复贴,共1

【Bin编辑器器】地形贴图数据(不)全详解

只看楼主收藏回复


记录一下Bin修改器的贴图信息中,这64个数据对应的具体含义吧,网格信息都是实在的值,没有规律,就不整了。贴图信息中包含了很多关于贴图,水面 ,近景远景贴图相邻过渡等等信息。在韩服311地形编辑功能的帮助下,才算是能够找到其中规律,否则不同图层无法分离查看其中规律 。期待什么时候BIN可以直接拷贝韩服贴图网格数据,那也不需要一个个格子填数据这么麻烦了。


回复
1楼2020-05-04 10:01
    1.各地形对应贴图编号
    原版一共35个地形贴图,加上一幅全黑图36个
    各地形对应贴图编号大致如下
    草地:16,23,30,33;土:14,28,32;砂地:4,5;荒地:13,22,27;主径、栈道、渡所:34,35;浅滩:1,6;湿地:10,11,25;森:16,24,30,31;川河海:1;毒泉:2;岸:3,6,7,9,18,19;崖:7,8,9,12,17,18,19,20,21,23,24,26;城:15,29;港:3;关所:9,14,28;小径:21,22,23
    附上测试过程中修改的地形,阳平关-剑阁地段;消除方块格,不同贴图之间过渡,都在测试中慢慢总结出来。


    收起回复
    2楼2020-05-04 10:25
      草地四种贴图,哪种是冬天变白色的呢


      收起回复
      来自Android客户端3楼2020-05-04 10:30
        2. 16行8列数据各自含义

        一共16行数据,近景每行代表一个小格子,每个坐标4X4个近景贴图;远景每个坐标只有2X2个贴图。
        根据韩版来看,每个格子可以有四个图层,一般三个足够用了,第四层对应的数据暂时没有总结。
        。。第一列:a=16A(+1或+5-8)
        第一列数据一般为16的倍数+1,即16A+1,代表图层1;16A+5则增加图层2;16A+8增加图层3
        。。第二列:b=60-62,124-126,188-190,252-254
        第二列数据和图层1,图层2相关,B=1+16(b-60),b对应的数值中,60=124=188=252,即后面的数据计算可视为60-62
        A+B=图层1贴图编号,后面也有显示图片编号

        这里第一行1,2数据209,61;209=16*13+1,A=13;B=1+16(61-60)=17;A+B=30,对应图片30,是草地的贴图


        回复
        4楼2020-05-04 10:50
          。。。第三列:16-24,32-40,48-56,64-72,80-88,96-104,112-120,128-136,144-152,160-168,176-184,192-200,208-216,224-232
          第三列数据和格子里图层2的贴图位置相关,同时,和b共同决定图层2的贴图种类。
          图层2:(第一列:a=16A+5)

          可以看到,这里就不是计算得到贴图,而是一一对应,同样的,32-40=16-24,后面都一样,b不同的数据和贴图有关,第三列不同的数值,是和图层二贴图所在位置有关,也就是贴图的渐变方向。贴图的渐变做的好坏,关系到贴图会不会看着全是方块格子,或者可以过渡得很自然。
          16-24:右下;32-40:左下;48-56:下方(右下左下);64-72:右上;80-88:右方:96-104:右上左下;112-120右上右下左下;128-136:左上;144-152:左上右下;160-168:左方;176-184:左上右下左下;192-200:上方;208-216:左上右上右下;224-232:左上右上左下

          如这里的格子,第二行数据对应第一列第二行的格子,189和216(等同于24)决定对应的贴图编号是35,主径的贴图。216属于208-216,贴图的位置是左上右上右下,因此图层二的贴图会有右上左下过渡的感觉。

          左下是图层1土的贴图,也就是28。


          回复
          5楼2020-05-04 12:09
            。。。第四列:0-35,64-99,128-163,(192-227用处应该不大)
            第四列数据和图层3贴图相关,这里数据0-35对应的贴图编号就是1-36,后面数据同理。
            同时需要注意的是,第一列数据是16A+8才开启图层3。另外还有一点,高图层贴图的编号必须大于低图层,比如图层1:21,图层2:30,图层3:35,高图层贴图编号小于低图层则不会显示。因此做多贴图渐变的时候需要注意哪个在最底下。
            。。。第五列(远景第一列):1,2(已知);3,100+(未知)
            第五列数据虽然在远景,但是是和近景图层3的位置相关,1表示右上,2表示左上;那么右下左下呢,和第四列数据相关。第四列数据 0-35无具体位置,64-99右下,128-163左下,配合第五列数据可以实现右方,左方,右上左下,左上右下等。


            回复
            6楼2020-05-04 12:20
              。。。第六列:(1,2,4,8用处不明),16-255
              第六列主要是和水面高度有关。有效范围是16-255,游戏里大部分江面取值为176。
              。。。第七列:c=64C(+19)
              第七列数据主要为64的倍数,和远景图层贴图有关。在64倍数的基础上+19,则可以把设置好的水面变成毒泉
              。。。第八列:d=16-24,32-40,48-56,64-72,80-88,96-104,112-120,128-136,144-152,160-168,176-184,192-200,208-216,224-232,240-248
              第八列数据和第三列基本一致,多一组240-248,代表格子完全填充,其余和第三列一样。
              D=1+4(d-16)(后面几组数据同样和第一组一一对应);C+D=各图层贴图编号
              远景和近景不同,只有2X2个格子贴图,四层数据对应一个图层。图层1:1,3,9,11;图层2:5,7,13,15;图层3:2,4,10,12;图层4:6,8,14,16
              远景的渐变比近景的方便一些,因为各图层的数据都是分开的。
              至此,绝大部分数据都讲完了,还有些极少数的数据一般用不到,这些已知的数据足够把贴图做到较为完美了。最后,还是希望我的总结能早日白费,那样说明修改变得简单了。


              回复
              7楼2020-05-04 12:34
                你把8个字节理解成一个64位的整体就行。


                从低到高,第1位单独是一个数据(都是1),第2位单独是一个数据(99.99%都是0),第3~4位是融合贴图数量(最多融合3个贴图),
                第5~10位是该格子的近景贴图图片号,第11~14位决定格子近景4个角是否趋近白亮,
                第15~20位是该格子第一个融合的近景贴图图片号,第21~24位决定格子4个角是否融合该贴图,
                第25~30位是第二个融合的近景贴图,第31~34位决定4个角是否融合该贴图,
                第35~40位是第三个融合的近景贴图,第41~44位决定4个角是否融合该贴图。


                第45~52位决定【水流\毒泉】动画高度,第53位决定(0水,1毒泉),
                54位不明,都是0
                55~60位远景贴图,61~64位决定4个角趋近白亮
                下一列(+0x2000),第55~60位远景融合贴图,61~64位决定四个角是否融合
                下一行(+0x0008),第55~60位远景融合贴图,61~64位决定四个角是否融合
                下一行列(+0x2008),第55~60位远景融合贴图,61~64位决定四个角是否融合


                回复
                8楼2020-05-04 13:34
                  附1025*1025 的端点信息数据结构说明,
                  每个端点8字节,+0高度,+1~3颜色,
                  +4~6三个字节各代表三个数据,在内存中是载入浮点数运算器,先自身乘2,再除以255再减去1,得到的结果是法线的单位向量。
                  +7是这个端点的贴图图片号,该数据仅供参考,不会影响游戏图形,光荣制作游戏时根据这个1025*1025的贴图序号阵列生成1024*1024*8的贴图数据。


                  收起回复
                  9楼2020-05-04 13:37


                    回复
                    来自Android客户端10楼2020-05-04 14:07
                      看不懂啊,只能等你们做好新地图拿来玩了


                      回复
                      来自Android客户端12楼2020-05-04 14:42
                        感谢大佬提供数据!!!


                        回复
                        来自Android客户端13楼2020-05-08 20:57
                          只看懂了2楼。


                          收起回复
                          14楼2020-05-10 03:25


                            回复
                            来自Android客户端15楼2020-05-11 03:45