Как правильно использовать Rigidbody.AddForce - Форум Игроделов
Чт, 02 Май 2024, 10:46 
 
Приветствую Вас Гость Главная | Регистрация | Вход
Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум Игроделов » UNITY3D » СКРИПТИНГ » Как правильно использовать Rigidbody.AddForce
Как правильно использовать Rigidbody.AddForce
VolkOrievithДата: Пт, 28 Авг 2015, 17:32 | Сообщение # 1
Нет аватара
 
Сообщений: 222
Награды: 0
Репутация: 53
Статус: Offline
Как правильнее и корректнее использовать Rigidbody.AddForce?
В FixedUpdate, в Update, и умножать ли на Time.deltaTime/fixedDeltaTime ?
Или вообще без разницы?
 
СообщениеКак правильнее и корректнее использовать Rigidbody.AddForce?
В FixedUpdate, в Update, и умножать ли на Time.deltaTime/fixedDeltaTime ?
Или вообще без разницы?

Автор - VolkOrievith
Дата добавления - 28 Авг 2015 в 17:32
ЛевшаДата: Сб, 29 Авг 2015, 00:11 | Сообщение # 2
Черный Волк
 
Сообщений: 7257
Награды: 30
Репутация: 3313
Статус: Offline
Цитата VolkOrievith ()
Или вообще без разницы

Все зависит от целей.


X.cor.R (Prologue)
 
Сообщение
Цитата VolkOrievith ()
Или вообще без разницы

Все зависит от целей.

Автор - Левша
Дата добавления - 29 Авг 2015 в 00:11
VolkOrievithДата: Сб, 29 Авг 2015, 08:30 | Сообщение # 3
Нет аватара
 
Сообщений: 222
Награды: 0
Репутация: 53
Статус: Offline
А как вообще работает Rigidbody? Понятно, a = F/m, но каким образом действует AddForce? Как так работает, что и в FixedUpdate и в Update одинаковые результаты, и почему из-за низкого ФПС AddForce "ломается" и работает не так как надо? Например, при одном ФПС вертолет висит в воздухе ровно, а при другом ФПС у него "мощи не хватает"?
p.s.
Опытным путем установил, что нужно умножать на time.DeltaTime .


Сообщение отредактировал VolkOrievith - Сб, 29 Авг 2015, 14:04
 
СообщениеА как вообще работает Rigidbody? Понятно, a = F/m, но каким образом действует AddForce? Как так работает, что и в FixedUpdate и в Update одинаковые результаты, и почему из-за низкого ФПС AddForce "ломается" и работает не так как надо? Например, при одном ФПС вертолет висит в воздухе ровно, а при другом ФПС у него "мощи не хватает"?
p.s.
Опытным путем установил, что нужно умножать на time.DeltaTime .

Автор - VolkOrievith
Дата добавления - 29 Авг 2015 в 08:30
ЛевшаДата: Сб, 29 Авг 2015, 14:06 | Сообщение # 4
Черный Волк
 
Сообщений: 7257
Награды: 30
Репутация: 3313
Статус: Offline
Time.fixedDeltaTime

X.cor.R (Prologue)
 
СообщениеTime.fixedDeltaTime

Автор - Левша
Дата добавления - 29 Авг 2015 в 14:06
VolkOrievithДата: Сб, 29 Авг 2015, 18:12 | Сообщение # 5
Нет аватара
 
Сообщений: 222
Награды: 0
Репутация: 53
Статус: Offline
Ну, я это знал. Я не про это спрашивал. Я спрашивал, как так получается, что и в FixedUpdate и в Update AddForce дает одинаковый результат?
 
СообщениеНу, я это знал. Я не про это спрашивал. Я спрашивал, как так получается, что и в FixedUpdate и в Update AddForce дает одинаковый результат?

Автор - VolkOrievith
Дата добавления - 29 Авг 2015 в 18:12
seamanДата: Сб, 29 Авг 2015, 21:27 | Сообщение # 6
Гуру
 
Сообщений: 1748
Награды: 10
Репутация: 660
Статус: Offline
Ну для начала какой из четырех ЭддФорсов Вы используете?
 
СообщениеНу для начала какой из четырех ЭддФорсов Вы используете?

Автор - seaman
Дата добавления - 29 Авг 2015 в 21:27
VolkOrievithДата: Вс, 30 Авг 2015, 13:20 | Сообщение # 7
Нет аватара
 
Сообщений: 222
Награды: 0
Репутация: 53
Статус: Offline
А они все по-разному?
Я использую AddForceAtPosition, а так же иногда AddReletiveForce.
 
СообщениеА они все по-разному?
Я использую AddForceAtPosition, а так же иногда AddReletiveForce.

Автор - VolkOrievith
Дата добавления - 30 Авг 2015 в 13:20
seamanДата: Вс, 30 Авг 2015, 13:47 | Сообщение # 8
Гуру
 
Сообщений: 1748
Награды: 10
Репутация: 660
Статус: Offline
Вообще получается 16 видов AddForce:
AddForce
AddForceAtPosition
AddRelativeForce
AddExplosionForce
И каждый из четырех перечисленных может быть:
ForceMode.Force
ForceMode.Acceleration
ForceMode.Impulse
ForceMode.VelocityChange
Все 16 ведут себя по разному.
Вообще лучше всю физику в FixedUpdate просто потому что она для этого и предназначена. Однако силы примененные в Update в большинстве случаев ведут себя так же.
Почему падает вертолет? Зависит от того какую из 16 сил Вы применяете и как.
 
СообщениеВообще получается 16 видов AddForce:
AddForce
AddForceAtPosition
AddRelativeForce
AddExplosionForce
И каждый из четырех перечисленных может быть:
ForceMode.Force
ForceMode.Acceleration
ForceMode.Impulse
ForceMode.VelocityChange
Все 16 ведут себя по разному.
Вообще лучше всю физику в FixedUpdate просто потому что она для этого и предназначена. Однако силы примененные в Update в большинстве случаев ведут себя так же.
Почему падает вертолет? Зависит от того какую из 16 сил Вы применяете и как.

Автор - seaman
Дата добавления - 30 Авг 2015 в 13:47
VolkOrievithДата: Вс, 30 Авг 2015, 15:53 | Сообщение # 9
Нет аватара
 
Сообщений: 222
Награды: 0
Репутация: 53
Статус: Offline
Я не использовал ForceMode.
Думаю, по умолчанию было ForceMode.Force.
Благодарю за ответ, я все понял)
 
СообщениеЯ не использовал ForceMode.
Думаю, по умолчанию было ForceMode.Force.
Благодарю за ответ, я все понял)

Автор - VolkOrievith
Дата добавления - 30 Авг 2015 в 15:53
Форум Игроделов » UNITY3D » СКРИПТИНГ » Как правильно использовать Rigidbody.AddForce
  • Страница 1 из 1
  • 1
Поиск:
Загрузка...

Game Creating CommUnity © 2009 - 2024