Как сделать point and click игру в unity

Добавил пользователь Валентин П.
Обновлено: 30.08.2024

Unity — это среда, которая позволит детям почувствовать себя настоящими разработчиками игр! На движке Unity 3D ребята могут создавать анимацию, запрограммировать игровую сцену и полноценные игры. А также познакомиться с языком программирования "Си шарп", на котором в Unity пишутся скрипты.

Школа программирования для детей "Пиксель" подготовила бесплатные уроки Unity 3D, которые познакомят детей с программой и научат создавать первые игры. Поддержите нас, ставьте палец вверх, если наш бесплатный курс по Юнити окажется полезным для ваших детей.

Как скачать Unity 3D на ПК

Для начала скачаем и установим программу на компьютер.

Урок 1. Как сделать анимации в Unity 3D

Начинаем уроки по Юнити. Первый шаг — анимирование персонажа. Мы добавим нашего дракона на сцену, изменим его размеры, научим его двигаться и бегать с заданной скоростью. Напишем наш первый скрипт.

Урок 2. Как сделать телепорт в Unity 3D

Мы узнаем, как сделать так, чтобы персонаж быстро перемещался с одной точки сцены в другую. Возьмем два куба и создадим для них скрипт: при касании одного куба наш персонаж будет мгновенно перемещаться к другому кубу.

Урок 3. Как сделать спавн объектов в Unity 3D

Мы изучим 2 способа создания спавна объектов: на канвасе (canvas) и в пределах камеры. А еще узнаем, как создавать префабы.

Урок 4. Триггеры в Unity 3D | Столкновение персонажей

Триггеры чаще всего нужны, чтобы собирать бонусы в игре или наносить урон персонажу. Поэтому в этом видео мы научимся программировать сбор бонусов и сталкивать персонажей.

Урок 5. Как создать таймер в Unity 3D

Таймер нужен для почти любой игры, мы научимся создавать его с помощью корутины (Coroutine) и команды InvokeRepeating.

Урок 6. Перемещение объекта мышью в Unity 3D

Функция Mouse Drag или, по-другому, метод перетаскивания нужен для того, чтобы перетаскивать объекты в игре. Например, как мы показываем в видео, чтобы перемещать еду на персонажа и кормить его.

Урок 7. Как сделать полосу здоровья персонажа в Unity 3D

Health Bar или полоса здоровья тоже неотъемлемая часть любой игры. Мы научимся ее программировать, так чтобы полоса плавно увеличивалась и уменьшалась.

Урок 8. Как сохранить игру в Unity 3D

Если мы хотим сохранять очки или уровни в нашей игре, то нужно воспользоваться методом PlayerPrefs.

Урок 9. Создаем игру "Раннер" в Unity за 30 минут

Урок 10. Как экспортировать игру из Unity на ПК или Android (как настроить для Play Market)

В этом видео расскажем, как собрать игру под ПК или под Android: в каком порядке собрать сцены, какие им дать номера, а еще какие настройки нужны, чтобы загрузить игру Play Market.

Урок 11. Как загрузить игру в Play Market

Мы собираем игру и заполняем все настройки для Play Market. Теперь другие пользователи смогут сыграть в вашу игру, а вы будете на этом зарабатывать.

Урок 12. Как сделать прыжок в Unity 3D

В этом уроке мы разберем, как сделать прыжок персонажа в 2D- и в 3D-проекте. Для этого мы создадим две сцены, напишем скрипты на языке Си Шарп.

Урок 13. Как управлять персонажем в Unity 3D

Давайте научим нашего персонажа двигаться. Для этого мы зададим переменные типа float, они будут отвечать за скорость, поворот и перемещение по горизонтали и по вертикали. И, конечно, напишем скрипты для 2D- и 3D-версии игры.

Урок 14. LineRenderer в Unity 2D

LineRenderer позволяет упростить рисование линий. В этом видео мы напишем два скрипта: Line Point позволит проводить прямую линию между любыми двумя точками, а с помощью Draw Line мы сможем рисовать неотрывную линию.

Урок 15. Как сделать автосимулятор в Unity 3D | Как сделать гонки в Unity 3D

Пришло время сделать гоночную игру! Давайте построим небольшую трассу, настроим модель автомобиля и напишем код для коробки передач: наш автомобиль будет двигаться в разные стороны и менять скорость.

Наши плейлисты регулярно пополняются, подписывайтесь на наш YouTube-канал , чтобы следить за выходом новых видео и открывать для себя мир IT-технологий!

Если же вам нужен наставник, загляните в Школу программирования для детей “Пиксель”: запишитесь на полный курс по разработке игр на движке Unity 3D .

Как создавать неигровые приложения в Unity

Unity – это игровой движок и интегрированная среда разработки, используемые миллионами разработчиков для вывода игр на Android, iOS, Windows, консоли и многие другие платформы. В настоящее время это самый популярный игровой движок на платформе Android благодаря оптимизированному интерфейсу и рабочему процессу, а также богатому набору функций и отличной универсальности.

Хотя Unity в первую очередь нацелена на разработку игр, она не ограничивается только играми. На самом деле нет причин, по которым вы не можете использовать Unity для создания множества других инструментов, утилит, бизнес-приложений и тому подобного. И для этого есть несколько веских причин! В этом посте я объясню, почему вы можете захотеть создать неигровое приложение в Unity и как вы можете это сделать.

Причины создания неигровых приложений в Unity

Как создавать неигровые приложения в Unity

Зачем вам разрабатывать неигры с помощью Unity, если у вас есть отличная IDE в Android Studio? Есть несколько веских причин.

Быстрое развитие

Для создания приложения в Unity требуется гораздо меньше кода, чем для большинства традиционных альтернатив.

Вдобавок к этому Unity использует особенно интуитивно понятный и быстрый пользовательский интерфейс. Во многом это связано с перетаскиванием, и для создания пользовательского интерфейса не требуется знания XML. При создании неигровых приложений в Unity вам нужно будет делать гораздо менее реальное кодирование, и многие вещи, такие как добавление изображения к кнопке или использование пользовательского шрифта, чрезвычайно просты. Так и должно быть, но если вы попробуете что-то из этого с Android Studio, вы обнаружите, что это вызывает головную боль!

Кросс-платформенная разработка

Unity – это кроссплатформенный инструмент, а это означает, что вы можете легко создавать приложения для Android, iOS и Windows с минимальными изменениями. Если вы разработчик и хотите охватить максимально широкую аудиторию, это значительное преимущество (хотя справедливо отметить, что другие инструменты, такие как Xamarin, также позволят вам это сделать).

Мощные функции

Несмотря на то, что большинство его функций разработаны с учетом разработки игр, существует также ряд мощных функций, которые могут быть полезны для разработки неигровых приложений в Unity. В первую очередь это графические функции, поэтому, если вы хотите включить трехмерные элементы в свое приложение, Unity может быть очень хорошим выбором.

Причины не создавать неигровые приложения в Unity

Как создавать неигровые приложения в Unity

Хотя с помощью Unity вы можете создавать множество мощных неигровых приложений, вы обнаружите, что у него есть свои ограничения. Как и во всем остальном, это случай выбора правильного инструмента для работы.

Вот несколько причин, по которым Unity может быть не лучшим выбором для вашего приложения.

Большие размеры приложений

Unity – это игровой движок, и он включает в себя много кода для поддержки различных функций, которые он предоставляет разработчику. Это означает, что вы мгновенно увеличите размер своего приложения, полагаясь на него.

Это заставит некоторых разработчиков отказаться от использования Unity без крайней необходимости. Но на самом деле разница в размерах довольно незначительна и вряд ли существенно повлияет на субъективный пользовательский опыт.

Отсутствие встроенной поддержки некоторых функций

Кроссплатформенный характер Unity означает, что он не может успевать за каждой новой разработкой для каждой операционной системы или любого оборудования. Аналогичным образом, игровой характер инструмента означает, что поддержка таких устройств, как датчики отпечатков пальцев, не является приоритетом.

Хотите создать приложение на языке материального дизайна, которое включает стандартный набор кнопок и текстовых полей и позволяет пользователям делать такие вещи, как отключение Wi-Fi или отправку текста? Вам будет намного проще использовать Android Studio.

Если для вас это не важно, то Unity все равно стоит рассмотреть.

Как создать неигровое приложение в Unity: краткое руководство

Теперь вы знаете, почему Unity – ценный инструмент для создания неигровых приложений, следующий шаг – просто начать. Как вы можете использовать Unity для создания тестов, калькуляторов, бизнес-приложений и тому подобного? Вот краткое руководство на примере простого приложения для тренировок.

Использование холста

Сначала создайте новый 2D-проект Unity. Отсюда мы в основном будем использовать холст, поэтому вам нужно добавить его в свою сцену.

Для этого перейдите в GameObject> UI> Canvas.

Холст – это большой невидимый слой, закрывающий экран. Обычно это используется для отображения элементов управления, рекордов и т.д. Однако его также можно использовать в качестве основного представления при создании меню и т.п.

Как создавать неигровые приложения в Unity

Масштабирование под разные размеры устройств

Как создавать неигровые приложения в Unity

Например, если вы привязываете текст к центру экрана, то координаты X и Y будут равны 0, если он находится точно в центре. Теперь текст всегда будет посередине, независимо от размера устройства. Вы также можете привязать к левому верхнему или правому нижнему углу, а затем построить вокруг этого другие элементы.

Создание интерактивности

Затем вам нужно будет обрабатывать клики и позволить людям действительно взаимодействовать с созданным вами пользовательским интерфейсом.

Возможно, на данный момент лучшим вариантом было бы просто, чтобы эта кнопка переводила нас к следующей сцене, которая может, например, воспроизводить нашу тренировку.

Как создавать неигровые приложения в Unity

Вам также необходимо добавить следующую строку вверху:

Это говорит Unity, что мы хотим получить доступ к функциям, связанным с переключением уровней и экранов.

И в этом есть большой смысл, если вы начнете пытаться использовать Unity как нечто большее, чем просто инструмент для создания игр: потому что сцена также может быть меню или другим экраном служебного приложения. Элементы, используемые от одной сцены к другой, могут быть совершенно разными!

Сцены в Unity обычно являются игровыми уровнями, но их можно использовать для разных экранов служебного приложения.

Затем создайте пустой GameObject, в котором будет размещен ваш скрипт, а затем добавьте его в поле с надписью None (Object). К сожалению, вы не можете просто перетащить скрипт сюда, потому что вам нужен экземпляр класса, на который нужно ссылаться. После этого вы можете использовать раскрывающееся меню рядом с этим полем справа, чтобы выбрать метод, который вы хотите активировать. В данном случае это будет MenuControl.Play ().

Как видите, это довольно простой процесс, и так же легко добавить сюда столько других методов, сколько захотите. Теперь у вас есть возможность добавлять кнопки и текст, а затем добавлять взаимодействия с этими элементами, вы можете делать практически все!

Еще больше хитростей

Как создавать неигровые приложения в Unity

Кнопки в разных сценах могут делать множество разных вещей. Например, вы можете заставить их показать или переместить трехмерный объект или воспроизвести короткое видео. Вы также можете манипулировать переменными и значениями и отображать их как часть строки с помощью текстовой метки. Сохранение файлов работает так же, как и при создании игры, как и воспроизведение звуков.

Если вы знаете, как использовать Unity для разработки игр, вы можете применить все эти навыки здесь.

Вы также найдете множество полезных компонентов пользовательского интерфейса, которые можно добавить на холст, например флажки, которые полезны при создании онлайн-формы или анкеты.

Другими словами, если вы знаете, как использовать Unity для разработки игр, вы можете применить все эти навыки и здесь. Надеюсь, это руководство дало вам краткий обзор того, как думать о Unity в этом контексте, так что вы можете выйти и создать свое собственное неигровое приложение в Unity уже сегодня!

Плавное передвижение пребафов противника
Всем привет. Подскажите может кто встречался с данной проблемой У меня проект связанный с.

Передвижение объекта в определённую точку
Здравствуйте , подскажите пожалуйста со скриптом который в методе старт будет узнавать координаты.


Передвижение объекта из точки А в точку Б
Всем доброго времени суток. Я к вам хочу обратиться за помощью: мне надо плавно переместить объект.

Плавное передвижение объекта
Доброе время суток. При создании игры в АС3 у меня появилась проблема с передвижением персонажа. .

Unity - Полное руководство для начинающих по разработке игр ?

? Игры

Unity - отличный инструмент для создания прототипов всего, от игр до интерактивных визуализаций. В этой статье мы рассмотрим все, что вам нужно знать, чтобы начать использовать Unity.

Вступление

Эта статья предназначена для всех, кто никогда раньше не использовал Unity, но имеет некоторый опыт программирования или веб-дизайна / разработки. К концу этой статьи у вас должен быть хороший общий обзор движка, а также всех необходимых функций и кода для начала создания базовой игры.

Почему Unity?

Если вы хотите делать игры

Когда дело доходит до разработки инди-игр, вариантов действительно очень мало. Если вы хотите создавать игры, есть три основных варианта: Unreal, Unity или GameMaker.

Unity, вероятно, наименее упрямая из трех платформ. Он дает вам очень сырой продукт из коробки, но он очень гибкий, хорошо документированный и расширяемый для создания практически любого жанра игры, о котором вы только можете подумать.

В Unity есть множество очень успешных игр, таких как Escape from Tarkov (FPS), Monument Valley (Puzzler) и This War of Mine (Стратегия / Выживание).

На самом деле движок, на котором вы создаете свою первую игру, вероятно, не критичен, поэтому мой совет — просто выберите один и используйте его.


Если вы хотите прототипировать пользовательский опыт

Поскольку Unity — это всего лишь движок с кучей физики, анимации и 3D-рендеринга в реальном времени, это также отличное место для создания полноценных интерактивных прототипов для исследований UX.

Unity полностью поддерживает VR и AR и, следовательно, может стать отличным инструментом для изучения архитектуры, автоматизации и моделирования с помощью клиентов.

Окно редактора Unity

Окно редактора разделено на несколько разделов. Мы расскажем об этом очень кратко, так как будем постоянно к нему обращаться на протяжении всей статьи. Если вы уже знакомы с этим, пропустите мимо!

Просмотр сцены: позволяет размещать и перемещать игровые объекты в сцене.

Просмотр игры: предварительный просмотр того, как игрок будет видеть сцену с камеры.

Инспектор: предоставьте подробную информацию о выбранном GameObject в сцене.

Assets / Project: здесь хранятся все префабы, текстуры, модели, скрипты и т. Д.

Иерархия: позволяет вложение и структурирование игровых объектов внутри сцены.

Теперь мы готовы начать!

Объекты Unity Game

Что такое GameObjects

Если у вас есть опыт веб-дизайна, вы можете думать о GameObjects как о элементах

! Чрезвычайно скучные контейнеры, но они легко расширяемы для создания сложной функциональности или визуальных эффектов.

Буквально все, от эффектов частиц, камер, игроков, элементов пользовательского интерфейса… (список продолжается) — это GameObject.

Создание иерархии

для создания разнообразных и желаемых макетов или абстракций, вы можете сделать то же самое с игровыми объектами.Логика вложения игровых объектов во многом такая же, как и при веб-разработке, я приведу несколько примеров …

Беспорядок и эффективность

Веб-аналогия: у вас есть много похожих элементов, которые могут динамически генерироваться на лету в ответ на взаимодействие с пользователем, и вы хотите, чтобы они оставались аккуратными.

Позиционирование

Unity Translation: вы создали группу дронов-помощников, которые летают вокруг игрока. На самом деле вы бы не стали писать код, чтобы они гонялись за игроком, поэтому вместо этого вы создаете их как дочерние элементы игрового объекта player.

Встроенные компоненты Unity

Компонентная модель актера

Unity работает на основе модели компонентов акторов, проще говоря, GameObjects — это актеры, а компоненты — ваши скрипты.

Если вы писали какие-либо веб-приложения раньше, вы будете знакомы с идеей создания небольших повторно используемых компонентов, таких как кнопки, элементы форм, гибкие макеты, которые имеют различные директивы и настраиваемые свойства. Затем собираем эти маленькие компоненты в большие веб-страницы.

Большим преимуществом этого подхода является возможность повторного использования и четко определенные каналы связи между элементами. Точно так же при разработке игр мы хотим минимизировать риск непреднамеренных побочных эффектов. Небольшие ошибки имеют тенденцию выходить из-под контроля, если вы не будете осторожны, и их чрезвычайно сложно отладить. Таким образом, создание небольших, надежных и повторно используемых компонентов имеет решающее значение.

Ключевые встроенные компоненты

Думаю, пришло время привести несколько примеров встроенных компонентов, предоставляемых движком Unity Games.

  • MeshFilter: позволяет назначать материалы для 3D-сетки GameObject.
  • MeshRender: позволяет назначать материалы 3D-сетке.
  • [Коробка | Mesh] Collider: позволяет обнаруживать GameObject во время столкновений.
  • Rigidbody: позволяет реалистичному физическому моделированию воздействовать на GameObjects с 3D-сетками и запускать события обнаружения на коллайдерах боксов.
  • Свет: освещает части вашей сцены.
  • Камера: определяет область просмотра игрока, которая будет прикреплена к GameObject.
  • Различные компоненты холста пользовательского интерфейса для отображения графического интерфейса пользователя

Их еще много, но это основные, с которыми вам нужно познакомиться. Один совет заключается в том, что вы можете получить доступ ко всем документам по ним через руководство по Unity и справочник по сценариям в автономном режиме, где бы вы ни находились:

Создание пользовательских компонентов

Структура моноповедения

Ключевые функции

Все компоненты наследуются от класса MonoBehaviour. Он включает в себя несколько стандартных методов, главное:

  • void Start (), который вызывается всякий раз, когда объект, содержащий скрипт, создается в сцене. Это полезно в любое время, когда мы хотим выполнить некоторый код инициализации, например. установить экипировку игрока после того, как он появится в матче.
  • void Update (), который вызывается каждый кадр. Это то место, где будет выполняться основная часть кода, включающего пользовательский ввод, обновляющего различные свойства, такие как движение игрока в сцене.

Переменные инспектора

Часто мы хотим сделать компоненты максимально гибкими. Например, все оружие может иметь разный урон, скорострельность, has_sight и т. Д. Хотя все оружие, по сути, одно и то же, мы можем захотеть иметь возможность быстро создавать различные вариации с помощью редактора единства.

Другой пример, когда мы можем захотеть это сделать, — это создание компонента пользовательского интерфейса, который отслеживает движения мыши пользователя и помещает курсор в область просмотра. Здесь мы можем захотеть контролировать чувствительность курсора к движениям (если пользователь использовал джойстик или геймпад, а не компьютерную мышь). Таким образом, имеет смысл сделать эти переменные легко изменяемыми как в режиме редактирования, так и поэкспериментировать с ними во время выполнения.

Переменные в окне инспектора можно изменить в любой момент во время выполнения или в режиме редактирования. Примечание. Изменения, внесенные во время выполнения, не будут постоянными.

Мы можем сделать это легко, просто объявив их как общедоступные переменные в теле компонента.

Обратите внимание, как мы можем сделать переменные с разными уровнями доступа, частными, общедоступными или общедоступными, но не отображаемыми в окне инспектора.

Принятие пользовательского ввода

Конечно, мы хотим, чтобы наша игра реагировала на ввод пользователя. Наиболее распространенные способы сделать это — использовать следующие методы в функции Update () компонента (или в любом другом месте, которое вам нравится):

Управление игровыми объектами

Трансформации

Все GameObjects имеют свойство transform, которое позволяет выполнять различные полезные манипуляции с текущим игровым объектом.

Вышеупомянутые методы довольно понятны , просто обратите внимание, что мы используем gameObject в нижнем регистре для ссылки на GameObject, которому принадлежит этот конкретный экземпляр компонента.

В общем, рекомендуется использовать локальное [Положение, Вращение], а не глобальное положение / поворот объекта. Обычно это упрощает перемещение объектов разумным образом, поскольку ось локального пространства будет ориентирована и центрирована на родительском объекте, а не на мировом начале координат и направлениях x, y, z.

Преимущества локального пространства станут немного более очевидными с диаграммой!

Если вам нужно преобразовать между локальным и мировым пространством (что часто бывает), вы можете использовать следующее:

Создание новых игровых объектов

Поскольку GameObjects — это в основном все в вашей сцене, вы можете иметь возможность генерировать их на лету. Например, если у вашего игрока есть какая-то пусковая установка для снарядов, вы можете захотеть создавать снаряды на лету, у которых есть собственная инкапсулированная логика для полета, нанесения урона и т. Д.

Сначала нам нужно ввести понятие префаба . Мы можем создать их, просто перетащив любой GameObject в иерархии сцены в папку с ресурсами.

По сути, это хранит шаблон объекта, который только что был в нашей сцене, со всеми теми же конфигурациями.

Пример пользовательского объекта-кирпича, который используется для динамического создания кубиков Lego в сцене, к нему прикреплен набор компонентов с различными значениями по умолчанию.

Когда у нас есть эти сборные компоненты, мы можем назначить их переменным инспектора (как мы говорили ранее) для любого компонента в сцене, чтобы мы могли создавать новые GameObject, как указано в сборке, в любое время.

Доступ к другим игровым объектам и компонентам

После этого вы можете получить доступ к любому из общедоступных методов / переменных компонента, чтобы управлять GameObject. Это простой момент, однако на самом деле получить ссылку на GameObject можно несколькими способами …

Доступ через переменную инспектора

Это самый простой способ. Просто создайте общедоступную переменную для GameObject, как мы продемонстрировали ранее с префабами, и вручную перетащите ее на компонент через инспектор. Затем перейдите к переменной, как указано выше.

Доступ через теги

Мы можем пометить GameObjects или prefabs через инспектор, а затем использовать функции поиска игровых объектов, чтобы найти ссылки на них.

Доступ через преобразование

Доступ через SendMessage

Raycasting

Есть два сценария, в которых это может пригодиться (вероятно, их гораздо больше):

Обнаружение столкновений

Ранее мы упоминали компоненты Collider и Rigidbody, которые можно добавить к объекту. Правило для столкновений состоит в том, что один объект в столкновении должен иметь твердое тело, а другой — коллайдер (или оба имеют оба компонента). Обратите внимание, что при использовании raycasting лучи будут взаимодействовать только с объектами, к которым прикреплены компоненты коллайдера.

После настройки в любом настраиваемом компоненте, прикрепленном к объекту, мы можем использовать методы OnCollisionEnter, OnCollisionStay и OnCollisionExit для реагирования на коллизии. Получив информацию о столкновении, мы можем получить ответственность за GameObject и использовать то, что мы узнали ранее, для взаимодействия с прикрепленными к нему компонентами.

Следует отметить, что твердые тела обеспечивают физику, такую как гравитация, для объектов, поэтому, если вы хотите отключить это, вам нужно будет включить is_kinematic .

Расширенные возможности

Мы не будем вдаваться в подробности сейчас, но, возможно, в следующей статье — просто чтобы вы знали, что они существуют.

Создание графического интерфейса

Unity имеет полноценный движок пользовательского интерфейса для создания графического интерфейса для вашей игры. В целом эти компоненты работают примерно так же, как и остальная часть двигателя.

Расширение редактора Unity

Unity позволяет вам добавлять пользовательские кнопки к вашим инспекторам, чтобы вы могли влиять на мир в режиме редактирования. Например, чтобы помочь в построении мира, вы можете разработать собственное окно инструментов для строительства модульных домов.

Анимация

Unity имеет систему анимации на основе графиков, которая позволяет вам смешивать и управлять анимацией для различных объектов, таких как игроки, реализующие систему анимации на основе кости.

Материалы и PBR

Unity использует физический движок рендеринга, который обеспечивает освещение в реальном времени и реалистичные материалы. Реальность такова, что вам нужно либо сначала изучить 3D-моделирование, либо использовать модели, созданные и оптимизированные кем-то другим, прежде чем вы доберетесь до этого, чтобы создавать вещи, которые действительно хорошо выглядят.

Совет новичкам по Unity

Если вы планируете написать свою первую игру, не стоит недооценивать сложность и время, необходимое для написания даже самых тривиальных игр. Помните, что над большинством игр, которые выходят в Steam, команды работают над ними в течение многих лет!

Выберите простую концепцию и разбейте ее на небольшие достижимые этапы. Настоятельно рекомендуется разделить вашу игру на как можно более маленькие независимые компоненты, так как у вас гораздо меньше шансов столкнуться с ошибками, если вы сохраните компоненты простыми, а не монолитными блоками кода.

Прежде чем вы начнете писать какой-либо код для любой части вашей игры, поищите, что кто-то сделал раньше, чтобы решить ту же проблему — скорее всего, у них будет гораздо более удобное решение.

Хорошие ресурсы для разработки игр в Unity

Сообщество разработчиков игр — одно из лучших среди всех, и в индустрии есть множество высококвалифицированных профессионалов, которые размещают контент бесплатно или почти бесплатно. В этой области требуются 3D-моделисты, концептуальные художники, геймдизайнеры, программисты и так далее. Я связал несколько отличных общих ресурсов, с которыми я столкнулся, для каждого из этих полей ниже:

Читайте также: