Четверг, 18 Апреля 2024, 10:47

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » RigidBody.enabled (Оптимизация)
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,

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
старожил
Сейчас нет на сайте
Цитата
с задержкой цикл происходит, что не правильно выглядит.

так вроде в этом и смысл корутины :D
BassPiraT92Дата: Суббота, 28 Ноября 2020, 09:41 | Сообщение # 9
участник
Сейчас нет на сайте
drcrack, ну да но я имею в виду, что мне нужно в 90 обьектов разом активировать физику, а если с задержкой то хрень ваще( как вот оптимизировать либо же как то прописать логику что бы не загружалась сильно в цикле
drcrackДата: Суббота, 28 Ноября 2020, 14:33 | Сообщение # 10
старожил
Сейчас нет на сайте
то что тебе не нужна корутина уже понятно, но ты не ответил на другие вопросы из моего поста
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » RigidBody.enabled (Оптимизация)
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг