找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 14485|回复: 4

SHP文件原理

[复制链接]
发表于 2012-6-24 00:31:15 | 显示全部楼层 |阅读模式
本帖最后由 kenosis 于 2019-5-5 00:17 编辑

SHP文件经过大量放大后也会如同在画图里一样,每个像素点都非常大。所以经常说ShpBuilder就像是一个专门版本的画图。当然,SHP文件和普通图片并不一样。SHP并不是真正的图像文件,而是颜色目录,是告诉系统哪个位置的点使用哪个编号的颜色而已。在SB装载SHP文件的时候,左侧永远有一个色盘。SHP的每个像素点记录的其实都是色盘上的颜色编号。在SB显示SHP的外观的时候,实际上是根据SHP文件这个目录一个点一个点查询了色盘,并绘制到屏幕上。所以,在SB里有载入色盘的选项。很自然,在SHP文件不记录颜色的视觉效果,只记录颜色的编号的特性下,如果把一个色盘换成另一个,SB照样一个一个编号去查表,最后画出来的就是一团莫名其妙的玩意。

注意这些色盘的名字。单位色盘是unit开头的那3个色盘,爆炸动画是anim色盘。SB一般会替你自动装载色盘,但是有的时候SB并不能正确识别素材类型,选错了色盘,就会花掉。

上图中,那个明显花掉的就是SB帮你选错了色盘的效果。这是一种最常见的错误,是把RA2用的SHP装载了Tiberian Sun的anim色盘。但是既然SHP文件只是颜色目录,所以在SB内预览错色盘并不会导致游戏内花掉。

举例说来,这条狗的素材是用于单位,所以使用unit色盘。在游戏运行时,自动强制加载unit色盘来绘制。在编辑的时候,也应该用unit。虽然看起来这条狗是蓝白色,实际上它作为一个“没有颜色”的颜色目录,只是使用了大量在32-95之间的颜色,以及少量的242号色。unit色盘中,32-95的序号就是蓝白色系(请无视64-79号色)。如果载入错了色盘,(Tiberian Sun的anim色盘的32-95是橙色和褐色,242号是绿色),就会如上图。但是,SB仅仅用于预览。在游戏里永远不可能发生引擎加载错色盘的问题。
在SB里装载色盘只是为了便于编辑和预览文件,最后在游戏里显示时都会读取游戏实际需要的色盘。所以,你能做的唯一事情就是在编辑SHP的时候选对色盘,比如编辑爆炸动画就选择anim,编辑单位就选择unit系列。或者使用Ares的有关语句,直接强行指定色盘。如果你要编辑自定义色盘的SHP,最简单的比如做游戏封面,在编辑SHP文件之前都必须先用load手动选择正确的色盘。【只要在你选择正确的色盘以后不花屏,进游戏后肯定也不花屏】。

如果你一开始用的是别的错误色盘,做了一半才想起选择正确的色盘,那么只好在选择了正确的色盘后重新绘制。保存完毕后,如果再用SB打开,SB可能会再次选择错色盘,又会花掉。

但是,注意,根据SHP文件的性质,在SB里花掉(SB自动选,用错了色盘)不可能影响到最终的效果。只要你在编辑的时候选择的是正确的色盘,进入游戏的时候一定不会花掉(游戏自动使用正确的色盘)。因为无论如何更换色盘,颜色目录本身都没有变化。


用excel表格来模拟SHP文件,每个格子(像素点)内都记载了一个颜色序号,因为SHP文件并不是真正的图片。游戏只是将色盘中的特定编号的色块拿到对应的像素点而已,所以替换色盘后图片会变色。
示意图中的色条为一个17x6的SHP文件,放大了15倍。每个色条的实际宽度都是1像素,长度17像素


关于色盘的一些知识:
unit系色盘上的16号-31号色是阵营色,在游戏中会进行相应的阵营色变化
0号色无论在SB里显示是什么颜色,在游戏中都不显示,是透明色。240-255号色是不会随着环境光照的变化而变色的



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×

评分

参与人数 1威严 +3 DIY币 +3 收起 理由
nuke + 3 + 3 很贊的教程

查看全部评分

发表于 2012-6-24 00:59:52 来自手机 | 显示全部楼层
sb的0号是透明,但是vxl用0号的话游戏里面看是紫色和黑色的,而且色表的前面几个五颜六色的和后面几个用了也会变成黑色紫色,怪恶心的,而且有时候vxlse复制粘贴会把深色粘贴成0号……
回复

使用道具 举报

发表于 2012-6-24 13:04:48 | 显示全部楼层
顶一个  学习了
回复

使用道具 举报

发表于 2012-6-24 14:28:04 | 显示全部楼层
补一句:如果不小心画完了发现选错色盘,那就再现有的色盘下用导出功能导出成bmp,然后再导回成shp(导入图片时可以选择色盘的)。
此方法同样适用于TS色盘anim转RA2色盘,或者是盗修改了色盘的mod的素材,不过导出时切记用bmp格式,其他的估计会糊
回复

使用道具 举报

 楼主| 发表于 2012-6-24 14:30:06 | 显示全部楼层
PNG也可以
好补充
回复

使用道具 举报

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

本版积分规则

小黑屋|Archiver|手机版|管理员邮箱|红警DIY论坛 |网站地图

GMT+8, 2026-6-4 09:16 , Processed in 0.073558 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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