梦幻西游人物局部换色初探
来源:互联网 发布:淘宝促销大师有用吗 编辑:程序博客网 时间:2024/05/01 09:53
梦幻西游人物局部换色初探
作者:leexuany(小宝)
由于我的犹豫不决,到现在我还没有多少游戏编程实战经验,我一直在资源、UI、程序的边缘徘徊。。
小宝一直就很迷惑,为什么梦幻西游的资源中只有一套人物素材,但是梦幻却支持人物染色,我们找不到变异召唤兽的素材,但是它的的确确存在。
一切皆从was/wap格式开始,它是256色的索引图片动画,秘密全在这神奇的调色板上。
每一个hero(就是我们能创建的那12个角色)还有summon(各种能抓到的召唤兽)都有一个配套的配置文件,形式如下:
4 0 64 128 192 256 7255 0 00 255 00 0 255351 0 00 256 00 0 256106 5 115254 254 125180 148 161512 14 512512 512 512225 340 0263 512 459483 502 3250 0 0234 134 474512 435 220306 512 455215 268 378345 402 445426 0 2567255 0 00 255 00 0 255378 69 0161 256 740 0 256256 14 550 154 00 0 11552 0 053 62 00 0 53154 0 00 154 12024 81 1100 67 0244 238 0431 33 358349 0 00 256 00 0 2567255 0 00 255 00 0 255138 51 928 129 690 0 550 9 00 55 6037 18 5281 0 00 72 0102 0 0163 29 057 52 00 0 520 0 380 187 0134 0 311148 0 4881 86 00 0 1481255 0 00 255 00 0 255
下面我来简单地解释下这个配置文件的含义:
第一行的4表示将调色板划分成4块,0~64,64~128,128~192,192~256
之后的操作全是对这4段调色板进行变换。
第二行的7表示存储了7种不同的配色方案,这七个方案都是对应0~64号调色板的。
接下来是3X7共21行的配色方案内容,每3行表示一个方案。如:
255 0 0
0 255 0
0 0 255
表示的是默认方案,而
351 0 0
0 256 0
0 0 256
表示另一个方案。
7个3行的配色方案之后,又可以看到一个7,它表示与64~128号调色板对应的配色方案数,之后的格式同上。
那么配色方案的含义是什么呢?
如果你用过photoshop的色彩平衡,那么就不难理解了。原理是差不多的,255表示默认,既不加也不减。
至于为什么会有
255 0 0
0 255 0
0 0 255
三行9个数值,恐怕只有网易自己知道,或者等到我能调试mhmain.dll了,但有Themida存在的前提下,这个事件的期望是零。
可能有的朋友还要问,“为什么分段的调色板能改变人物造型不同部分呢?”
请看一个调色板,这是逍遥生的调色板
看到了吗?0~64号,即前4行的颜色是不是很像头发的颜色?
对啦,游戏使用的图片都是经过辅助程序和美工精心处理过的,完全按照程序的需求定制的。所以头发的颜色全部在前4行,程序在跟美工协商好规格(或者写个程序让他们用)就可以放心大胆的写代码啦。
最后,“Themida...Themida...”小宝咬牙切齿中。。。
- 梦幻西游人物局部换色初探
- 梦幻西游人物局部换色补完
- 梦幻西游老朋友
- 梦幻西游升级攻略
- 梦幻西游 WSG 文件格式分析
- 玩梦幻西游的进
- 《梦幻西游》模拟程序进度
- 梦幻西游qq表情包YR
- 从《梦幻西游》看角色养成
- 从《梦幻西游》看网游玩家分类
- 梦幻西游新资源的提取一
- 梦幻西游新资源的提取二
- 梦幻西游宠物BB打书攻略
- 用靠谱助手多开玩梦幻西游手游
- 梦幻西游摇钱树苗怎么种
- 学生玩梦幻西游如何省钱-新手玩梦幻西游省钱
- RGBA模式人物换色的实现
- 只有梦幻西游和征途游戏内没有通货膨胀
- SQLServer 远程备份和恢复
- 几个p2p开源项目
- mshflexgrid如何删除当前鼠标选择的行,并且一并删除行所对应的数据库中的记录
- 左连接(外连接)sql语句
- ASP.NET中常用功能代码 文件操作(转)
- 梦幻西游人物局部换色初探
- 在线查看word,excel,pdf文件解决
- SQL数据库备份、还原、转移详解
- 3D桌面 嘿嘿!
- 国际:十个习惯让你精通新的开发技术
- http://chenhaifeng.blog.edu.cn/
- 处理迅雷的后台偷偷上传
- 解析“进程、过程调用、函数调用、堆、栈”
- d3d的学习