| engineerklub | Дата: Вторник, 25.08.2026, 06:01 | Сообщение # 1 |
 Генералиссимус
Группа: Администраторы
Сообщений: 40318
Статус: Offline
| Компонент физики Rigidbody в Unity. Game дизайн
ДО СИБГУТИ Лабораторная работа №1 по дисциплине "Game дизайн" (2024) Цель работы: изучить свойства компонента Rigidbody, освоить реализацию игровых механик с применением свойств этого компонента. Работа представляет собой отчет в формате .docx на 11 листах с подробным описанием хода работы, развернутыми выводами и скриншотами (5 шт)
Задание 3.1 Создайте сцену, изображенную на рисунке ниже:
Элементы: - CubeGround – земля; - Stage - блок ступени на земле; - CubeSid - тёмный куб размером 1х1 метр; - CubeNancy - светлый куб размером 1х1 метр.
3.2 Добавьте компонент Rigidbody на объекты CubeSid и CubeNancy. Запустите сцену, проверьте что кубики падают вниз и останавливаются на земле.
3.3 Установите массу для объекта CubeSid = 1 кг, для объекта CubeNancy = 100 кг. Запустите сцену. Какой из двух кубов быстрее достигнет земли и почему? Дайте развернутый ответ.
3.4 Измените значение свойства Drag внутри компонента Rigidbody так, чтобы CubeSid достигал земли быстрее чем CubeNancy.
3.5 Дополните сцену сферой и эстакадой, по которой будет скатываться сфера с компонентом физии твердого тела Rigidbody. Установите массу сферы равную 100 кг, размер оставьте по умолчанию. Поместите сферу в верхней части эстакады, а кубы Sid & Nancy будут помещаться в нижней части с целью тестирования механики:
3.6 Протестируйте наезд сферы на кубы разной массы (1 и 100 кг). Опишите характер столкновения, влияет ли параметр Drag (если да, — то как?)
3.7 Модифицируйте сцену для тестирования параметров Drag и Angular Drag: Drag = 0, Angular Drag = 0.05
3.9 Протестируйте, что произойдет если указать разные значения для Drag и Angular Drag. Имеет ли это какую-то практическую ценность? Почему по умолчанию значение Angular Drag близко к нулю, но не равно ему? Проверьте что произойдет, если указать значение Angular Drag = 0. Дайте развернутый ответ
3.9 Назначьте на платформу Stage компонент Rigidbody и отключите гравитацию (Use Gravity). Проверьте, что произойдет при запуске сцены.
3.10 Во вкладке Project Settings - Physics увеличьте значение силы гравитации. Подберите такое значение силы, при котором скорость падения достаточно большая для того, чтобы движок не успел обработать столкновение кубов Sid & Nancy с платформами Stage и Ground. В некоторых случаях можно добавиться интересного эффекта. Напишите найденное значение и от чего оно зависит (по вашему мнению)
3.11 Верните значение гравитации к настройкам по умолчанию.
3.12 Для объекта Stage зафиксируйте свойство FreezePosition внутри компонента Rigidbody таким образом, чтобы объект вращался вокруг оси, не падая вниз. Укажите, как должна выглядеть настройка FreezePosition?
3.13 isKinematic позволяет сделать объект нефизическим. Если поставить галочку isKinematic, — то объект будет жестко стоять на месте. При этом управлять кинематическими свойствами объекта можно во время выполнения сцены. Запустите сцену повторно и активируйте свойство isKinematic на объекте Stage во время вращения. Что произойдет, если галочку вновь отключить при запущенной сцене? Продолжит ли платформа своё вращение? Дайте развернутый ответ
3.14 Поднимете объект SidCube на высоту 1000 метров и запустите сцену. Дождитесь момента, когда куб достигнет земли Ground при падении. По какой причине куб проскакивает землю, не останавливаясь? Какие могут быть способы решения этой проблемы? Дайте развернутый ответ
3.15 В скрипт файле ниже приведён пример, в котором происходит управление свойствами компонента RigidBody при нажатии на кнопку Space. Для работы созданный скрипт-файл следует подключить к объекту, свойствами которого планируется управлять при нажатии на клавишу Space: using UnityEngine; public class RigidbodyMod : MonoBehaviour { private Rigidbody _rb; void Start() { _rb = GetComponent<Rigidbody>(); } void Update() { if(Input.GetKeyDown(KeyCode.Space)) { //_rb.isKinematic = true; _rb.mass= 3.0f; _rb.drag = 0; _rb.angularDrag = 0.05f; _rb.useGravity= true; } } }
3.16 Используя этот сценарий и знания, полученные в работе, доработайте игровую сцену и создайте “уникальный интерактив”. Часть действий на сцене должны запускаться при нажатии клавиш клавиатуры.
3.17 Напишите развернутый вывод по проделанной работе. Как знания свойств компонентов RigidBody помогут в создании интерактивных приложений, игр и симуляторов?
СКАЧАТЬ
|
| |
|
|