Планирую окунуться в воксельное движкописательство.
Меня очень вдохновляет работа вот этого парня:
https://youtu.be/BoPZIojpbmwTeardown тоже крут, но у этого малоизвестного автора все выглядит в разы технологичнее и прогрессивнее
Тоже хочу свои воксели. Но такие, чтобы каждая частица симулировалась физикой (когда не в состоянии покоя).
Что-то наподобие старой powder toy. Убийца майнкрафта, одним словом.
Главное - физику сделать на целых числах. Звучит вроде осуществимо, ведь все взаимодействия между кубиками происходят исключительно на объемной сетке.
Отдельный вопрос с вращением. У индивидуальных кубиков нет вращения, но группа кубиков должна уметь вращаться за счёт смещения индивидуальных кубиков с разной скоростью.
Насколько я вижу, в teardown и неназванной демке по моей ссылке группы кубиков вращаются, как единое целое. То есть, группа кубиков, отделившись от основной сетки вокселей, начинает жить в своем пространстве и перемещаться/крутиться без привязки к сетке. В этом подходе есть что-то ненатуральное. Я бы хотел, чтобы все симуляции происходили в одной среде, в общей сетке. И отделившаяся группа вокселей перемещалась бы за счёт движения всех вокселей в группе. Это позволяет сохранить целочисленную физику, и в целом как-то более естественно для воксельной физики.
Но вот как вращать группу вокселей (перемещать каждый воксель в группе вокруг условного центрального вокселя) так, чтобы сохранять структуру группы?
Сомневаюсь, что есть готовый ответ, буду изучать. Я ещё ни строчки кода не написал, в общем-то. В отпуске размышляю.