铁血丹心

 找回密码
 我要成为铁血侠客
搜索
查看: 2212|回复: 0

[通用] 关于游戏中场景画图顺序和遮挡的问题

[复制链接]
发表于 2013-5-2 14:35 | 显示全部楼层 |阅读模式
本帖最后由 weyl 于 2013-5-6 18:13 编辑

关于遮挡的问题,我以前发过一个帖子讨论:http://www.txdx.net/thread-634486-1-1.html

最近因为考虑更换贴图的问题,又想到了遮挡的事情。现在来看,所谓遮挡顺序,就是绘图的顺序,后画的东西不会被先画的遮挡住。如果采用该文中的遮挡值,就是认为画图顺序如下图,而每一排内部没有明显的顺序:

lua版似乎是用的这个顺序,大部分时候是准确的。在墙边如果有宽度较大的贴图,会有遮挡的错误。
如果认为优先级是从左到右,那么遮挡值可设为128*(x + y) + y。

winson给出过另一种顺序,详见http://www.txdx.net/thread-428828-1-1.html。如果按照这个顺序,遮挡值可以用 128*min(x, y) + (x - y) ,即先比较坐标最小值,再看两个坐标值的差(128是后一项的最大值或者达不到的值)。注意这个所谓遮挡值仅仅是表示这个值大时应该后画,而不是严格的顺序数,因为严格顺序数计算起来较麻烦。而 x - y 哪个在前面其实影响不大。

该顺序的一个改进如下(4 * 4网格为例),其中顺序数相同的先画哪个都可以:

这样遮挡值可以设为128 * min(x, y) + abs(x - y),当然也可以设得更严格一些,加上(x - y)的符号考虑。

因为游戏本身素材的特殊性,实际上哪个方法都不准。墙体在左侧和右侧的情况实际是完全不同的。

比较合适的方法应是按照像素,即某贴图的一列,均按照有内容的最低像素。




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要成为铁血侠客

x
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。

本版积分规则

小黑屋|手机版|铁血丹心

GMT+8, 2024-5-3 02:13

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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