Short Drop Shadows - Monogame / HLSL - PullRequest
       103

Short Drop Shadows - Monogame / HLSL

0 голосов
/ 03 июля 2019

Я пытаюсь найти метод для реализации наклонных теней для моих спрайтов в моей игре. То есть я хочу, чтобы такие объекты, как мой игрок, деревья и т. Д., Имели тени в зависимости от положения солнца на небе.

Тени в этой игре (Банды Азии), например: enter image description here

Я пытался модифицировать метод Каталина Зимы, чтобы он соответствовал моим потребностям, но с небольшим успехом, в конечном счете, я не думаю, что этот подход будет работать для меня, и оптимизация, которую он делает, в данный момент мне не по зубам. Я описываю мою борьбу здесь .

За последние несколько недель я потратил некоторое время на изучение HLSL, выполняя несколько простых шейдеров для освещения и изменения цвета, но, честно говоря, не знаю, как выполнить это требование.

Кто-нибудь может порекомендовать подход или предоставить некоторые ресурсы? Буду признателен за любую оказанную помощь.

1 Ответ

3 голосов
/ 10 июля 2019

На самом деле я не думаю, что это настоящие тени, а спрайт, визуализированный немного искаженным.

После рендеринга фона (пола) вы отображаете все спрайты черным или темно-серым цветом. Но вы смещаете многоугольник влево: enter image description here

Затем вы выводите спрайт как обычно в том же месте. Теперь у вас есть красивый эффект тени, который также является супер быстрым методом. enter image description here

Единственная мысль, которую вы должны принять во внимание, это когда персонаж прыгает. Вы должны компенсировать рендеринг теневого спрайта. Желательно иметь вектор, указывающий на верхний левый угол, и масштабировать его до высоты прыжка.

...