Почти добрался делать UI для редактирования значений в компонентах.
Поэтому для начала пилю виджет с трейтом и дерайв макросом для редактирования значений.
План простой - дерайвим трейт для компонентов.
Добавляем трейт в borrow список компонента.
Кверим все компоненты с этим трейтом. Показываем виджеты.
Поэтому для начала пилю виджет с трейтом и дерайв макросом для редактирования значений.
План простой - дерайвим трейт для компонентов.
Добавляем трейт в borrow список компонента.
Кверим все компоненты с этим трейтом. Показываем виджеты.
🔥4
Осталось дорисовать сову добавить недостающие имплементации для прочих коллекций и сделать красиво.
Сделал пример использования
Тут можно создать сущностей, добавить или убрать им компоненты и посмотреть на любую сущность с помощью
Смотрящий код при этом знать не знает какие бывают типы компонентов вообще.
Кверит все
egui-probe
+ edict
.Тут можно создать сущностей, добавить или убрать им компоненты и посмотреть на любую сущность с помощью
EguiProbe
имплементации компонентов.Смотрящий код при этом знать не знает какие бывают типы компонентов вообще.
Кверит все
&mut dyn Inspect
что есть у сущности. Inspect
реализуется через EguiProbe
.👍2
Всех с наступившим!
Желаю всем быстрой компиляции и благосклонного борроучеккера!
Желаю всем быстрой компиляции и благосклонного борроучеккера!
🥰7
Пофиксил сегодня глупейший баг.
Нужно было из вектора пройтись по всем элементам и вызвать метод, возвращающий
Угадайте, что я сделал не так?
Нужно было из вектора пройтись по всем элементам и вызвать метод, возвращающий
bool,
и вернуть true
если хотя бы один вызов метода вернет true.
Угадайте, что я сделал не так?
This media is not supported in your browser
VIEW IN TELEGRAM
Зарефакторил плагины физики и движения.
Теперь для создания тел и коллайдеров не нужно тянуть ресурс физики, что упрощает API, так как с захваченным ресурсом физики нельзя было вызывать
Теперь тело в физическом мире само проинициализируется перед следующим шагом симуляции.
Еще сделал возможность создавать коллайдеры для тел в дочерних сущностях. При дропе тела или сущности с телом дочерние сущности с коллайдерами будут уничтожены.
Плагин движения теперь не мешает прикладывать силу и импульс к телам из других источников.
А для кинематических тел корректно прикладывается не сила а скорость или позиция.
Так же добавил компонент флаг что бы отмечать позиционные кинематические тела, что бы только к ним применять изменения из компонента трансформа.
А после симуляции только от активных динамических тел пишется новая позиция в компонент трансформа.
На видео шарики при взрыве расталкивают соседей, прикладывая им мгновенный импульс.
В общем, чувствую, пора делать мини-игру, а не просто системами жонглировать.
И желательно прямо с этим обрубком SDF-рендера :)
Если у вас есть идеи, милости прошу в комментарии.
Теперь для создания тел и коллайдеров не нужно тянуть ресурс физики, что упрощает API, так как с захваченным ресурсом физики нельзя было вызывать
world.spawn
и приходилось создавать тело и коллайдер заранее.Теперь тело в физическом мире само проинициализируется перед следующим шагом симуляции.
Еще сделал возможность создавать коллайдеры для тел в дочерних сущностях. При дропе тела или сущности с телом дочерние сущности с коллайдерами будут уничтожены.
Плагин движения теперь не мешает прикладывать силу и импульс к телам из других источников.
А для кинематических тел корректно прикладывается не сила а скорость или позиция.
Так же добавил компонент флаг что бы отмечать позиционные кинематические тела, что бы только к ним применять изменения из компонента трансформа.
А после симуляции только от активных динамических тел пишется новая позиция в компонент трансформа.
На видео шарики при взрыве расталкивают соседей, прикладывая им мгновенный импульс.
В общем, чувствую, пора делать мини-игру, а не просто системами жонглировать.
И желательно прямо с этим обрубком SDF-рендера :)
Если у вас есть идеи, милости прошу в комментарии.
🔥3👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Ах да, точно, еще же я починил отображение нескольких игровых симуляций в ed!
Это не про Раст, но тем не менее, это гениально!
tldr
Используя символы из юникода, который разрешен в идентификаторах, но выглядят как больше/меньше, этот человек делает мономорфизацию с шаблона что бы писать утиный дженерик код в Go.
Да это почти не отличается от того как раньше работали шаблоны в С++ и вполне подошло бы для других языков.
Но вы еще найдите язык
1. Без дженериков
2. С юникодом
Кажется это только Go :)
tldr
Используя символы из юникода, который разрешен в идентификаторах, но выглядят как больше/меньше, этот человек делает мономорфизацию с шаблона что бы писать утиный дженерик код в Go.
Да это почти не отличается от того как раньше работали шаблоны в С++ и вполне подошло бы для других языков.
Но вы еще найдите язык
1. Без дженериков
2. С юникодом
Кажется это только Go :)
🔥3
This media is not supported in your browser
VIEW IN TELEGRAM
Добавил возможность реагировать на сильные столкновения, а не на все вообще.
Коллайдеры не-сенсоры скорее всего только в таких и будут заинтересованны.
На этом я заканчиваю взрывать мячики.
Следующий шаг - завершить рендер пайплайн для пиксельной игры
Коллайдеры не-сенсоры скорее всего только в таких и будут заинтересованны.
На этом я заканчиваю взрывать мячики.
Следующий шаг - завершить рендер пайплайн для пиксельной игры
🔥1
Слегка подвыгорел и взял небольшую паузу в разработке движка.
Планировал чем заняться дальше в первую очередь.
И тут вот такой мотиватор пожаловал.
Наконец-то одобрили мой профиль на GitHub Sponsors
https://github.com/sponsors/zakarumych
Я буду капец как рад даже одному :)
Планировал чем заняться дальше в первую очередь.
И тут вот такой мотиватор пожаловал.
Наконец-то одобрили мой профиль на GitHub Sponsors
https://github.com/sponsors/zakarumych
Я буду капец как рад даже одному :)
GitHub
Sponsor @zakarumych on GitHub Sponsors
In software development for more than a decade and found myself in love with Rust programming language.
Fond of GPU programming.
Complex algorithms, stuff no one ever tried, do common thing but b...
Fond of GPU programming.
Complex algorithms, stuff no one ever tried, do common thing but b...
😁3❤1
Вспомнилось тут, что бусти у меня тоже есть
https://boosty.to/zakarumych
https://boosty.to/zakarumych
Boosty.to
Zakarum - I love Rust and create things.
I love Rust and create things.
Подготовил релиз второй версии нодграфов. Заинтересованные могут посмотреть на изменения в API и дать ценный фидбэк заранее
👍1
https://crates.io/crates/egui-snarl
Версия 0.2
Рефакторинг, API без RefCell и с типизированными идентификаторами нод.
Новые опциональные области для контента в нодах - тело между пинами и футер в самом низу.
Опциональный попап при наведении курсора на ноду.
Фикс скейлинга, теперь почти нет дребезжания размера нод.
И другие мелкие изменения.
Сделал все крупные запланированные ломающие изменения.
Дальше можно и без них все планы реализовать.
Версия 0.2
Рефакторинг, API без RefCell и с типизированными идентификаторами нод.
Новые опциональные области для контента в нодах - тело между пинами и футер в самом низу.
Опциональный попап при наведении курсора на ноду.
Фикс скейлинга, теперь почти нет дребезжания размера нод.
И другие мелкие изменения.
Сделал все крупные запланированные ломающие изменения.
Дальше можно и без них все планы реализовать.
crates.io
crates.io: Rust Package Registry
🔥7
This media is not supported in your browser
VIEW IN TELEGRAM
Пофиксил все артефакты, которые проявились в демке при использовании разных стилей.
Для этого подключил https://github.com/zakarumych/egui-probe и задерайвил
Для этого подключил https://github.com/zakarumych/egui-probe и задерайвил
EguiProbe
для SnarlStyle
и добавил виджет в демку. Теперь все стили графа можно редактировать прямо вот так.🔥3👍1👌1