短投影 - Monogame/HLSL

Short Drop Shadows - Monogame/HLSL

我正在尝试寻找一种方法来为我的游戏中的精灵实现成角度的投影。也就是说,我希望我的播放器、树木等物体具有基于太阳在天空中的位置的阴影。

以这款游戏(亚洲黑帮)中的暗影为例:

我曾尝试修改 Catalin Zima 的方法来满足我的需求,但收效甚微,最终我认为这种方法对我不起作用,而且他所做的优化目前让我有点难以理解。我描述了我的挣扎 here

过去几周我花了一些时间学习 HLSL,做了一些简单的环境光和颜色变化着色器,但老实说我不知道​​如何满足这个要求。

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

实际上我不认为这些是真实的阴影,而是精灵渲染得有点扭曲。

渲染完背景(地板)后,用黑色或深灰色渲染所有精灵。但是您将多边形稍微向左倾斜:

然后在同一位置正常渲染精灵。现在你有一个漂亮的阴影效果,这也是一种超快速的方法。

你唯一需要考虑的是角色跳跃的时间。您必须偏移阴影精灵渲染。最好是让一个向量指向左上角并按跳跃的高度缩放它。