Поскольку мир генерируется кусками на лету, у конкретной точки может не быть нужных соседей, так как они ещё не сгенерированы.А как это работает поподробней? В minecraft есть понятия seed'а, разве это не значит, что заранее всё известно о ландшафте? В No Man's Sky можно попасть разным людям на одинаковую планету, а значит seed общий один раз сгенерированный.
Само наличие сида не дает тебе "всю инфу о ландшафте" - ее нужно вычислить через функцию Перлина (или несколько ее прогонов). И тебе придется начинать с первого блока, и ты действительно не знаешь инфы о соседних блоках, потому что ты еще не вычислил, какой блок будет у соседа. Функция генерации блока - это, если грубо f (seed, x, y, z) => BlockType И тебе нужно ее прогнать по всем блокам вокруг игрока, чтобы получить ландшафт
Поскольку мир генерируется кусками на лету, у конкретной точки может не быть нужных соседей, так как они ещё не сгенерированы.А как это работает поподробней? В minecraft есть понятия seed'а, разве это не значит, что заранее всё известно о ландшафте?
В No Man's Sky можно попасть разным людям на одинаковую планету, а значит seed общий один раз сгенерированный.
Само наличие сида не дает тебе "всю инфу о ландшафте" - ее нужно вычислить через функцию Перлина (или несколько ее прогонов). И тебе придется начинать с первого блока, и ты действительно не знаешь инфы о соседних блоках, потому что ты еще не вычислил, какой блок будет у соседа.
Функция генерации блока - это, если грубо
f (seed, x, y, z) => BlockType
И тебе нужно ее прогнать по всем блокам вокруг игрока, чтобы получить ландшафт