短阴影-Monogame / HLSL

时间:2019-07-03 20:59:18

标签: xna shader shadow monogame hlsl

我正在尝试找到一种在游戏中为我的精灵实现倾斜阴影的方法。也就是说,我希望诸如播放器,树木等物体具有基于太阳在天空中的位置的阴影。

此游戏(亚洲帮派)中的阴影例如: enter image description here

我曾尝试修改Catalin Zima的方法来满足我的需求,但收效甚微,最终我认为这种方法对我不起作用,而他所做的优化目前还有些麻烦。我描述了自己的奋斗here

过去几周,我花了一些时间学习HLSL,做了一些简单的环境光和变色着色器,但老实说,如何达到此要求是茫然的。

任何人都可以推荐一种方法或提供一些资源吗?任何帮助深表感谢。

1 个答案:

答案 0 :(得分:3)

实际上,我不认为这些是实际的阴影,但精灵会有点扭曲。

渲染背景(地板)后,将使用黑色或深灰色渲染所有精灵。但是您将多边形向左倾斜一点: enter image description here

然后,在同一位置将精灵渲染为正常。现在,您将获得漂亮的阴影效果,这也是一种超快速的方法。 enter image description here

您唯一需要考虑的是角色跳跃时。您必须偏移阴影精灵渲染。最好通过使向量指向左上角,并根据跳跃的高度对其进行缩放。