Основной проблемой было оценить высоту мира пикселей, не имея ее в g буфере (поскольку atlas sprite в Bevy пока не поддерживает шейдеры, я не уверен, что это хороший способ передать информацию о высоте пикселя). Пришлось изобретать небольшой хак – делать несколько семплов вниз от текущего пикселя с отступами 8, 16, 32… из текстуры слоя объектов которые над землей. Если мы попали в непрозрачный пиксель значит текущий пиксель скорее всего не очень высоко над землей. Это позволяет сделать дешевый эффект "огибания"
Очень даже, красавчик.
спс)
Что у тебя за crate используется для вывода используемых ресурсов в правом верхнем углу?
Это встроенный ХУД из Метала. Включается ```export MTL_HUD_ENABLED=1``` в OSX
А ведь игра делается на bevy? Могу ли я узнать, почему именно на нём? Просто в crates так много различных фреймворков и бибилиотек, что аж путаешься в них... Bevy чем-то лучше остальных?
А какие еще есть? Мне нужен был хороший эргономичный ECS и нормальная абстракция для графики (на расте из достойных есть только wgpu). В остальном в bevy не так много что еще работает из коробки.