Татарин
Хороший мод, но немного не то, что надо.
Там просто прикрутили physix, а мне же надо физическую логику на основе исходной сетки блоков.
Смотря для чего
Для сетевого шутера (испытано на своей шкуре) лучше подходит "гора держится пока её соединяет хоть один блок, при разрушении которого исчезает". В командном дезматче когда на укрепления твоей команды, словно кипяток на сахар, воздействуют 4-8 игроков противника с мегалопатами, динамитом, миниганами и чем только не, до реалистичности физической модели становится фиолетово. Там главное - успевать ставить префабы-подпорки быстрее, чем враг подтачивает.
Я ещё не задолбал тут всех рассказом, как фрагнул четырёх кемперов разом, подкравшись снизу к их балкончику и перепилив его из минигана? Пропасть была глубокая.
Topak
Не туда. Нужна тема в соответствующем разделе.
Topak
Отписал в личку
Скажите, а есть ли смысл пытаться наколхозить raycasting render? Сразу скажу для чего: майнкрафт пытается всё сделать статичным, даже воду, для этого там странная физика. Мне очень хочется попробовать относительно честную симуляцию, что предполагает большие объёмы обновлений. Кажется намного проще вызывать glTexSubImage3D для всего что обновилось. Очень подкупает возможная простота поиска коллизий, там можно чуть ли не целочисленными операциями посчитать. Но настораживает присутствие цикла в шейдере, который будет ходить по трёхмерной текстуре. Довольно легко представить вырожденный случай, например длинную лестницу с такой же лестничной крышей, которая сломает octree, в итоге лестница прорендерится довольно неглубоко, использовав все итерации до лимита. Во всех пейперах, например здесь, используется пиксельный шейдер с циклом. Утверждается что GPU такое позволить себе смогли совсем недавно, при этом я так и не нашёл внятной таблички какие GPU SIMD а какие SPMD, почитал архитектуру от интелов, похоже там Execution Unit, внутри которого SIMD, но таких юнитов много. Получается, если один из лучей внутри Execution Unit ушёл на много итераций, то весь Unit ждёт именно этот луч, как-то не очень эффективно выходит.
neumond
> майнкрафт пытается всё сделать статичным, даже воду, для этого там странная
> физика. Мне очень хочется попробовать относительно честную симуляцию
Странная физика воды там не чтобы иметь более-менее статичную геометрию, а чтобы вычисления были более-менее локальными ― чтобы кубик воды перед игроком не влиял на кубики далеко от него. Мир бесконечный и как его честно обсчитывать ― не очень понятно, на границе области видимости особенно.
neumond
Не oct-tree, а простой 3х мерный битовый массив
И структура типа мипмап, объединять по 8 кубиков и писать на следующем уровне 1 если хоть один занят
alexzzzz
Согласен, мир нужно ограничить. Вода кстати в майне может растечься очень далеко, хоть на сотню блоков от одного ведра. Убираем ведро, и вся сотня блоков постепенно высохнет.
Aslan
Это примерно то, что я имел ввиду под octree, там несколько другой принцип, в ноде пишется например на сколько блоков можно не проверять от текущих координат.Разные подходы, но результат плюс/минус один и тот же.
neumond
Это называется SDF, не сможешь динамически обновлять мир
А с mipmap - легко
Тема в архиве.