Как добавить физику объекту в unity?
Unity 6, сцена 3D, куб над плоскостью, оба без скриптов. Нужно, чтобы куб падал под силой тяжести и останавливался на полу, а не проходил сквозь него
Компьютеры и связь
Юридическая консультация
Семья и дом
Еда и кулинария
Города и страны, туризм
Unity 6, сцена 3D, куб над плоскостью, оба без скриптов. Нужно, чтобы куб падал под силой тяжести и останавливался на полу, а не проходил сквозь него
Rigidbody даёт физическое движение, Collider задаёт форму столкновения. Для неподвижного пола достаточно подходящего Collider.
Для падающего куба нужны две разные составляющие: Rigidbody для физического движения и Collider для формы столкновения. Добавьте Rigidbody на куб, включите Use Gravity и оставьте Is Kinematic выключенным. Проверьте, что Box Collider охватывает сам куб.
На полу тоже нужен Collider. Если вы используете стандартную плоскость, проверьте уже добавленный компонент вместо автоматического создания дубликата. Для обычной неподвижной поверхности Rigidbody на полу не обязателен. Коллайдер пола должен быть включён и не работать как Trigger, иначе он не будет обычной преградой для падающего тела.
Расположите куб над поверхностью с небольшим зазором. Важно исключить начальное пересечение: оно делает первый результат теста менее понятным, поскольку физика сразу пытается разрешить контакт уже наложенных друг на друга форм. Запустите Play и наблюдайте, падает ли куб и удерживает ли его пол.
Если куб завис в воздухе, сначала посмотрите Use Gravity, Is Kinematic и ограничения перемещения Rigidbody. Если он пролетает через поверхность, проверьте наличие обоих коллайдеров, Is Trigger и настройки столкновений слоёв. Не добавляйте произвольный скрипт движения до выяснения этой простой конфигурации: прямое изменение Transform может мешать оценить именно физический результат.
Вся эта настройка относится к трёхмерной физике. Rigidbody2D и Collider2D взаимодействуют в другой системе и не заменяют компоненты из примера. После успешного теста с кубом можно переносить подходящую форму коллайдера и параметры тела на вашу модель. Масса не является переключателем тяжести: само участие в гравитации определяется соответствующей настройкой Rigidbody.
Подвижный куб
Добавьте кубу Rigidbody. Оставьте Use Gravity включённым, а Is Kinematic выключенным. Для столкновений у куба должен быть подходящий трёхмерный Collider, например Box Collider.
Пол
Проверьте Collider у плоскости. Он должен быть включён, а Is Trigger выключен, если пол должен удерживать куб. Для неподвижного пола отдельный Rigidbody обычно не требуется.
Проверка
Поставьте куб немного выше поверхности, без начального пересечения, и запустите Play. Он должен упасть и остановиться. Если этого не произошло, проверьте активность объектов, ограничения Rigidbody и разрешённые столкновения слоёв. Компоненты Collider2D и Rigidbody2D здесь не подходят: это отдельная физическая система.
Пока нет премиум-вопросов в подборке
Не нашли то, что искали?
Задайте свой вопрос
Ответить на вопрос