Этот конспект не сохранится

Закроешь вкладку — потеряешь. Зарегистрируйся — и он будет в библиотеке навсегда.

Telegram

Ваш конспект

YouTubeПолный Курс Unity Engine / Изучение в одном видео для начинающих с нуля

🎮 Unity: Полный конспект для начинающих

🎯 Ключевые тезисы

  • Unity — мощный и популярный кроссплатформенный игровой движок, идеальный для начала пути в геймдеве благодаря простоте, мощности и доступности для одиночных разработчиков.
  • Основное внимание уделяется механике и функционалу движка, а не программированию. Следующий шаг — изучение языка C# для создания игровой логики.
  • Движок предоставляет огромные возможности для создания как 2D, так и 3D-игр: современную графику, физику, анимацию, UI и многое другое.

🔥 Возможности и преимущества Unity

  • Простота разработки: Создание игр через перетаскивание объектов, минимальный порог входа благодаря визуальному редактору.
  • Кроссплатформенность: Написав код один раз, можно выпустить игру под множество платформ (Windows, macOS, Linux, Android, iOS, консоли).
  • Богатый функционал: Поддержка современной графики, физики, анимации, аудио, пользовательского интерфейса (UI), кат-сцен.
  • Примеры успешных проектов: Firewatch, The Forest, Rick and Morty: Virtual Rick-ality, Kerbal Space Program.

💻 Установка и настройка Unity

📥 Установка движка

  1. Регистрация: Рекомендуется создать аккаунт на официальном сайте Unity.
  2. Выбор версии: Для личного использования и обучения подходит бесплатная версия Unity Personal.
    • ⚠️ Лицензию потребуется купить, если годовой доход от игр превысит $100 000.
  3. Установка через Unity Hub:
    • Скачивается и устанавливается Unity Hub — менеджер для управления версиями движка и проектами.
    • В разделе Installs добавляется нужная версия Unity (рекомендуется стабильный релиз, а не альфа/бета).
    • При установке выбираются необходимые модули (например, для разработки под Android или iOS).

🛠 Первый проект

  1. Создание проекта: В Unity Hub на вкладке Projects нажать New.
  2. Выбор шаблона: Можно выбрать 2D или 3D. Важно: внутри проекта можно легко переключаться между 2D и 3D режимами.
  3. Сохранение: Проект сохраняется как сцена (.unity файл). Несколько сцен = несколько уровней в игре.

🧭 Интерфейс Unity: Основные вкладки

🗂 Иерархия (Hierarchy)

  • Отображает все игровые объекты (GameObjects), находящиеся на текущей сцене (уровне).
  • С объектами можно взаимодействовать: переименовывать, удалять, копировать, дублировать.

📁 Проект (Project)

  • Показывает все файлы проекта: скрипты, текстуры, аудио, материалы, префабы.
  • Объекты из этой папки можно перетаскивать на сцену.

🎬 Сцена (Scene) и Игра (Game)

  • Сцена: Редактор уровня. Здесь расставляются и редактируются объекты.
    • Инструменты: Перемещение (W), Вращение (E), Масштабирование (R), Универсальный Rect Tool (T).
    • Навигация: Приближение колёсиком мыши, центрирование на объекте по клавише F, вращение вида с зажатым Alt.
  • Игра (Game): Показывает вид из основной камеры — то, что увидит игрок.

🔍 Инспектор (Inspector)

  • Отображает свойства и компоненты выбранного объекта.
  • Ключевой компонент Transform: контролирует позицию (Position), вращение (Rotation) и масштаб (Scale) объекта.
  • Компоненты добавляют объекту функциональность (физику, рендеринг, скрипты и т.д.).

📟 Консоль (Console)

  • Вывод системных сообщений, логов, предупреждений и ошибок из кода.

🧱 Работа с 3D-объектами и физикой

🧊 Примитивные 3D-объекты

Unity предоставляет набор стандартных объектов:

  • Cube (Куб), Sphere (Сфера), Capsule (Капсула), Cylinder (Цилиндр).
  • Plane / Quad (Плоскость) — для создания поверхностей.
  • 3D Text (Трёхмерный текст).
  • Terrain (Ландшафт) — для создания сложного рельефа.

Каждый объект по умолчанию содержит:

  • Mesh Filter (форма объекта).
  • Mesh Renderer (отрисовка объекта, материалы).
  • Collider (коллайдер) — определяет твёрдые границы объекта для физики.

⚙️ Добавление физики (Rigidbody)

  • Компонент Rigidbody делает объект подверженным физическим законам.
  • Use Gravity: Включение/отключение гравитации.
  • Mass: Масса объекта (влияет на силу столкновений).
  • Drag: Сопротивление воздуха (замедляет падение).
  • Is Kinematic: Делает объект статичным (не подверженным физике, но управляемым скриптами).

🎥 Работа с камерой (Camera)

Основные настройки компонента Camera:

  • Background: Задний фон. Можно установить Skybox (небо), Solid Color (однотонный) или None.
  • Projection:
    • Perspective (Перспектива) — для 3D-игр, объекты уменьшаются с расстоянием.
    • Orthographic (Ортографическая) — для 2D-игр, размер объектов не зависит от расстояния.
  • Field of View: Угол обзора камеры.
  • Clipping Planes:
    • Near — минимальное расстояние видимости.
    • Far — максимальное расстояние видимости.

💡 Работа со светом (Light)

Типы источников света:

  • Directional Light (Направленный свет) — аналог солнца, освещает всю сцену равномерно. Важно только его вращение.
  • Point Light (Точечный свет) — как лампочка, свет расходится сферой.
  • Spotlight (Прожектор) — направленный луч света конусом.

Настройки компонента Light:

  • Type: Выбор типа источника.
  • Color: Цвет света.
  • Intensity: Интенсивность (яркость).
  • Shadows: Настройки теней (Hard Shadows — производительнее, Soft Shadows — реалистичнее).

🖥 Создание пользовательского интерфейса (UI)

🖼 Основные объекты UI

При создании любого UI-элемента автоматически добавляются:

  • Canvas (Холст) — контейнер для всех UI-элементов.
    • Для корректного отображения привяжите Canvas к камере (Render Mode > Screen Space - Camera).
    • Для адаптивности установите Canvas Scaler > UI Scale Mode > Scale With Screen Size.
  • Event System — система обработки событий (нажатия, скролл и т.д.). Не удалять!

📝 Элементы UI

  • Text (Текст): Добавление текстовых надписей. Можно менять шрифт, размер, цвет, выравнивание. Поддерживает простые HTML-теги.
  • Image (Изображение): Отображение картинок (спрайтов). Для загрузки изображения его Texture Type в настройках импорта нужно изменить на Sprite (2D and UI).
  • Button (Кнопка): Состоит из объекта Image (внешний вид) и компонента Button (логика).
    • В компоненте Button настраиваются цвета для разных состояний (Normal, Highlighted, Pressed).
    • Можно добавить обработчик события (On Click()), чтобы привязать действие (например, скрыть/показать объект) без написания кода.

🧰 Другие UI-элементы

Unity предоставляет богатый набор UI-элементов для создания интерфейсов:

  • Dropdown (Выпадающий список). Можно добавлять/редактировать опции и иконки.
  • Panel (Панель) — контейнер для группировки других элементов. Используется как контейнер или элемент декора.
  • Input Field (Поле ввода) — для ввода текста. Состоит из самого поля, Placeholder (текст-подсказка) и Text (введенный текст).
  • Toggle (Переключатель) — галочка.
  • Slider (Ползунок) и Scrollbar — элементы для прокрутки и выбора значений.

🎨 Основы 2D-разработки

2D и 3D проекты в Unity имеют ключевые различия. При создании 2D-проекта автоматически настраивается:

  • Ортографическая камера (объекты не искажаются с расстоянием).
  • Отсутствует Directional Light (не влияет на спрайты).
  • Skybox заменен на Solid Color.

Работа со спрайтами:

  1. Спрайты (изображения) перетаскиваются в проект. В 2D-шаблоне их Type автоматически ставится как Sprite.
  2. Sprite Renderer — компонент для отображения. Позволяет зеркалить картинку (Flip X/Y).
  3. Спрайтшит (Sprite Sheet) — это набор изображений для создания анимации путем быстрого переключения между ними. Чтобы его использовать:
    • В настройках изображения выбрать Sprite Mode: Multiple.
    • Открыть Sprite EditorSliceAutomaticApply.
  4. Чтобы создать анимацию, нужно перетащить набор кадров на сцену. Unity автоматически создаст Animation и Animator. Важно проверить галочку Loop Time.

2D-физика:

  • Для коллизий используются компоненты с приставкой 2D (например, Box Collider 2D).
  • Физика добавляется через Rigidbody 2D.
  • Можно создавать Physics Material 2D для настройки трения (Friction) и упругости (Bounciness).

⚙️ Префабы (Prefabs) и Asset Store

📦 Префабы (Prefabs)

  • Префаб — это шаблон объекта, вынесенный в папку проекта (объект становится синим).
  • Преимущества:
    • Быстрое создание копий на разных сценах.
    • Централизованное редактирование: изменения в префабе применяются ко всем его экземплярам (можно принудительно Apply All или Revert All).
  • Создание: перетащите готовый объект из иерархии в папку проекта.

🛒 Asset Store

  • Официальный магазин ресурсов для Unity (assetstore.unity.com).
  • Содержит платные и бесплатные ассеты (3D-модели, текстуры, звуки, готовые скрипты и системы), что значительно ускоряет разработку.
  • Как использовать:
    1. Найдите ассет в браузере, нажмите Add to My Assets.
    2. В Unity откройте Package Manager (WindowPackage Manager).
    3. Выберите "My Assets", скачайте и импортируйте нужный пакет.

👤 Готовые контроллеры персонажей

Для быстрого прототипирования можно использовать готовые контроллеры из Asset Store (например, First Person Controller).

  • Включают в себя все базовые механики: передвижение, прыжок, вращение камеры.
  • Добавляются в проект как префаб. Интегрированная камера может заменить основную.

🌳 Создание 3D-ландшафта (Terrain)

Инструмент Terrain — мощный и гибкий инструмент для создания ландшафта (горы, долины).

  • Raise/Lower Terrain — поднять/опустить terrain (для создания гор и впадин).
  • Paint Holes — создавать отверстия (например, для пещер).
  • Smooth Height — сглаживать резкие перепады.
  • Paint Texture — наносить текстуры (земля, трава, камень). Предварительно текстуры нужно добавить в палитру terrain.
  • Paint Trees — расставлять деревья. Можно добавить несколько моделей, настроить плотность, случайную высоту и цвет.
  • В настройках (Terrain Settings) можно задать общий материал и размер карты.

🌤️ Настройка атмосферы и освещения

Атмосферу игры сильно влияют настройки освещения, тумана и Skybox.

  • Окно Lighting (WindowRenderingLighting):
    • Environment — настройка Skybox (можно использовать готовые материалы из Asset Store) и Fog (туман). Туман сильно влияет на атмосферу.
    • Изменение цвета и интенсивности окружающего света (Environment Lighting) кардинально меняет настроение сцены.

📦 Сборка проекта (Build Settings)

Перед компиляцией игры необходимо:

  1. Открыть FileBuild Settings.
  2. Перетащить в список сцены в нужном порядке (первая — стартовая).
  3. Выбрать целевую платформу (ПК, Android, iOS) и нажать Switch Platform.
  4. Настроить параметры в Player Settings:
    • Название компании, продукта, версия.
    • Иконки приложения.
    • Ориентация экрана (для мобильных).
    • Для Android: требуется создать Keystore для подписи приложения.
  5. Нажать Build и выбрать папку для сохранения исполняемого файла.

🕹️ Демонстрация готового проекта и дальнейший путь

В финальном проекте реализован базовый функционал 3D-игрока (передвижение, прыжок, управление камерой), что показывает, как объединяются знания по движку и программированию на C#.

Текущий этап: Вы освоили интерфейс и базовые инструменты Unity (работа с объектами, материалами, создание простых 2D и 3D-сцен).

Следующие шаги:

  1. Изучение C# для Unity — это фундамент для создания игровой логики. Без этого невозможно редактировать или писать скрипты.
  2. Создание полноценного игрового проекта — чтобы закрепить знания.

Где учиться?

  • На сайте itproger.com доступны бесплатные курсы по языку C# и созданию игры на Unity с нуля.
  • Для глубокого погружения существует большая программа обучения, которая покрывает разработку 2D/3D-игр, работу с анимацией, звуком, материалами, пост-обработкой, монетизацией и даже создание проектов с дополненной реальностью (AR).

🚀 Итоговые выводы

  1. Unity — идеальный движок для начала пути в геймдеве благодаря своей простоте, мощности и кроссплатформенности.
  2. Интерфейс может показаться сложным, но его основы быстро осваиваются. Движок позволяет создавать прототипы и полноценные игры, начиная с примитивных объектов и заканчивая сложным UI и ландшафтами.
  3. Использование префабов и Asset Store значительно ускоряет процесс разработки.
  4. База работы с движком заложена. Теперь важно не останавливаться и перейти к изучению программирования на C#, чтобы
🎮 Unity для начинающих: полный конспект — конспект на EchoNote