У меня есть препятствие, такое как палочка, которая в вертикальном положении. Это движение по вектору скорости в rigibody2d (-4,0). И у меня есть герой, который всегда остается в центре игрового экрана. Когда герой сталкивается с палкой, я хочу, чтобы это препятствие пролетел с некоторым вращением, в зависимости от точки столкновения (например, законы физики, если точка столкновения у краев, затем больше крутящего момента).Единство: AddTorque не работает
Но, AddTorque на rigibody2D не работает, хотя AddForce отлично работает.
Существует код столкновения
void OnCollisionEnter2D(Collision2D other)
{
if (other.collider.tag == "Block")
{
if (InvBonusEnabled) {
other.collider.isTrigger = true;
other.rigidbody.isKinematic = false;
other.rigidbody.AddTorque(100); //simple test doesn't work
other.rigidbody.AddForce(new Vector2(200, 50));
//
}
}
}
Я не могу прикрепить экран с сборного rigibody2D и настройки collider2D (репутация 10 требующегося на этой StackOverflow)
Rigibody2D
Масса: 1
Линейное перемещение: 0
Угловая Drag: 0,05
Гравитация Масштаб: 1
IsKinematic: Правда
Все Замораживание ПОлОжЕНИЕ и вращения являются ложными
Collider2D
IsTrigger: ложные
Что я делаю неправильно?
Только: Rigidbody2D гь = other.gameObject.GetComponent(); Но она по-прежнему не работает –