Помощь по спавну и удалению объектов на Unity3D!

Хочу создать игру с помощью Unity3D по типу динозаврика из google chrome только в 3d, движение игрока и прыжки я сделал, но как спавнить и удалять платформы так, чтобы не засорять игру(оптимизация) и не было такой проблемы, что объекты не успевают появляться и игрок падает в пустоту, я никак не могу реализовать.Сама платформа


Ответы (1 шт):

Автор решения: Максим Фисман

Гугл динозаврик в 3Д? Хауди Хо смотрели?

Ну если сделать совсем просто, то можно создать 2-3 платформы и поставить сзади динозаврика детектор (причем детектор прикрепить к динозаврику, чтобы когда бежал динозаврик двигался и детектор). Как только в детектор будет входить платформа он будет изменять устанавливать платформу на некотором расстоянии впереди игрока, в то время как сам игрок будет бежать по другой платформе. Обратите внимание, что именно менять позицию платфоры, а не удалять ее и впереди создавать другую, так как это затратнее.

Насчет вашего вопроса, можно ли двигать не динозаврика, а платформу, а динозарик стоит на месте: вообще можно, но я думаю, что это хуже, так как если помимо игрока и платформы будут и какие-то дополнительные элементы: враги (в оригинальной игре кактусы и птицы) или, например, какие-нибудь цветочки для красоты, то:

Если динозаврик двигается, то игре придется всего лишь изменять позицию динозаврика и камеры (ну и детектора)

Если платформа двигается, то игре придется просчитывать и изменять позиции вообще всех объектов на сцене: кактусов, растений и чего там у вас будет для красоты

P.S. Расстояние между динозавриком и детектором должно быть равно или даже чуть больше, чем длина одной платформы. P.P.S. Периодически советую возвращать динозаврика ну нулевые координаты, чтобы его координаты не уходили в триллионы, но если вы сделаете сложную игру, то это не обязательно, так как вряд ли игроки смогут так долго не проигрывать.

→ Ссылка