RigidBody.enabled
BassPiraT92 Дата: Суббота, 21 Ноября 2020, 17:23 | Сообщение # 1
участник
Сейчас нет на сайте
Кто знаком с оптимизацией, подскажите пожалуйста. Есть 90 объектов которым присвоен компоненты Rigidbody и когда я через цикл все их активирую enable=true, то при билде на андроиде происходит фриз на секунду или меньше, как можно оптимизировать? Пробывал и через коррутину, но эффекта ноль либо же не значительный.
GameDev2 Дата: Суббота, 21 Ноября 2020, 22:27 | Сообщение # 2
почетный гость
Сейчас нет на сайте
Активируй не в один цикл. Например, проверяй fps, если он условно 60, то активируй один, проверяй ещё раз, затем другой... Но если это не критично для геймплея...
drcrack Дата: Суббота, 21 Ноября 2020, 23:07 | Сообщение # 3
старожил
Сейчас нет на сайте
какие на обьектах коллайдеры? какие настройки физики в проекте?Цитата
Пробывал и через коррутину, но эффекта ноль либо же не значительный.
и покажи корутину
BassPiraT92 Дата: Четверг, 26 Ноября 2020, 13:42 | Сообщение # 4
участник
Сейчас нет на сайте
drcrack ,
Код
while (true) { for (int i = 0; i < RBBase.Length; i++) { RBBase[i].transform.SetParent(null); RBBase[i].useGravity = true; RBBase[i].isKinematic = false; RBmesh[i].enabled = true; RBmesh[i].convex = true; // yield return new WaitForSeconds(0.003f); }
drcrack Дата: Четверг, 26 Ноября 2020, 16:58 | Сообщение # 5
старожил
Сейчас нет на сайте
попробуй так:Код
var wait = new WaitForFixedUpdate(); for (int i = 0; i < RBBase.Length; i++) { RBBase[i].transform.SetParent(null); RBBase[i].useGravity = true; RBBase[i].isKinematic = false; RBmesh[i].enabled = true; RBmesh[i].convex = true; yield return wait; }
Сообщение отредактировал drcrack - Четверг, 26 Ноября 2020, 16:59
BassPiraT92 Дата: Пятница, 27 Ноября 2020, 06:43 | Сообщение # 6
участник
Сейчас нет на сайте
drcrack , тоже самое, что yield return new WaitForSeconds(0.003f); , с задержкой цикл происходит, что не правильно выглядит. НО без фризов
IlyaKos Дата: Пятница, 27 Ноября 2020, 17:27 | Сообщение # 7
участник
Сейчас нет на сайте
Не уверен, но вроде можно включать/выключать через rigidbody.detectCollisions = true/false
Сообщение отредактировал IlyaKos - Пятница, 27 Ноября 2020, 17:27
drcrack Дата: Пятница, 27 Ноября 2020, 17:38 | Сообщение # 8
старожил
Сейчас нет на сайте
Цитата
с задержкой цикл происходит, что не правильно выглядит.
так вроде в этом и смысл корутины
BassPiraT92 Дата: Суббота, 28 Ноября 2020, 09:41 | Сообщение # 9
участник
Сейчас нет на сайте
drcrack , ну да но я имею в виду, что мне нужно в 90 обьектов разом активировать физику, а если с задержкой то хрень ваще( как вот оптимизировать либо же как то прописать логику что бы не загружалась сильно в цикле
drcrack Дата: Суббота, 28 Ноября 2020, 14:33 | Сообщение # 10
старожил
Сейчас нет на сайте
то что тебе не нужна корутина уже понятно, но ты не ответил на другие вопросы из моего поста