Skip to content

Latest commit

 

History

History
56 lines (37 loc) · 3.59 KB

File metadata and controls

56 lines (37 loc) · 3.59 KB

🧪 Практическое задание: Transform и иерархия

🎯 Цель

Научиться управлять позицией, поворотом (Euler и Quaternion), масштабом и иерархией объектов через инспектор и скрипты в Unity.

🧱 Сцена для задания

Создайте новую 3D-сцену. На ней будут:

  • Платформа (Cube)
  • Красный куб (ChildCube)
  • Синий куб (EnemyCube)
  • Пустой родительский объект (ParentHolder)

📝 Задачи (выполните по порядку)

1️⃣ Иерархия (Parent/Child)

  • Создайте ParentHolder (Create Empty).
  • Сделайте ChildCube (красный куб) дочерним объектом ParentHolder (перетащите в иерархии).
  • Установите локальную позицию ChildCube относительно ParentHolder: (1, 0, 0).
  • Переместите ParentHolder в (3, 2, 0). Где окажется ChildCube? (Ответ: на позиции (4, 2, 0) в мировых координатах).

2️⃣ Позиция и поворот через Euler

  • Установите EnemyCube (синий куб) в позицию (0, 1, 5).
  • Поверните его по оси Y на 45° через инспектор (Euler).
  • Напишите короткий скрипт RotateEnemy, который в методе Update() каждую секунду увеличивает transform.eulerAngles.y на 30°. Прикрепите к EnemyCube.

3️⃣ Поворот через Quaternion (LookRotation)

  • Создайте пустой объект Target в позиции (2, 1, 0).
  • Напишите скрипт FaceTarget для ChildCube: используйте Quaternion.LookRotation, чтобы красный куб всегда смотрел в сторону Target. Не используйте Euler.
  • Проверьте: перемещайте Target мышью в Scene View — ChildCube должен поворачиваться мгновенно.

4️⃣ Масштаб и глобальные координаты

  • Установите масштаб ParentHolder в (2, 1, 1).
  • Выведите в консоль (Debug.Log) глобальный масштаб (transform.lossyScale) для ChildCube. Объясните, почему он не (1,1,1).
  • Измените локальный масштаб ChildCube на (0.5, 1, 1). Посчитайте итоговый размер по X вручную.

5️⃣ Бонус (необязательно)

  • Напишите скрипт Orbit, который вращает ChildCube вокруг ParentHolder по кругу, используя transform.RotateAround. Параметры: скорость 30° в секунду, ось Y.

✅ Что проверяется (для самопроверки)

  • Скрипты RotateEnemy, FaceTarget, Orbit (если делали).
  • Значения из консоли (п. 4) и ответ на вопрос про lossyScale.

⭐ Если этот проект был полезен, поставьте звезду на GitHub!