【Godot 4.x】TilemapLayer等距墙体遮挡关系的解决思路
合集 · 《地城模拟器》 开发进度 (7)
Description
打算做一个像素沙盒同时可以用来联机跑团的小游戏。 在网上找了等距像素的墙体遮挡关系,发现只有shader剔除像素和area2d检测的方法,大部分都依赖于定制场景,对于随机化的沙盒游戏建造系统极其不友好。 所以构思了一个能够动态隐藏墙体的方法: 原理是循环墙的图块坐标进行数组分类,分为x向墙与y向墙,通过角色在图块的坐标位置进行比对来判断角色在墙的前面还是后来切换纹理隐藏墙体。 数组只有在玩家破坏、创建墙体的时候重新判断一次。性能开销还行,可以写一个储存功能将数组储存进存档里,这样只需要读取就行了,不用每次都重新计算。目前还很粗糙,有时间再看看怎么细化
Comments
期待一手
♥ 2 ↩ 1
为什么不让墙体进行不同程度的透明呢?
♥ 1 ↩ 3
up请问是如何做到的呀,我也处理不好遮挡关系,特别是墙的拐角
♥ 1 ↩ 1
期待!
♥ 1
只是用来跑团的吗哦我去
↩ 1