Всем доброго [времени суток], я как игрок обнаружил следующую вещь: почему-то все созданные в модификациях мобы имеют возможность вращаться, но никто не имеет вращающего хитбокса, он же коллайдер. За счёт чего вызвано такое ограничение? Ограничение ли это самого движка и если да, то почему в случае с моделями это работает, а с хитбоксами - нет?
Также, исходя из этого пункта, не видел ещё ни одного хитбокса, привязанного к скелетной анимации.
Где на Гитхабе майнтеста можно увидеть код проверки коллизий?
Возможны ли вращающиеся хитбоксы?
- Andrey01
- Member
- Posts: 2577
- Joined: Wed Oct 19, 2016 15:18
- GitHub: Andrey2470T
- In-game: Andrey01
- Location: Russia, Moscow
Re: Возможны ли вращающиеся хитбоксы?
Класс aabbox3d в Irrlicht, использующийся в игре для описания боксов не поддерживает вращение. (ограничение уже в самом графическом движке). Создать же свой класс с поддержкой вращения скорее всего непросто и потребовало бы больше и сложнее вычисления столкновений боксов друг с другом.
Тут: https://github.com/minetest/minetest/bl ... lision.cpp
Если залезть в код, то можно увидеть, что там используется поле animation в textures. То есть, визуальное вращение мельницы получается если переключать друг за другом одни и те же текстуры и накладывать их на разные части модели! Никакого вращения модели и коллижион бокса по факту там не происходит.
Re: Возможны ли вращающиеся хитбоксы?
Так как я полный профан в этом деле, хочу спросить: правильно понимаю, что проблема в том, что данный метод проверки столкновений (по ссылке на Github) некорректно будет работать с любым параллелепипедом, не направленным строго по осям? Или проблема состоит в том, как вращать точки параллелепипеда в пространстве относительно единого центра?
Andrey01 - благодарю за ответ!
Googol - прошу ссылку на мод.
Andrey01 - благодарю за ответ!
Googol - прошу ссылку на мод.
- Andrey01
- Member
- Posts: 2577
- Joined: Wed Oct 19, 2016 15:18
- GitHub: Andrey2470T
- In-game: Andrey01
- Location: Russia, Moscow
Re: Возможны ли вращающиеся хитбоксы?
Насчет первого не знаю как будет работать. А вот второе - да, проблема. Знаю, что тот класс, о котором я говорил, хранит только две точки ограничивающего параллелепипеда. Чтобы повернуть его, нужно хранить больше двух точек, то есть получается все восемь вершин. Могу сказать, что если все же попытаться повернуть на какой-либо угол две его точки, то в результате параллелепипед просто изменит свою форму, его ребра так и останутся параллельными к осям координат.
Who is online
Users browsing this forum: No registered users and 6 guests