Unity - Когда именно объекты в иерархии закреплены? - PullRequest
0 голосов
/ 22 февраля 2019

Давайте представим, что у меня есть готовый объект.

Я могу либо добавить его в иерархию вручную, либо создать его динамически, например, в каком-нибудь "активном" методе.

Мой вопроспервый способ как-нибудь быстрее?Выполняет ли Unity какие-либо оптимизации, основанные на том, что находится в иерархии до запуска игры?

Или все то же самое, и внутри Unity просто вызывает метод Instantiate для всех объектов в иерархии до начала игры?

Кстати: кто-нибудь из вас знает книгу, в которой подробно рассказывается об Unity?

1 Ответ

0 голосов
/ 28 июня 2019

Я думаю, что вы, возможно, слишком оптимистичны здесь.Вы слишком беспокоитесь о чем-то, что, вероятно, не окажет заметного влияния на вашу игру.

Я бы посоветовал подойти к этому с точки зрения удобства использования.Если ваш объект постоянно находится в сцене или должен начинаться в сцене, почему бы не поместить его в иерархию перед запуском?Это позволяет вам просматривать, перемещать его и видеть, как он взаимодействует с другими объектами.

С другой стороны, если ваш объект должен динамически создаваться на лету, то, вероятно, его не должно быть на сцене.с самого начала, и, возможно, должен создаваться только тогда, когда это необходимо.

Я бы подошел к такого рода проблемам с учетом вашего варианта использования, а не беспокоился об оптимизации во время разработки.Только когда вы сталкиваетесь с замедлением и т. Д., Используйте профилировщики и тестирование, чтобы увидеть, где можно срезать углы.

Важно помнить, что в высокооптимизированную незаконченную игру нельзя играть, а в менееОптимизированная, но законченная игра.Потратьте больше времени на игровую механику и выполнение, а затем, при необходимости, оптимизируйте ее.

...