Сообщение от Taugeshtu
Если так в майнкрафте (а судя по тормозам, это таки так) - нотч адский говнокодер. Набуя?! Тут уже говорили - дискретизируем координату, читаем соседние ячейки.. Регулярная сетка же, клинически простой случай.
|
Стоит заметить что при использовании упомянутого мной метода, учитывая то что размер игрока - ~0.8x0.8x1.6 блоков, то максимальное количество проверяемых за раз блоков будет равно 2х2х3 = 12.
Я не смотрел, как реализованы столкновения в MC, но логично предположить что используются циклы, поскольку далеко не все объекты имеют одинаковый физический размер. То есть, чтобы реализовать столкновения для пауков (у которых bounding box размерами в 1.*х1.*х0.*), придется переписывать функцию заново.
Сообщение от Den
Хм, а если камера находится на поверности, а под землёй есть пещера. В пещере будут отрисовыватся кубы?
|
Как факт, да. Так же если отредактировать terrain.png, сделав части базовых текстур полу-прозрачными (просто удалением каждого n-ого пикселя), то вы сможете созерцать весь подземный мир, стоя на поверхности.
Не думаю что можно определить надобность прорисовки нижних секторов карты, не делая массу raytrace'ов. А расходы на проведение оных скорее всего займут времени больше чем прорисовка тех немногочисленных сторон кубов в пещерах.
По последним версиям это сложно проверить, но в Classic версии игра не рисовала все блоки которые "явно" находились у игрока за спиной. Это достаточно очевидный способ оптимизации, но для однотипного мира уменьшает затраты ресурсов в ~2 раза.
Сообщение от JACUK
В браузере?..а можно поподробней 
|
Если вы владеете лицензионной версией игры, то вы можете играть в нее в браузере, авторизовавшись на minecraft.net (сверху - 'Login', после - 'play (in browser)').