【Godot 4.x】TilemapLayer等距墙体遮挡关系的解决思路

合集 · 《地城模拟器》 开发进度 (7)

  1. 0:29
    【Godot 4.x】动态墙体遮挡
  2. 1:16
    【Godot 4.x】等距墙体的地形纹理绘制
  3. 0:44
    【开发日志】1000实体伪碰撞测试
  4. 1:45
    【开发日志】 听说领地内来了个会弹琴的
  5. 0:36
    【开发日志】 昼夜与换装
  6. 1:50
    【开发日志】 现在可以演奏了!
  7. 1:33
    【开发日志】 联机系统与在线演奏
Description
打算做一个像素沙盒同时可以用来联机跑团的小游戏。
在网上找了等距像素的墙体遮挡关系,发现只有shader剔除像素和area2d检测的方法,大部分都依赖于定制场景,对于随机化的沙盒游戏建造系统极其不友好。
所以构思了一个能够动态隐藏墙体的方法:
原理是循环墙的图块坐标进行数组分类,分为x向墙与y向墙,通过角色在图块的坐标位置进行比对来判断角色在墙的前面还是后来切换纹理隐藏墙体。
数组只有在玩家破坏、创建墙体的时候重新判断一次。性能开销还行,可以写一个储存功能将数组储存进存档里,这样只需要读取就行了,不用每次都重新计算。目前还很粗糙,有时间再看看怎么细化

Comments

冰岚白羽 2026-03-07

期待一手

♥ 2 ↩ 1

妍忘初 2026-07-01

为什么不让墙体进行不同程度的透明呢?

♥ 1 ↩ 3

verstiler 2026-06-06

up请问是如何做到的呀,我也处理不好遮挡关系,特别是墙的拐角

♥ 1 ↩ 1

Asphyxional 2026-03-14

期待!

♥ 1

翷空之鱼 2026-08-16

只是用来跑团的吗哦我去

↩ 1