Media is too big
VIEW IN TELEGRAM
Немного текстур на поверхность, наклоны от поворотов...
Всё, отдыхать...
Всё, отдыхать...
🔥3❤1👍1🥰1👏1👾1
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👍1🔥1👾1
Media is too big
VIEW IN TELEGRAM
Представляю 'Спасательный вертолёт'
Суть происходящего это полёты по местности и спасение потерявшихся человечков. Вертолёт автономный и летит к целевой точке, сам определяет угол отклонения, сканирует рельеф перед собой, и при воздействии на рычаги управления откликается поворотами фюзеляжа.
Поворачиваем в сторону, значит крен на бок, нужно набрать или сбавить скорость - значит опустится или задерётся нос.
Всё построено на базе несложного автомата:
- Поиск цели - случайный выбор места потерявшегося.
- Взлёт - Набор высоты
- Полёт - Продвижение и поворот к цели ( до момента сближения )
- Торможение - Сброс скорости и разворот
- Посадка - Сброс высоты, приземление
- Спасение - Ожидаем пока цель придёт в вертолёт, и по новой. Поиск цели
Но самое сложное было разобраться с очередной технологией рендера '3D мира' по 2D карте.
Принцип прост, из картинки с высотами ( а у меня это шум Перлина ), по координатам игрока определяем какие высоты находятся перед игроком.
Затем от горизонта вниз рисуем столбики высот делённые на расстояние.
В принципе от технологии Wolfenstein3D не особо отличается, но со своими нюансами, типа наклона в бок.
В общем в архиве как прошивка для CYD2432_S028, так и симулятор для ПК.
p.s.
[ ⏮️ ][ ⬆️ ][ ⏭️ ]
[ VK-видео ][ YouTube ][ RuTube ]
🏠 [ Домой ] 🛠 [ Проекты ]
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3❤1👍1👏1👾1
Media is too big
VIEW IN TELEGRAM
Ландшафт строится как ряд картонных стенок, от точки взгляда, в даль. И вот таких 'в даль' 100 выборок. А если учесть что эти 100 выборок для каждого столбца, коих 120 штук, то и получаем:
120х100 = 12000 выборок для ландшафта.
Каждая точка это шум Перлина, что тоже нагружает бедную ЕСПэшку...
Так вот, а зачем под носом у игрока, 120 выборок, на маленькую ширину. Да и на расстоянии 5-10 шагов от точки взгляда тоже столько не нужно.
В общем оптимизировал по принципу, чем дальше, тем больше.
А под носом и трёх четырёх хватит, которые равномерно размазывпются на всю ширину экрана.
И вуаля, к шуму перлина уже меньше тысячи обращений, и 30фпс в кармане 🥳.
А дальше? Очередная головная боль. Воксельная графика потихоньку перерастает в полигоны... Но об этом чуть позже
p.s.
[ ⏮️ ][ ⬆️ ][ ⏭️ ]
[ VK-видео ][ YouTube ][ RuTube ]
🏠 [ Домой ] 🛠 [ Проекты ]
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2🔥2👍1👏1🎉1
This media is not supported in your browser
VIEW IN TELEGRAM
Немного спойлеров...
Ой, если оно на ЕСПшке заведётся...😁
Ой, если оно на ЕСПшке заведётся...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥2🤓1👨💻1
Наткнулся на ресурс HobbySupport, он иногда собирает проекты людей и проводит конкурс.
Ну, а чем я хуже, решил тоже поучавствовать.
В общем, если интересно посмотрите, там с десяток различных, интересных проектов, в том числе и мой rayCast.
Если что, под номером7️⃣ .
Голосование проходит тут:
https://t.me/hobbysupport
Ну, а чем я хуже, решил тоже поучавствовать.
В общем, если интересно посмотрите, там с десяток различных, интересных проектов, в том числе и мой rayCast.
Если что, под номером
Голосование проходит тут:
https://t.me/hobbysupport
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegram
Hobby Support 📡
Паяльник, канифоль, дзен.
Наш магазик на Ozon: https://ozon.ru/seller/hobbi-support-1979992/
Бусти: boosty.to/hobbysupportchannel
Почта по вопросам сотрудничества: hsupprt@yandex.ru
Наш магазик на Ozon: https://ozon.ru/seller/hobbi-support-1979992/
Бусти: boosty.to/hobbysupportchannel
Почта по вопросам сотрудничества: hsupprt@yandex.ru
❤1🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Вроде задача то не сложная, в границах линий закрасить цветом, а вот не всё так просто. Делать миллион пповерок на факт нахождения внутри или снаружи это бред, это сразу мимо. Тем более зная координаты вершин. По вершинам, с лёту, тоже не получится. В общем сижу, думаю...
p.s.
[ VK-видео ][ YouTube ][ RuTube ]
🏠 [ Домой ] 🛠 [ Проекты ]
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2👍1🥰1👏1👾1
This media is not supported in your browser
VIEW IN TELEGRAM
🌏 "Сейчас бы на пляж... "
🧑💻 Растеризацию поправил, пока знаю про две проблемы:
1. Не все полигоны захватываются, это видно по краям.
2. Точки, оказавшиеся за спиной, не правильно пересчитываются на экран.
Ну чтож, и не с таким справлялись.
p.s.😅 "Да и пора бы на ESP это запускать..."
[ VK-видео ][ YouTube ][ RuTube ]
🏠 [ Домой ] 🛠 [ Проекты ]
1. Не все полигоны захватываются, это видно по краям.
2. Точки, оказавшиеся за спиной, не правильно пересчитываются на экран.
Ну чтож, и не с таким справлялись.
p.s.
[ VK-видео ][ YouTube ][ RuTube ]
🏠 [ Домой ] 🛠 [ Проекты ]
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👍2🔥2👏1😁1👾1
This media is not supported in your browser
VIEW IN TELEGRAM
🌏 "It's alive... "
🧑💻 Перенос движка поверхности с ПК на ESP32 похоже закончился успехом.
Плюсы - всё работает в 30фпс..
Минусы - дальность так себе,всего 20 клеток. При дальности в 25, уже фпс падает до 20,при 30 - 15. Ну чтож, не зря в Silent Hill придумали туман 😶🌫...
p.s.🤔 "Чего-б такого этому всему теперь придумать..."
[ VK-видео ][ YouTube ][ RuTube ]
🏠 [ Домой ] 🛠 [ Проекты ]
Плюсы - всё работает в 30фпс..
Минусы - дальность так себе,всего 20 клеток. При дальности в 25, уже фпс падает до 20,при 30 - 15. Ну чтож, не зря в Silent Hill придумали туман 😶🌫...
p.s.
[ VK-видео ][ YouTube ][ RuTube ]
🏠 [ Домой ] 🛠 [ Проекты ]
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥2👏2❤1🥰1🤯1👾1
This media is not supported in your browser
VIEW IN TELEGRAM
Первый способ добавить ФеПеСов, это уменьшить угол обзора.
Меньше точек собираются слева и права. Но и видимость сокращается.
Копаю дальше...
Меньше точек собираются слева и права. Но и видимость сокращается.
Копаю дальше...
🔥2❤1👍1👏1
Media is too big
VIEW IN TELEGRAM
☕️ "Утро начинается не с кофе..."
🧑💻 А началось с замеров времени на разные части кода, и вот что выяснилось...
Но, всё по порядку.
Весь алгоритм построения делится на несколько этапов:
1. Определение области обзора
2. Сбор вершин внутри области
3. Фильтрация от случайно продублированных
4. Сбор полигонов из вершин
5. Перенос вершин из декартовых координат в радиальные
6. Растеризация полигонов с учётом перекрытий
И вот по третьему пункту выявилась проблема, анализ и выброс лишних точек ( дублей ) занимает аж более 35мс. Поправить конечно это одно, и оно ускорилось в три раза до 12мс. Но мысль появилась другая, что проблема ещё раньше, в алгоритме сбора точек, что при сборе загребаются те что уже есть. Значить копать нужно ещё раньше...
p.s. 🤓 "Ну что-ж, 'наши руки не для скуки'..."
Попробовал сделать чат ->
Ссылка на чат 😝
[ ⏮️ ][ ⬆️ ][ ⏭️ ]
[ VK-видео ][ YouTube ][ RuTube ]
🏠 [ Домой ] 🛠 [ Проекты ]
🧑💻 А началось с замеров времени на разные части кода, и вот что выяснилось...
Но, всё по порядку.
Весь алгоритм построения делится на несколько этапов:
1. Определение области обзора
2. Сбор вершин внутри области
3. Фильтрация от случайно продублированных
4. Сбор полигонов из вершин
5. Перенос вершин из декартовых координат в радиальные
6. Растеризация полигонов с учётом перекрытий
И вот по третьему пункту выявилась проблема, анализ и выброс лишних точек ( дублей ) занимает аж более 35мс. Поправить конечно это одно, и оно ускорилось в три раза до 12мс. Но мысль появилась другая, что проблема ещё раньше, в алгоритме сбора точек, что при сборе загребаются те что уже есть. Значить копать нужно ещё раньше...
p.s. 🤓 "Ну что-ж, 'наши руки не для скуки'..."
Попробовал сделать чат ->
Ссылка на чат 😝
[ ⏮️ ][ ⬆️ ][ ⏭️ ]
[ VK-видео ][ YouTube ][ RuTube ]
🏠 [ Домой ] 🛠 [ Проекты ]
🔥2👍1🎉1
Media is too big
VIEW IN TELEGRAM
Утро, как обычно доброе. Но не для ESP'шки 😂.
40 фпс, с запасом по таймингам, вот с этим уже можно работать...
Поправить пару глитчей, и можно пробовать 'травку засеять, да волны по воде погонять'.
А так, поле для фантазии, го тут можно...
И туман, и дождь, и снег...
Вроде есть мысди про 3Д домики, короче ещё есть куда копать...
[ ⏮️ ][ ⬆️ ][ ⏭️ ]
[ 💬 чат ]
[ VK-видео ][ YouTube ][ RuTube ]
🏠 [ Домой ] 🛠 [ Проекты ]
40 фпс, с запасом по таймингам, вот с этим уже можно работать...
Поправить пару глитчей, и можно пробовать 'травку засеять, да волны по воде погонять'.
А так, поле для фантазии, го тут можно...
И туман, и дождь, и снег...
Вроде есть мысди про 3Д домики, короче ещё есть куда копать...
[ ⏮️ ][ ⬆️ ][ ⏭️ ]
[ 💬 чат ]
[ VK-видео ][ YouTube ][ RuTube ]
🏠 [ Домой ] 🛠 [ Проекты ]
🔥2👍1🤯1🤣1👾1
This media is not supported in your browser
VIEW IN TELEGRAM
⏳ Главное запас по времени ещё есть. Кадр рисуется 10-16мс, а это от 100 до 60 фпс.
p.s.
[ ⏮️ ][ ⬆️ ][ ⏭️ ]
[ VK-видео ][ YouTube ][ RuTube ]
🏠 [ Домой ] 🛠 [ Проекты ][ 💬 чат ]
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2❤1👍1👏1👾1
Media is too big
VIEW IN TELEGRAM
⏳ А запас по времени ещё есть. Не сильно нагрузило систему
p.s.
[ ⏮️ ][ ⬆️ ][ ⏭️ ]
[ VK-видео ][ YouTube ][ RuTube ]
🏠 [ Домой ] 🛠 [ Проекты ][ 💬 чат ]
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥2👾1
Media is too big
VIEW IN TELEGRAM
🧮 Я неправильно сделал расчёт вершин оказавшихся за спиной, от того и глюки визуальные.
📐 А правильно их расчитывать как? А никак, их вообще не должно быть. Полигон, выходящий за границы видимости, должен обрезаться и генерировать новые вершины, из четырёх угольника превращаться в пяти, шести угольник и перестраивать составные треугольники. В общем, рано радоваться...
p.s.
[ ⏮️ ][ ⬆️ ][ ⏭️ ]
[ VK-видео ][ YouTube ][ RuTube ]
🏠 [ Домой ] 🛠 [ Проекты ][ 💬 чат ]
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👍1🔥1🥰1🤯1
Please open Telegram to view this post
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
- Этот проект ставлю на стоп, выкладываю прошивки как есть, в принципе они приемлемые.
- Сажусь за пару роликов на простые темы
- Ардуина и кнопки. На уровне библиотеки, нажатия, события, зажатия, мультиклики и т.д.
- Ардуина и светодиоды, но не просто blink, а асинхронная работа светиков.
- И отпуск, нужно пожарить попу на морях.
А в сентябре снова в бой, сектора, BSP деревья, следующий шаг в псевдо 3D.
Так же мне мешает мысль и о других темах роликов:
- Продолжение rayCast
- Шум перлина
- Процедурная генерация
- Подключение TFT к Ардуино
- Графика ESP на TFT
- Воксельный движок
- Псевдо 3D поверхность
- Ну или накидайте своих вариантов, потом запущу голосование...
p.s.
[ ⏮️ ][ ⬆️ ][ ⏭️ ]
[ VK-видео ][ YouTube ][ RuTube ]
🏠 [ Домой ] 🛠 [ Проекты ][ 💬 чат ]
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥2🎉1👾1
На какую тему хотели бы ролик?
Final Results
26%
Продолжение rayCast
21%
Шум перлина
32%
Процедурная анимация
47%
Подключение TFT к Ардуино
58%
Графика ESP на TFT
37%
Воксельный движок
32%
Псевдо 3D поверхность
😁2🥰1🤔1🎉1
Вот и закончилось голосование, теперь видны итоги и план действий.
Логическим продолжением после этого будет Воксельная графика. Псевдо 3D и процедурка идут вровень, но процедурку возьму первой, чтобы разбавить поверхности другой темой.
Ну и в остатке остаётся продолжение RayCasting и шум Перлина.
Вроде бы и определились, но ость ещё одно но: для воксельной графики уже нужны углы, корни и работа с uint16 как с дробным числом, эта тема будет после ESP графики.
По этому план такой:
- Кнопочки ( почти готово )
- Подключение TFT к Ардуино
- Графика ESP на TFT
- Бинарное представление углов, дробей, быстрый корень
- Воксельный движок
- Процедурная генерация
- Лампочки
- Псевдо 3D поверхность
- Продолжение rayCast
- Шум перлина
p.s.
[ VK-видео ][ YouTube ][ RuTube ]
🏠 [ Домой ] 🛠 [ Проекты ][ 💬 чат ]
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2👍1🥰1👏1🎉1
This media is not supported in your browser
VIEW IN TELEGRAM
Немножко спойлеров по предстоящей теме...
Осталось немного
- Удержание кнопки на время
- Озвучить это всё
Осталось немного
- Удержание кнопки на время
- Озвучить это всё
👍2❤1🔥1🥰1👨💻1
Первый ролик из серии "Arduino - Next level", типа обучалок Ардуине чуть более чем Вайб-кодер, готов.
Получилось немного скомнано, но и времени было в обрез. Главное эту мысль выкинул из головы.
p.s.
[ VK-видео ][ YouTube ][ RuTube ]
🏠 [ Домой ] 🛠 [ Проекты ][ 💬 чат ]
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5❤3👍3🎉1