Как оптимизировать сцену Unity с 125 000+ GameObjects? - PullRequest
0 голосов
/ 01 ноября 2019

В настоящее время я работаю над программой, которая требует от меня появления в моей сцене более 125 000 сферных объектов в заданных точках (x, y, z), и я столкнулся с очевидной проблемой задержки.

Прежде чем дать конкретику, я хотел бы отметить, что я уже искал ответы на эту тему, но не смог найти ответ, учитывая тот факт, что люди (по понятным причинам) сразу же отступают от предположения, что ФП нене порождает столько объектов, однако, в данном случае это не вариант, так как мне нужно сделать это, чтобы приложение работало по назначению.

Что касается специфики, то объекты, которые я порождаю, - это Unity Sphere 3DСборные объекты в масштабе 0,50 по x, y и z с прикрепленным к нему свойством материала, которое влияет на его цвет.

Если у кого-то есть какие-либо идеи относительно того, как улучшить производительность, это было бы очень полезно!

Ответы [ 2 ]

0 голосов
/ 01 ноября 2019

Может быть, эти советы решат проблему:

0 голосов
/ 01 ноября 2019

Несколько вещей, которые я бы изучил, могут работать в зависимости от того, что вы делаете для своей сцены. Первое, что я бы предложил, это выборка окклюзии (если она применима) - в основном, только рендеринг объектов GameObject, которые видны в текущий момент времени. У вас все еще будет ссылка на GameObject в вашей сцене, однако эти ссылки будут отображаться только в том случае, если они видны камере. Есть множество способов сделать это, Unity имеет запеченный метод, если вы предпочитаете, но я видел другие методы вокруг.

https://docs.unity3d.com/Manual/OcclusionCulling.html

Если они все должны быть в поле зрения,тогда могли бы быть некоторые способы сделать это легче, если бы все это было не в моей голове, когда я на работе, но, может быть, вы могли бы немного выдумать материал, который нужно визуализировать? Это означает, что каждой сфере необходимо нанести материал на нее, или вы могли бы уйти с 1/2 или 1/3 сфер, имеющих материал? Я не уверен, что вы делаете в своей сцене, но нужно ли отображать фактические рендереры Mesh и Texture, или вы могли бы просто избежать порождения части ваших сфер в качестве одних только коллайдеров?

Просто пища для размышлений, дайте мне знать, что вы думаете! Я рад помочь мозговому штурму.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...