Как сделать ландшафт, который действует как глобус?
Я хочу сделать местность, где конечная точка также является отправной точкой. Так что, как на земле, вы можете просто идти по прямой и через некоторое время вы достигнете точки, в которой вы начали снова.
Спасибо за вашу помощь!
1 ответ
Система ландшафта Unity может создавать только квадратные области местности. Так что это не может быть сделано как таковое.
Тем не менее, вы можете приблизиться к этому, и я расскажу вам, как я сделал это в моем проекте с некоторым успехом.
Выясните, сколько местности вам нужно, чтобы покрыть "земной шар", мы скажем, что требуется NxN кусков местности, которые мы назовем "плиткой".
Далее вы делаете 9 из этих плиток NxN и размещаете их в сетке 3х3. Поместите камеру в центральную ячейку сетки, и когда камера покидает эту ячейку, определите, где она находится на ячейке, на которой она находится, затем измените ее положение на соответствующую позицию на центральной ячейке.
Это даст вам "тороидальный" мир. Я обнаружил, что это было самое простое решение - заставить игрока видеть вещи на другом "углу" карты мира, а затем перейти к нему без графических проблем.
Если у вас есть другие объекты, живущие в мире, это создает некоторые дополнительные проблемы. Одна вещь, с которой вы можете начать, это дублировать их 9x и начинать их с одинаковой относительной позиции каждой плитки. Если они взаимодействуют только с игроком, это должно быть хорошо, только когда игрок взаимодействует с 1, остальные 8 делают то, что делает 1.
Если другим жителям земного шара придется взаимодействовать друг с другом, вам понадобится способ выяснить, как заставить все 9 копий всего вести себя согласованно, но этот вопрос слишком широк, чтобы его здесь обсуждать.