我正在从头开始编写等距游戏,我想知道如何/是否可以添加灯光和阴影。
我到目前为止的代码可以在这里找到,但它应该是不够了解,现在,地图是真/假值的简单3D阵列。这是环境的快照:
如果是单层tilemap,那将是直接的。我可以理解所需的2d中简单的光线投射。
但是,考虑到我的地图具有多个高度级别以及类似洞穴的区域,我真的不知道该如何为它创建令人信服的阴影。也许逐块解决方案是唯一现实的方法?
您是否正在寻找预烘焙或动态生成的照明?如果玩家走进去,“洞形区域”是否被切掉了?还是光线也需要考虑天花板?您是否希望每个瓦片都是二进制亮/暗或具有某种分数值?
—
Anko 2015年
@Anko我更喜欢小数,例如0-1.1(用于爆炸等过亮区域),但是它可能只是基于块的,没有真正的插值或类似的东西。我真的希望它是动态的,并支持多个灯光。并且,尽管将显示“凹状” /屋顶区域,但算法计算时仍需要考虑未显示的块。例如,如果您走进一间房屋,屋顶砖将消失,但内部仍应处于阴暗处。
—
丹妮·克劳森
如果您正在寻找一个具有洞穴和高度的解决方案,那么您似乎没有2D的东西。即使相机始终向北朝下45º方向,您也可能正在寻找完整的3D解决方案。您应该查看诸如模板阴影之类的技术。
—
阿德里安·梅尔
第二个@AdrianMaire,您需要进行正确的3d计算,但是如果在“平铺”的两面之间没有插值,则可以做一些捷径。如果不进行插值,则可能使用射线。
—
NeomerArcana 2015年
我现在没有足够的思维空间来将其分解为一个答案,但是我偶然发现了这篇有关高度图地形的视线确定的博客文章。听起来就像您在寻找什么。
—
Anko 2015年