三国群英2吧 关注:42,861贴子:990,911

【修改】SHP文件的修改和偏移量的设置:基于SangoTool的教程

只看楼主收藏回复

一楼


IP属地:美国1楼2020-12-07 14:53回复
    为补全吧内修改区因被抽而丢失的修改基础贴,特补充此教程。传统的处理SHP文件的方式主要为RPGViewer和ShpFix,不过,由于新工具SangoTool的出现,本贴将改为以SangoTool为基础。在本贴的末尾,将介绍传统的使用RPGViewer的方法。
    SangoTool是由三国群英传吧现任吧主西凉之锦制作的一套造型制作工具。本贴将主要介绍其中的【图像工具】。该工具的威力不仅于此,对于【造型工具】,笔者将另外开贴介绍。
    SangoTool的下载地址见:https://tieba.baidu.com/p/5576686824
    以及三国群英传吧主吧原帖:https://tieba.baidu.com/p/5576673271
    (目前,根据作者的反馈,其最新版2020.4.12的图像工具存在无法设置偏移量的BUG。作者建议暂时使用上一个版本2018.12.8代替,等待后续修复。)


    IP属地:美国2楼2020-12-07 14:56
    回复
      SHP文件是三国群英传系列使用的图形文件格式。进行图形修改,需要将SHP文件转换成其它文件格式(通常是PNG),修改后,再重新转换为SHP格式。本贴介绍的就是这个过程。
      原版下所有图形文件,均位于PAK文件包内的Shape目录下。查看这些文件,需要首先对PAK文件进行解包。解包的方法见:https://tieba.baidu.com/p/6992271312
      Shape文件夹下有多个文件夹。其中,以SHP为扩展名的文件,就是三国2的图形文件。各文件夹的内容如下:
      BG:战场背景图形
      FACE:头像
      Fonts:字体相关图像文件
      Jewel:物品的缩略图形
      Magic:武将技效果图形
      Major:主将图形,包括主将本身(Body)、马匹(Horse)和武器(Weapon)
      Map:大地图文件及地形匹配文件
      Menu:所有菜单图形
      Policy:内政背景图形
      Troop:大地图上的队伍及旗帜图形
      根目录下还有一些散落的图形文件,为鼠标指针、统一后显示的图形、雨点和制作人员名单等。


      IP属地:美国3楼2020-12-07 14:58
      收起回复
        我们可以使用SangoTool查看和转换SHP文件。下载完成SangoTool后,解压并运行主程序:


        IP属地:美国4楼2020-12-07 15:04
        回复
          不要被英文吓到,这个软件实际上是有中文支持的。点击最后一个选项卡,可以看到【简体中文】的按钮:

          (为防抽图,部分内容进行了模糊处理)
          这样就可以显示中文了。


          IP属地:美国5楼2020-12-07 15:05
          回复
            本贴主要介绍【图像工具】。
            我们选择【图像工具】选项卡。点击【路(径)】按钮:


            IP属地:美国6楼2020-12-07 15:09
            回复
              选择需要查看的SHP文件的路径。这里,为了查看并修改头像文件,我们定位到Shape目录下。
              (该工具的一个反直觉的地方是,会默认显示你选择的目录的【子目录】内的图像。因此,为了查看Shape/Face下的SHP文件,不能直接点选Shape/Face文件夹,而应点选其父目录Shape。)

              点击左侧的Face子目录,右侧会列出该子目录下的所有的SHP文件:

              双击任意一个SHP文件即可查看该SHP文件。


              IP属地:美国7楼2020-12-07 15:15
              回复
                右键选择【转换格式】以转换成正常的图形格式。可以选择多个图形进行批量转换。
                这里我们直接转换第一个头像FACE001(丁奉)。


                IP属地:美国8楼2020-12-07 15:19
                收起回复
                  同样地,我们也可以将任意图形文件转换为SHP文件。
                  假设我们手头已有合适的头像文件。预先经过裁剪缩放,处理成120*100的群2头像尺寸:


                  IP属地:美国10楼2020-12-07 15:27
                  收起回复
                    如果解包的目录就在游戏目录下,则由于该头像已经在游戏路径/Shape/Face目录下,直接打开游戏即可看到效果。
                    如果不在,则可以手动在游戏路径下新建Shape/Face目录,把新生成的SHP文件放进去。

                    进入游戏即可看到头像:


                    IP属地:美国12楼2020-12-07 15:42
                    回复
                      接下来我们介绍【偏移值】。
                      对于非动画序列的图像,一般而言,当我们用新的图像替换旧的图像时,新文件和旧文件大小相等时,偏移值也应当相等。在上面的例子中,新的FACE001和旧的FACE001的偏移值都是X=0, Y=0。对于单个图像文件的修改,这样处理通常就足够了。
                      不过,如果希望进行更复杂的修改(如使用尺寸更大的图像),则仍需理解偏移值的含义。
                      所谓偏移值,实际上指的是该图形的原点【参考点坐标】:群2的系统会将该图像中的这个点对准图像的坐标位置。
                      下图大致介绍了偏移值的原理。黑色为整体画面,蓝色为图形;图形的【偏移值】为(50,60),则当图形在整体画面中的坐标为(300,200)时,是将图形中(50,60)这个位置的点,和整体画面的(300,200)位置对准。
                      (它被称为“偏移值”的历史原因是,修改者往往先不设置这个值,进入游戏中查看和预期位置偏了多少,然后再设置这个值。)
                      如果感到难以理解,也可以采用如下的经验法则:如果进入游戏发现图像位置偏了,想将图形往左移,就设置正的X偏移值,X偏移越高,图形越往左;同理,如果想将图形往上移,就设置正的Y偏移值,Y偏移越高,图形越往右。
                      【偏移值】在武将、武器、马匹、士兵等的动画中扮演重要的角色。限于篇幅,我们在本贴中只介绍如何设置偏移值,看看偏移值的效果。


                      IP属地:美国13楼2020-12-07 15:47
                      回复
                        我们来试一试更改刚才我们生成的头像文件的偏移值。
                        定位到刚才生成的SHP文件,右键-【设置偏移】:


                        IP属地:美国14楼2020-12-07 15:50
                        回复
                          (可以对多个文件一次性设置相同的偏移:同时选中多个文件并右键-设置偏移即可。当这么做时,SangoTool会弹出警告,询问是否真的要批量设置偏移。设置单个文件时则不会弹出警告。


                          在弹出的对话框中,我们设置偏移值为(50, 60)。单击“保存”则立即生效。


                          IP属地:美国15楼2020-12-07 15:57
                          回复
                            进入游戏可以看到,头像的位置发生了移动。


                            IP属地:美国16楼2020-12-07 16:01
                            回复
                              尽管SangoTool的功能足够,但由于其仍在更新完善中,有必要介绍传统的方法。
                              下面,我们介绍传统的方法,即【使用RPGViewer进行SHP文件的转换,以及使用ShpFix设置偏移值】。
                              打开RPGViewer,选择文件-打开-PicFormats-All(自动探测和后缀均可):


                              IP属地:美国17楼2020-12-07 16:04
                              回复