Неточные коллизии

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

Re: Неточные коллизии

Сообщение AndreyMust19 20 фев 2013, 16:53

Все верно. Пока тело движется, движок вычисляет его положение, а после остановки тела засыпают пока с кто-нибудь с ними снова не столкнется. Поэтому у вас тела реагируют на гравитацию пока падают и перестают "видеть" изменение вектора гравитации после остановки. После изменения вектора гравитации нужно делать каждому телу rigidbody.WakeUp(), чтобы движок подумал что с телом что-то столкнулось.
А вот насчет проваливаний - у меня ничего сквозь пол частично не проваливается.
Нужна помощь? Сами, сами, сами, сами, сами... делаем все сами
AndreyMust19
Адепт
 
Сообщения: 1119
Зарегистрирован: 07 июн 2011, 13:19

Re: Неточные коллизии

Сообщение AlmazDelDiablo 21 фев 2013, 08:59

mynglam писал(а):Пробовал давно играться с гравитацией тоже, и была подобная проблема. Скорее всего дело не в застревании, а в том что объекты успокоившись "засыпают" и пока их не пнёшь они не проснутся даже если сменишь гравитацию. Я пробовал принудительно в коде при смене гравитации делать rigidbody WakeUp, правда не помню получилось или нет.

AndreyMust19 писал(а):Все верно. Пока тело движется, движок вычисляет его положение, а после остановки тела засыпают пока с кто-нибудь с ними снова не столкнется. Поэтому у вас тела реагируют на гравитацию пока падают и перестают "видеть" изменение вектора гравитации после остановки. После изменения вектора гравитации нужно делать каждому телу rigidbody.WakeUp(), чтобы движок подумал что с телом что-то столкнулось.

Ох, ребят, спасибо вам огромное! В этом как раз и была загвоздка! Подправил код — прошелся по всем RigidBody, разбудил их и гравитация стала правило работать. Спасибо большое!

Вот код пробуждения тел:
Синтаксис:
Используется csharp
Rigidbody[] bodies = GameObject.FindObjectsOfType(typeof(Rigidbody)) as Rigidbody[];
foreach(Rigidbody body in bodies) {
        body.WakeUp();
}
Аватара пользователя
AlmazDelDiablo
UNец
 
Сообщения: 25
Зарегистрирован: 17 фев 2013, 13:13
Откуда: Россия, Москва
  • Сайт

Пред.

Вернуться в Почемучка

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и гости: 17