Разное

Unity материалы: Материал — Графика в Unity 3D

Содержание

Материал — Графика в Unity 3D

Материалы используются вместе с прикрепленными к GameObject мешем или системой частиц. Они играют важнейшую роль в том, как будет выглядеть ваш объект. Материал включает в себя Shader, используемый для рендеринга Mesh или Particles, поэтому данные компоненты не будут отображаться без какого-либо материала.

У материала с шейдером диффузии есть только два свойства — цвет и текстура.

Свойства

Свойства материала изменяются в зависимости от выбранного шейдера. Наиболее часто используемые свойства:

Свойство: Функция:
Shader Шейдер, который использует материал. Для получения дополнительной информации по шейдерам прочтите руководство по встроенным шейдерам.
Main Color Произвольный цвет, который используется как оттенок. Используйте белый цвет, если оттенок не нужен.
Base Отображаемая Texture.

Детали

Для помещения текстур на GameObject’ы используются материалы. Нельзя добавить текстуру напрямую без материала, поэтому при добавлении текстуры автоматически будет создан новый материал. Правильная последовательность действий следующая: создать материал, выбрать шейдер, и выбрать ассет(ы) текстур. Для получения дополнительной информации взгляните на страницу руководства по материалам.

Выбор шейдера

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

Выпадающее меню шейдеров

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

Задание свойств шейдера

Количество свойств, которые появляются в Inspector, зависит от выбранного шейдера.

Свойства зеркального шейдера (Specular shader)Свойства Normal mapped шейдераСвойства Normal mapped Specular шейдера

Типы свойств шейдера:

Свойство: Функция:
Color pickers Используется для выбора цветов.
Sliders Используется для настройки числовых значений из заданного интервала.
Textures Используется для выбора текстур.

Размещение текстуры

Расположение текстуры может быть изменено с помощью свойств Offset и Tiling.

Эта текстура выложена 2×2 раз с помощью изменения свойства Tiling

Свойство: Функция:
Offset Перемещение текстуры.
Tiling Повторение текстуры вдоль различных осей.

Советы

  • Хорошая практика — использовать один Материал для максимально возможного количества GameObject’ов. Это даст прирост производительности.

300 бесплатных материалов для Unity

Unity выпустили бесплатную библиотеку стандартных материалов (Unity Measured Materials Library), основанных на реальных физических свойствах, чтобы упростить разработку великолепно выглядящих моделей с упором на автомобили и транспорт.

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

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

Типы материалов в новой библиотеке
  • Ткани с различными плетениями, в том числе елочкой, твиллом, а также матовые и гладкие ткани
  • Кожа с различными паттернами и разными стилями перфорации
  • Замша
  • Древесина разных пород деревьев
  • Множество видов хромированных материалов
  • Множество металлов
  • Стеклянные поверхности
  • Непрозрачный пластик с различными паттернами
  • Прозрачный пластик
  • Автомобильная краска
Совместимость с новым HDRP для Unity 2018.x

Все материалы в библиотеке доступны для пайплайна рендеринга высокой четкости (HDRP). Также Unity сообщили в своём блоге, что скоро предоставят версию пайплайна облегченного рендеринга (LWRP — Lightweight Render Pipeline) для использования при разработке мобильных приложений.

Интеграция с Shader Graph

Библиотека новых материалов полностью совместима с системой Shader Graph, новинкой в Unity 2018. 3, которая предлагает ранее недоступные уровни контроля и настройки материалов. Например, можно настроить оттенок, альбедо, карты нормалей, шероховатости, размер паттернов и многое другое, чтобы получить именно тот вид, который необходим, очень лёгким и интуитивно понятным образом.

Доступность и системные требования

Библиотека материалов Unity доступна для Unity 2018.3+. Необходимо запустить HDRP 4.9+. Библиотека доступна для бесплатного скачивания в Unity Asset Store.

О возможностях Unity 2018.3 читайте здесь.

Создание материалов для Unity в Substance Designer / Хабр

Текстурирование и создание игровых материалов всегда были интересной… и мучительной работой одновременно. До перехода на Substance Designer я использовал для создания всех нужных карт Photoshop и xNormal. Приходилось много раз переключаться между двумя этими приложениями, и это надоедало. Теперь я избавился от этой проблемы.

Substance Designer (SD) — это программное обеспечение, позволяющее создавать материалы и текстуры «на лету». В нём используется удивительно простая система узлов. Я художник, и обычно меня очень пугала работа с узлами (и вообще всем, кроме кисти). Честно говоря, когда я впервые увидел SD, то слегка вздрогнул. К счастью, у авторов программы есть видео, демонстрирующие её возможности. Они дают такого мотивирующего «пинка», что вам приходится совершить «прыжок веры».

Сначала определимся, почему мы остановились именно на Substance Designer? Первая причина — Unity перешёл на новую систему материалов под названием PBS, Physically Based Shading («физически обоснованный шейдинг»), хорошо описанную в этом потрясающем посте. Мы хотели использовать эту новую технологию по максимуму.

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

Последняя причина в том, что рабочий процесс переноса материалов в Unity просто безупречен. Можно экспортировать весь материал в Unity, изменять его уже там… и всё работает без проблем!

Вот примеры материалов, созданных нами в Substance Designer.Золото, серебро, GreebleCity и лес.

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

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

Если вы знаете Substance Designer в совершенстве, вы, наверно, увидите способ сделать материал гораздо лучше. Если это так, то расскажите нам! С другой стороны, если вы полный новичок в этом ПО, я предлагаю вам сначала посмотреть очень полезные обучающие видео компании Allegorithmic.

Материал «золото» на самом деле довольно просто создать, но он всё равно требует множества настроек. Вот как выглядит окончательный граф в Substance Designer.

Я обычно начинаю с настройки Specular/Glossiness (отражения/глянцевости). В основном потому, что я больше к ним привык, чем к Metallic/Roughness (металл/шероховатость). Это уже может быть странно, потому что настройка Metallic/Roughness — стандарт в Unity.

Во-вторых, мне нужна была красивая металлическая или каменная структура с трещинами и вмятинами.


Cracks & Grain (трещины и зернистость) — это очень малозаметная структура, которая в основном видна на карте нормалей (Normal), и совсем немного — на карте диффузности (Diffuse). Я начал с мозаичного шаблона и соединил его с узлами Clouds (облака) для получения здесь малозаметной структуры.
Я хотел, чтобы трещины проявлялись больше в Normal, чем в Diffuse, поэтому поместил узел прямо перед выходом, чтобы он находился в части с картами нормалей.
Для правдоподобности золото должно быть как можно более гладким, иначе у нас получится жёлтая фольга. Поэтому карта нормалей очень слабо выражена, но её всё равно видно.

Добавив к карте Cracks & Grain простую градиентную карту (Gradient map), я могу быстро создать карту Diffuse.

Но нам кое-чего не хватает. В Substance Designer удобно то, что можно работать с ранее созданными картами. Здесь я взял карту нормалей, превратил её в карту Curvature, увеличил значения и превратил всё это в цветовую карту (color map). (Карты Grayscale и Color не смешиваются.)

Смешав их поверх уже сущестующей карты Diffuse, мы получим немного более интересную текстуру.
И, наконец, для отражения (Specular) я использовал простой узел Clouds. С помощью градиентной карты я нанёс немного более тёмные цвета, чем в диффузной карте, а поверх добавил детали с помощью curvature с увеличенными значениями.

Для глянцевости (Glossiness) я использовал тот же узел Clouds, осветлил результат (чем ярче, тем больше блеска), добавил увеличенные детали Curvature, и на этом всё!

Осталось экспортировать материал, просто нажав на Export. SD экспортирует файл . sbsar в Unity, и он работает в точности как материал. Он автоматически располагает карты в нужных местах, после чего позволяет выполнить настройку. Должен сказать, что материалы в Unity выглядят немного иначе, чем в самом Substance Designer, но, возможно, создатели ПО исправили это в последнем обновлении.
Вот и всё, материал уже находится в Unity. Как видите, внизу есть настройки. Например, можно быстро изменить размер текстуры, что очень удобно, если нужно уменьшить масштаб проекта.

Также тут есть кнопка Randomize. При её нажатии материал изменяет все сгенерированные значения. Сейчас моё золото выглядит не самым лучшим образом, потому что в нём всегда используются небольшие значения для облаков (clouds) и трещин (cracks). Однако если немного поднять значение cracks и нажать кнопку Randomize, то произойдёт следующее:

Это уже близко к нужной нам процедурной генерации. Каждый раз материал будет выглядеть немного иначе.

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

В заключение я рекомендую Substance Designer всем, кто работает с текстурами и материалами. Это ПО предоставляет большую свободу и позволяет быстро достичь потрясающих результатрв. В нём так много функций, что можно, как мне кажется, создать практически всё.

А на прощание вот несколько графов, которые мы создали, осваивая программу. Успехов в работе!

Игра Antegods поддерживается Dutch Cultural Media Fund (Голландским культурным медиафондом), Cultural Industries Fund NL (Голландским фондом индустрии культуры) и Программой Европейского Союза MEDIA.

Материалы в Unity | Deslium

В Unity существует огромное количество различных  видов материалов. Они бывают разные. есть группа материалов для классического рендера Unity.   Или же для HDRP (High Definition Render Pipeline) — это рендер высокой графики в Unity, Который может равняться с Unreal Engine  уже на стандартных настройках. Также в эту же группу входят материалы типа PBR.  Эта аббревиатура от physically based rendering, которую можно перевести как Физически Корректная визуализация. Название говорит само за себя, но все материалы в Unity  мы рассмотрим по порядку.

Классические материалы

Итак давайте создадим наш первый материал и рассмотрим его свойства.

Shader

Начнем с поля Shader. Shader отражает свойства выбранного нами материала. Они бывают Следующих видов:

1)Mobile — это упрощенный высокопроизводительный шейдер для мобильных устройств.

2)Nature — Шейдера для создания материалов деревьев и поверхностей.

3)UI — Шейдеры для пользовательского интерфейса.

4)VR- для виртуальной реальности

5)AR —  для дополненной реальности

6)FX — Служит для создания водных и световых эффектов.

7)GUI —  Отображение графического интерфейса пользователя (GUI — это аббревиатура для Graphic User Interface, что в переводе означает “графический интерфейс пользователя”).

8) Particles — эффекты системы частиц

9)Skybox — Служит для рендеринга фоновых сред за всей геометрией

10)Sprites — Для использования с системой 2D спрайтов.

11)Unlit — Для рендеринга, который полностью обходит весь свет и затенение

12)Legacy shaders — Большая коллекция старых шейдеров, которые были заменены стандартным шейдером.

Rendering Mode

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

У нас здесь 4 режима:

Opaque — Это значение по умолчанию и подходит для обычных твердых объектов без прозрачных областей.

Cutout — Позволяет создать прозрачный эффект, который имеет жесткие края между непрозрачными и прозрачными областями. В этом режиме нет полупрозрачных областей, текстура либо на 100% непрозрачна, либо невидима. Это полезно при использовании прозрачности для создания формы таких материалов, как листья или ткань с отверстиями и лохмотьями.

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

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

Ниже приведены примеры этих материалов:

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

Эти окна используют прозрачный режим, но имеют некоторые полностью непрозрачные области, определенные в текстуре (оконные рамы). Зеркальное отражение от источников света отражается от прозрачных областей и непрозрачных областей.

 

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

Трава на этом изображении визуализируется в режиме вырезания. Это дает четкие острые края объектам, которые определяются путем указания порога отсечения. Все части изображения с Альфа-значением выше этого порога на 100% непрозрачны, а все части ниже этого порога невидимы. Справа на изображении вы можете увидеть настройки материала и альфа-канал используемой текстуры.

Main Maps

Albedo

Параметр альбедо управляет базовым цветом поверхности.

Диапазон значений альбедо от черного до белого

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

Если вы пришли из других 3д редакторов, то в качестве карты альбедо вам нужно помещать карту Diffuse.

Как видите текстура без бликов и теней

Transparency

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

Диапазон значений прозрачности от 0 до 1, используя прозрачный режим, подходящий для реалистичных прозрачных объектов

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

Импортированная текстура с каналами RGB и альфа-каналом. Вы можете нажать кнопку RGB/A, как показано на рисунке, чтобы переключить каналы изображения, которые вы просматриваете.

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

Specular Mode: Specular Parameter

Прежде чем приступить к этому пункту нам необходимо сначала выбрать шейдер specular setup

Specular parameter

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

Как specualr, так и metallic setup будет производить зеркальные блики, поэтому выбор того, что использовать, больше зависит от рабочего процесса и художественных предпочтений. В specular setup вы имеете прямой контроль над яркостью и цветом оттенков зеркальных бликов, в то время как в metallic setup(standart)  вы контролируете другие параметры, а интенсивность и цвет зеркальных бликов появляются естественным образом в результате настройки других параметров.

При работе в Specular mode цвет RGB в параметре specular управляет силой и цветовым оттенком отражательной способности. Это включает в себя сияние от источников света и отражения от окружающей среды. Параметр Smoothness управляет четкостью зеркального эффекта. При низком значении Smoothness даже сильные зеркальные отражения кажутся размытыми и рассеянными. При высоком значении Smoothness зеркальные отражения становятся более четким и ясным.

Эта диаграмма показывает, что значения Specular и Smoothness увеличиваются вместе от 0 до 1.

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

Пример веса 1000 кг с сильным зеркальным отражением от направленного света.

Вот пример 1000-килограммового груза с сильным зеркальным отражением от направленного света. Значения specular reflection (зеркального отражения)  и Smoothness (гладкости) определяются цветом и ползунком, текстура не назначается — поэтому уровень Specular(зеркальности) и Smoothness( гладкости) постоянен по всей поверхности. Это не всегда желательно, особенно в том случае, когда ваша текстура albedo соответствует множеству различных областей на вашей модели (также известный как атлас текстур).

Та же самая модель, но с назначенной зеркальной картой, а не с использованием постоянного значения.

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

Metallic mode: Metallic Parameter

Далее возвращаемся к  режиму Standard

При работе в metallic mode (в отличие от specular mode) отражательная способность и светоотдача поверхности изменяются параметром metallic и уровнем Smoothness(гладкости).

Зеркальные отражения все еще генерируются при использовании metallic mode , но они возникают естественным образом в зависимости от настроек, которые вы зададите для уровней metallic  и smoothness, а не определяются явно.

Metallic mode — Не только для материалов, которые должны выглядеть металлическими. Этот режим известен как metallic из-за того, как вы контролируете, насколько металлической или неметаллической поверхность должна быть.

Metallic Parameter

Параметр Metallic  материала определяет, насколько «металлоподобна» поверхность. Когда поверхность более металлическая, она больше отражает окружающую среду, и ее цвет albedo становится менее заметным. На полностью металлическом уровне цвет поверхности полностью определяется отражениями от окружающей среды. Когда поверхность менее металлическая, ее цвет albedo более четкий, и любые поверхностные отражения видны поверх цвета поверхности, а не затемняют его.

Диапазон металлических значений от 0 до 1 (с плавностью при постоянной 0,8 для всех образцов)

По умолчанию, когда текстура не назначена, параметры metallic и smoothness управляются ползунком. Этого вполне достаточно для некоторых материалов. Однако если поверхность вашей модели содержит области с разными типами поверхностей в текстуре albedo, вы можете использовать карту текстур для управления тем, как уровни металлического и гладкого покрытия изменяются по всей поверхности материала. Например, если ваша текстура содержит одежду персонажа, включая некоторые металлические пряжки и молнии. И вы хотите, чтобы пряжки и молнии имели более высокую металлическую ценность, чем ткань одежды. Для достижения этой цели вместо использования слайдера можно назначить текстурную карту, которая содержит более светлые пиксельные цвета в областях пряжек и молний и более темные значения для ткани.

При наличии текстуры, присвоенной параметру Metallic, ползунки Metallic и Smoothness исчезнут. Вместо этого уровни металла для материала контролируются значениями в красном канале текстуры, а уровни гладкости для материала контролируются альфа-каналом текстуры. (Это означает, что зеленый и синий каналы игнорируются). Это означает, что у вас есть одна текстура, которая может определять области как грубые или гладкие, а также металлические или неметаллические, что очень полезно при работе с текстурными картами, которые охватывают многие области модели с различными требованиями-например, одна текстурная карта персонажа часто включает в себя несколько требований к поверхности — кожаная обувь, тканевая одежда, кожа для рук и лица и металлические пряжки.

На этом изображении показана модель корпуса без металлической карты

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

На этом изображении показана модель корпуса с нанесенной металлической картой

В этом примере была назначена карта текстуры metallic/ smoothness. Пряжка теперь имеет высокое металлическое значение и соответственно реагирует на свет. Кожаные ремешки блестят ярче, чем кожаный корпус коробки, однако они имеют низкое “металлическое” значение, поэтому она кажется блестящей неметаллической поверхностью. Черно-белая карта в дальнем правом углу показывает более светлые области для металла и средние и низкие серые цвета для кожи.

Smoothness

The smoothness parameter, shown in both Metallic & Specular shader modes.

Концепция Smoothness применима как к Specular mode, так и к metallic mode , и работает во многом схоже. По умолчанию, если не назначена metallic или specular карта текстуры, гладкость материала контролируется слайдером. Этот слайдер позволяет управлять «микро-детализацией поверхности» или гладкостью по всей поверхности.

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

Диапазон значений гладкости от 0 до 1

“Фальшивая шероховатость» не является чем-то видимым в Unity. Это понятие используется при расчетах освещения. Вы можете, однако, увидеть эффект этих шероховатостей, представленной количеством света, который рассеивается, когда он отражается от объекта. При гладкой поверхности все световые лучи имеют тенденцию отскакивать под предсказуемыми и постоянными углами. Идеально гладкая поверхность отражает свет, как зеркало. Менее гладкие поверхности отражают свет в более широком диапазоне углов (поскольку свет попадает на выпуклости в фальшивых шероховатостях, и поэтому отражения имеют меньшую детализацию и распространяются по поверхности более рассеянным образом.

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

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

Сравнение низких, средних и высоких значений Smoothness (гладкости (сверху вниз)).

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

Использование  Smoothness Texture Map

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

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

При работе в specular mode, если вам назначена specular текстура, слайдер smoothness больше не доступен, поскольку Альфа-канал specular текстуры будет использоваться в качестве значений smoothness(гладкости) по всей поверхности материала.

Аналогично, при работе в metallic mode, если вам назначена metallic текстура, значения smoothness берутся из Альфа-канала metallic текстуры.

/Smoothness источник/ Выберите канал текстуры, в котором хранится значение smoothness. | | Specular/Metallic Alpha |Поскольку Smoothness каждой точки на поверхности является единственным значением, для получения данных требуется только один канал текстуры изображения. Поэтому предполагается, что данные о smoothness хранятся в Альфа-канале одной и той же текстуры изображения, используемой для карты metallic или specular текстур (в зависимости от того, какой из этих двух режимов вы используете).| | Albedo Альфа | Это позволяет уменьшить общее количество текстур или использовать текстуры различных разрешений для сглаживания и specular/ metallic изображения.| |Reflections| Установите этот флажок, чтобы отключить отражение окружающей среды. Это дополнительная оптимизация производительности для мобильных устройств. Он удаляет расчет бликов из стандартного шейдера. Вместо выбора карты окружающей среды используется аппроксимация. То, как это влияет на внешний вид, зависит от показателя Smoothness. |

Более гладкие поверхности являются более отражающими и имеют меньшие, более плотно сфокусированные зеркальные блики. Менее гладкие поверхности не отражают так много, поэтому зеркальные блики менее заметны и шире распространяются по поверхности. Сопоставив карты specular и smoothness с содержимым вашей карты albedo, вы можете начать создавать очень реалистичные текстуры.

Normal map (Bump mapping)

Normal map — это разновидность рельефной(bump) карты. Они представляют собой особый вид текстуры, который позволяет добавить к модели такие детали поверхности, как неровности, канавки и царапины, которые ловят свет, как будто они являются реальной геометрией.

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

Лист металла с деталями, с смоделированными болтами.

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

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

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

Как создавать и использовать Bump Maps

Bump mapping-это относительно старая графическая техника, но все еще один из основных методов, необходимых для создания детальной реалистичной графики в реальном времени. Рельефные карты также обычно называют normal map(картами нормалей)  или height map(картами высот), однако эти термины имеют несколько иное значение, которое будет объяснено ниже.

Что такое Surface Normals ?

Чтобы действительно объяснить, как работают карты нормалей, мы сначала опишем, что такое “нормаль” и как она используется в освещении в реальном времени. Возможно, самым простым примером будет модель, в которой каждый полигон поверхности освещается просто в соответствии с углами поверхности относительно света. Угол поверхности может быть представлен в виде линии, выступающей в перпендикулярном направлении от поверхности, и это направление (которое является вектором) относительно поверхности называется “нормалью поверхности”, или просто нормалью.

Два 12-сторонних цилиндра, слева с плоским затенением, а справа с сглаженным затенением

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

Два 12-сторонних цилиндра, слева с плоским затенением, а справа с сглаженным затенением

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

Плоское затенение на трех полигонах.

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

Однако для гладкого затененного цилиндра нормали поверхности варьируются в зависимости от плоских многоугольников, как показано здесь:

Плавное затенение на трех полигонах,

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

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

Что такое Normal mapping?

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

Unity опубликовала бесплатный набор HDRP-материалов — Gamedev на DTF

{«id»:39998,»url»:»https:\/\/dtf.ru\/gamedev\/39998-unity-opublikovala-besplatnyy-nabor-hdrp-materialov»,»title»:»Unity \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043b\u0430 \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u044b\u0439 \u043d\u0430\u0431\u043e\u0440 HDRP-\u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u043e\u0432″,»services»:{«vkontakte»:{«url»:»https:\/\/vk.com\/share.php?url=https:\/\/dtf.ru\/gamedev\/39998-unity-opublikovala-besplatnyy-nabor-hdrp-materialov&title=Unity \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043b\u0430 \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u044b\u0439 \u043d\u0430\u0431\u043e\u0440 HDRP-\u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u043e\u0432″,»short_name»:»VK»,»title»:»\u0412\u041a\u043e\u043d\u0442\u0430\u043a\u0442\u0435″,»width»:600,»height»:450},»facebook»:{«url»:»https:\/\/www. facebook.com\/sharer\/sharer.php?u=https:\/\/dtf.ru\/gamedev\/39998-unity-opublikovala-besplatnyy-nabor-hdrp-materialov»,»short_name»:»FB»,»title»:»Facebook»,»width»:600,»height»:450},»twitter»:{«url»:»https:\/\/twitter.com\/intent\/tweet?url=https:\/\/dtf.ru\/gamedev\/39998-unity-opublikovala-besplatnyy-nabor-hdrp-materialov&text=Unity \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043b\u0430 \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u044b\u0439 \u043d\u0430\u0431\u043e\u0440 HDRP-\u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u043e\u0432″,»short_name»:»TW»,»title»:»Twitter»,»width»:600,»height»:450},»telegram»:{«url»:»tg:\/\/msg_url?url=https:\/\/dtf.ru\/gamedev\/39998-unity-opublikovala-besplatnyy-nabor-hdrp-materialov&text=Unity \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043b\u0430 \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u044b\u0439 \u043d\u0430\u0431\u043e\u0440 HDRP-\u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u043e\u0432″,»short_name»:»TG»,»title»:»Telegram»,»width»:600,»height»:450},»odnoklassniki»:{«url»:»http:\/\/connect. ok.ru\/dk?st.cmd=WidgetSharePreview&service=odnoklassniki&st.shareUrl=https:\/\/dtf.ru\/gamedev\/39998-unity-opublikovala-besplatnyy-nabor-hdrp-materialov»,»short_name»:»OK»,»title»:»\u041e\u0434\u043d\u043e\u043a\u043b\u0430\u0441\u0441\u043d\u0438\u043a\u0438″,»width»:600,»height»:450},»email»:{«url»:»mailto:?subject=Unity \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043b\u0430 \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u044b\u0439 \u043d\u0430\u0431\u043e\u0440 HDRP-\u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u043e\u0432&body=https:\/\/dtf.ru\/gamedev\/39998-unity-opublikovala-besplatnyy-nabor-hdrp-materialov»,»short_name»:»Email»,»title»:»\u041e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u043d\u0430 \u043f\u043e\u0447\u0442\u0443″,»width»:600,»height»:450}},»isFavorited»:false}

6083

просмотров

Физика в Unity колайдеры, компоненты материалы

Компонент в основном используется для управления от третьего или первого лица, где не требуется физика Rigidbody

Capsule Collider состоит из двух полусфер, соединённых между собой цилиндром. Это такая же форма, как и у примитива капсула(Capsule).

Box Collider базовый кубический примитив столкновений.

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

Configurable Joints 

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

Constant Force (Постоянная сила) — это быстрая утилита для добавления сил к Rigidbody-объектам. Это отлично работает для одноразовых объектов, вроде ракеты, если вы хотите не начинать с большой скорости, а постепенно ускоряться.

Компонент Fixed Joints

(Неподвижное соединение) ограничивает движение определенного объекта, связывая его с другим объектом. Этот процесс похож на Parenting (определение текущего объекта как “дочерний” по отношению к другому, “родительскому”, объекту), но реализован с помощью физики, а не иерархии компонентов Transform. Чаще всего этот компонент используется в случае, если в определенный момент времени может потребоваться разъединить два объекта, или наоборот, соединить два объекта без необходимости изменения иерархии.

Hinge Joint

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

Rigidbody (Твердое тело)
Твердые тела позволяют вашим GameObjects действовать под контролем физики. Rigidbody может получать силы и крутящий момент, чтобы заставить ваши объекты двигаться реалистично. Любой GameObject должен содержать Rigidbody, на который может влиять гравитация, действовать под действием дополнительных сил посредством сценариев или взаимодействовать с другими объектами через физический движок NVIDIA PhysX.

Sphere Collider

базовый коллайдер в форме сферы.

Spring Joint (упругое сочленение) собирает вместе 2 Rigidbody тела, сдерживая их движение, будто они соединены пружиной.

Cloth
Компонент предоставляет физическое решение для моделирования тканей и работает совместно с Skinned Mesh Renderer. Несмотря на то, что он был специально разработан для одежды персонажей, все же можно использовать произвольные сетки без кожи.

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

Terrain Collider
Берёт террейн и на его основе делает коллайдер.

Physics Material 

Физический материал (Physics Material) используется для настройки эффектов трения и отскакивания объектов при столкновениях.

(Обратите внимание, что по историческим причинам компонент называется «Physic Material», Физический материал, а не “Physics Material” Физический материал, и поэтому использование необычного имени является преднамеренным. Эквивалентный компонент для 2D, однако, более логично назван “Physics Material 2D” Физический материал 2D.

10 самых сочных ссылок для разработчика на Unity3D

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

Ничего лишнего — только 10 огненных ссылок, которые нужны каждому, кто имеет дело c Unity3D (и даже картинок не будет)

Официальный сайт. Куда уж без него. Здесь русскоязычно сообщество Unity3d-разработчиков. Форум, блоги, официальная документация, туториалы, обучающие материалы, видео. Самый первый ресурс по важности.

Официальный канал на YouTube  Самый полезный видеоконтент, собранный в одном месте. Толпы комментаторов, тьма советов и инструкций. Более 500 тысяч подписчиков.

Хаб о Unity3D на Хабре. Тут слова излишни. Куча публикаций от профессиональных разработчиков. Уровень полезности и злободневности зашкаливает. Подробно, научно, глубоко.

GitHub для Unity. Эта ссылка вам обязательно пригодится. Расширение для работы на GitHub для Unity. Кстати, появилось только в этом году.

Геймдев на DTF. Подсайт на тему разработки игр на DTF. Здесь очень интересно — вся внутренняя кухня по разработке, кейсы, истории, откровения. Сам DTF тоже читать обязательно — для разработчиков там много обратной связи от геймеров. Тренды, новые инструменты, отзывы — вот это все. Комменты к статьям — сами как статьи.

Главный чат в Telegram о Unity. Прям вот самый главный. В закрепленном сообщении — куча других полезных ссылок на ресурсы и более узкие специализированные чаты о Unity3d. И ссылка на крутой канал с новостями. Если пользуетесь запрещенными мессенджерами — вам сюда.

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

Еще один форум разработчиков на Unity3D. Форумов много, но по-настоящему «живых» мало. Этот — живее всех живых. За что его и ценим. Обсуждения активные, интересные, иногда яростные.

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

YouTube-канал с видеоуроками. Англоязычный, конечно. Очень полезный, частоупоминаемый, можно сказать — образцовый. Таким обычно медали дают. Подписчиков более 40 тысяч. Вроде не так уж и много, но за количеством здесь не гонятся. Главное, что каждый из этих сорока тысяч канал любит и смотрит.

Чтобы получить профессию разработчика игр с нуля, приходите на наш курс по Unity3D (оффлайн плюс онлайн). Кстати, а вот список из самых известных игр, созданных в Новосибирске. А вы в них играли?

Как применять материалы, шейдеры и текстуры к объектам в Unity

В этой статье показано, как применять материалы, шейдеры и текстуры к объектам в Unity.

Предварительные требования

Unity Environment версии 5.6.1

Шаг 1 Создайте объект

Сначала вам нужно открыть проект Unity 3D. Окно Unity выглядит так:

Выберите меню GameObject в строке меню.В меню GameObject есть несколько объектов для создания игры. Выберите 3D-объект и выберите вариант куба.

Кубический объект будет отображаться в режиме просмотра сцены.

Увеличьте размер объекта с помощью инструмента Масштаб. Потяните за стрелку для оси x, оси y и оси z. Размер объекта можно увеличить.

Шаг 2 Создание материалов

Выберите меню Активы в строке меню. Выберите «Создать» и выберите вариант «Материал».

Материал отображается в активах. Теперь измените название материала на красный.

Выберите Материал (красный) и щелкните поле цвета. Цветовое поле отображается с левой стороны. Выберите красный цвет. Цвет нанесен на ваш материал (красный).

Перетащите красный цвет и опустите его в куб. Цвет объекта можно изменить на красный.

Шаг 3 Создание шейдеров и текстур

Щелкните ресурсы правой кнопкой мыши, выберите «Импортировать ресурс».

У меня уже есть изображения кирпичной стены. Если вы хотите подать заявку на другие изображения, вы можете применить их. Теперь я выбрал изображение кирпичной стены. Щелкните кнопку Импорт.

Изображение кирпичной стены добавлено в активы. Выберите изображение, перетащите изображение в объект.Объект можно полностью изменить на кирпичную стену. Теперь новый материал добавлен в активы.

Теперь удалите изображение кирпичной стены и дважды щелкните новый материал. Удалите материал кирпичной стены.

Выберите материал, нажмите F2 и переименуйте новый материал в Текстуры.

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

Щелкните активы правой кнопкой мыши, выберите «Создать» и выберите параметр «Материал».

Дайте название кирпичной стене.

Выберите кирпичную стену и перейдите в стандартный список. Выберите шейдеры Legacy и выберите вариант Diffuse.

Когда вы выбираете диффузный, окно отображается следующим образом.

Щелкните по опции выбора справа.Выберите открытое окно текстуры с левой стороны. Дважды щелкните кирпичную стену. Материал кирпичной стены можно изменить.

Теперь перетащите кирпичную стену в свой объект. Объект полностью превращен в кирпичную стену. Он более темного оттенка.

Выберите отмеченный красным инструмент. Нажмите клавишу alt и прокрутите мышь. Вы можете видеть все стороны вашего объекта с полностью уложенной кирпичной стеной.

Шаг 4

Теперь выберите красный материал и перейдите в стандартный список.Выберите шейдеры Legacy и выберите параметр отражения.

Объект можно отобразить в более ярком свете.

Резюме

Надеюсь, вы поняли, как применять материалы, шейдеры и текстуры к объектам в Unity.

Материалы и текстуры от Blender до Unity 3D

Требования

  • Блендер правильно установлен в системе.
  • Поместите файлы .blend в папку Assets проекта Unity (или во вложенную папку внутри Assets).
    Вы можете открыть их для редактирования, дважды щелкнув файл в Unity. После сохранения файла в Blender он будет автоматически повторно импортирован при переключении обратно в Unity.
  • Поместите все файлы текстур в подпапку с именем Textures в той же папке, что и файл .blend . Подпапка с именем Materials будет автоматически создана Unity.
    При назначении текстур в Blender убедитесь, что вы выбрали файлы, расположенные в папке Textures. Unity 3D автоматически назначит их материалам в импортированном объекте.

Назначить текстуры объектам

  1. Выберите объект и перейдите в режим редактирования (TAB).
  2. Вкладка

  3. Mesh: выберите UV-карту, на которую нужно назначить текстуру. В Unity 3D первая UV-карта используется для текстуры, а вторая UV-карта — для карты освещения.
  4. Выберите все грани на UV-карте (наведите курсор на UV-редактор, затем нажмите A).
  5. Изображение> Открыть изображение (Alt O), затем выберите файл изображения.

  • Текстура назначается выбранным граням.
  • Параметр Текстурированное твердое тело отображает текстуру в 3D виде.
  • Unity 3D получит имя материала из поля Source (когда By Base Texture Name выбрано как Material Naming в Unity 3D).
  • Объект Имя материала игнорируется в Unity 3D (когда По имени базовой текстуры выбрано как Именование материала в Unity 3D).

  • Имя объекта будет таким же в Unity 3D.
  • Имя меша в Blender игнорируется в Unity 3D.
  • Создается материал с именем текстуры и ему назначается текстура.
  • Примечание. Если материал в Unity 3D не получает текстуры, убедитесь, что в сцене Blender нет материала с таким же именем.

Несколько текстур в одном объекте

  1. Выберите объект и перейдите в режим редактирования (TAB).
  2. Вкладка

  3. Mesh: выберите UV-карту, на которую нужно назначить текстуру. В Unity 3D первая UV-карта используется для текстуры, а вторая UV-карта — для карты освещения.
  4. Выберите грань или грани, которым вы хотите назначить текстуру.
  5. Изображение> Открыть изображение (Alt O), затем выберите файл изображения.
  6. Повторите с 3. для каждого лица или группы лиц.

  • Текстуру получают только лица, выбранные в редакторе UV.
  • Параметр Текстурированное твердое тело отображает текстуру в 3D виде.
  • Редактор UV показывает текстуру, назначенную для лица в фокусе . Сфокусированное лицо отображается с другим оттенком.

  • В Unity 3D материал создается для каждой текстуры, которая назначена материалу. Каждый материал носит название своей текстуры.
  • Грани без назначенной текстуры получат безымянный материал по умолчанию .

Управление текстурой

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

  • Текстуру можно отменить для выбранных граней, щелкнув X в селекторе Image .Грани без назначенной текстуры получают безымянный материал по умолчанию в Unity 3D.
  • Файл, который считывает изображение Image , можно изменить, отредактировав поле Источник , либо напрямую, либо выбрав другой файл с помощью значка Открыть файл .

Когда По имени базовой текстуры выбран как Именование материала в Unity 3D:

  • Unity 3D использует поле Source как имя для создания материалов.
  • Имя объекта Image не имеет отношения к Unity 3D. Его можно свободно переименовать в Blender.

Материалы

Во всех случаях Материалы в Blender экспортируют только свой диффузный цвет в материал в Unity 3D (серый 0,8 / 204 по умолчанию). Примечание: чтобы цвет материала отображался в 3D View Blender, параметр Textured Solid должен быть отключен.

Если ниже требуется имя материала и объекту не назначены материалы, то в Unity 3D создается материал по умолчанию : без имени

Когда По имени базовой текстуры выбрано как Именование материалов в Unity 3D:

  • Unity 3D использует поле Source (имя файла изображения) в качестве имени для создания материалов: File_Name (без расширения)
  • Имя объекта данных Image игнорируется в Unity 3D.Его можно свободно переименовать в Blender.
  • Если объекту не назначены текстуры или есть грани без текстуры, тогда Unity 3D использует имя материала в качестве имени для создания материалов: Имя_материала

Когда Материал модели используется в Material Naming в Unity 3D:

Если объекту назначены текстуры:

  • Unity 3D использует имя материала и имя объекта данных Image в качестве имени для создания материалов: Material_Name__Image_Name
  • Обратите внимание, что используется имя объекта данных изображения , а НЕ поле Source (имя файла изображения), как раньше.
  • Если объект имеет текстуру, но не назначен материал, тогда Нет используется в качестве имени материала.

Если объекту не назначены текстуры:

  • Unity 3D использует имя материала как имя для создания материалов: Имя_материала

Текстурирование

— Экспорт циклов материала в единицу

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

Возьмите вашу модель и продублируйте ее. В режиме редактирования используйте ALT-S, чтобы масштабировать все выбранные грани, возможно, -0,05 или что-то относительно подходящее, может меньше значит больше.

Замените материал на Эмиттер белого цвета, как будто сила света / сила области 1.0 звучит правильно.

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

Увы, при включенной подповерхности (и только включенной опции «диффузный», кроме потенциально «выбранной для активной») вы должны получить равномерное освещение на запеченной поверхности.Поскольку это диффузный шейдер, подповерхностное рассеяние в любом случае не будет включено (изначально я использовал любимый объединяющий шейдер Principle … конечно).

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

Думаю, дубликат без масштабирования не сработает, но, возможно, -0.0001 масштабный коэффициент, введенный в панель инструментов, когда масштабирование ALT может быть правильным, чтобы не давать тени на сложных извилистых поверхностях, которые в противном случае улавливали бы больше или, следовательно, меньше света (в зависимости от того, как вы на это смотрите) и имели бы различную экспозицию для близкого света поверхность. Это также можно рассматривать как желаемую (АО) «особенность», чтобы установить это расстояние масштабирования для достижения желаемого эффекта.

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

В любом случае, я все еще делаю некоторые тесты с таким количеством возможностей / настроек. Indirect Off, без использования Selected to Active и, следовательно, сокрытия основного источника высокого разрешения, до которого я запек нормали, и т. Д. Кажется, может быть, эти другие возможности не лучше, и это лучший способ. Я полагаю, что для расстояния вам нужно оторваться от поверхности и, следовательно, не пересекаться (ноль не работал должным образом), поэтому использование логического модификатора поможет более точно определить минимальную величину для масштабирования по нормалям. Возможно, вам придется повторно применить сглаживание к дубликату после смены материала.

{Моя версия — 2,79 в мае 2018 г.}

[Моя мысль о том, как разработчики Blender должны исходить из моего предыдущего комментария к другому ответу выше, заключается в том, что вам нужен узел, который просто экспортирует текстуру с интерполяцией UV-отображения. Это может быть сложно при попытке перейти от поверхности с высоким разрешением к поверхности с низкой ретопологией, поскольку эта техника запекания предназначена для этого, поэтому то, что интерполируется, может быть другим, но вместо этого вы можете переделать текстуры из низкополигональной версии.]

Введение в материалы и стандартные шейдеры в Unity

Изначально это размещено автором в его блоге Marching Bytes. Эта версия была отредактирована для ясности, и некоторые части могут отличаться от исходного сообщения.


Каждая красивая игра содержит множество различных поверхностей: дерево, металл, резину, пластик, голограммы, блестящие инопланетные артефакты и т. Д. Чтобы добиться различного внешнего вида каждого типа материала, мы можем использовать [Unity] (https: // unity3d.com /), в частности, Unity Standard Sharer.

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

Начало работы

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

Прежде чем продолжить, давайте рассмотрим пару концепций.

  • Шейдеры: Шейдеры — это скрипты, содержащие алгоритмы, которые сообщают компьютеру, как визуализировать каждый пиксель.
  • Материалы: Материалы определяют способ визуализации поверхности. Это достигается путем выбора шейдера для материала и последующей установки общедоступных свойств лежащего в основе шейдера.
  • Physically Based Rendering (PBR): PBR — это метод, который реалистично имитирует взаимодействие света с различными материалами. В Unity PBR предоставляется «из коробки» при использовании стандартного шейдера Unity.

Игра со стандартным шейдером Unity

Ура! Пришло время создать красивые материалы.

  1. Создайте новую сцену, выбрав File \ New Scene
  2. Создайте новую сферу, выбрав GameObject \ 3D Object \ Sphere

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

  1. Создайте новый материал, выбрав Assets \ Create \ Material
  2. Дайте этому материалу имя. В нашем случае это CoolMaterial.
  3. Назначьте этот материал своей сфере.
  4. Выберите сферу
  5. Выберите компонент MeshRenderer
  6. В раскрывающемся списке «Материалы» выберите элемент 0 и выберите CoolMaterial .

Если вы заметили, назначение этого нового материала нашей сфере не внесло видимых изменений в ее внешний вид.Это потому, что наш классный новый материал настроен по умолчанию. Настройки по умолчанию == Нет oomph!

Пора оживить! Выберите CoolMaterial в проводнике проекта и проверьте его свойства в инспекторе. В первом раскрывающемся списке выбирается шейдер, который мы хотим использовать для этого материала. Оставьте выбор шейдера на Standard .

Режимы рендеринга

Стандартный шейдер имеет четыре различных режима рендеринга:

  • Opaque: Значение по умолчанию, подходит для визуализации непрозрачных объектов
  • Вырез: Позволяет визуализировать объекты с полностью прозрачными или полностью непрозрачными областями
  • Fade: Уровень прозрачности позволяет выцветать объекты
  • Прозрачный: Позволяет визуализировать прозрачные объекты, такие как стекло, прозрачный пластик и т. Д.

Если вы так же любознательны, как я, возможно, вы пытались изменить режим рендеринга материала, но не заметили никаких изменений в выводе. Это связано с тем, что режим рендеринга не влияет на материал сам по себе, а работает на основе настроек параметра Albedo.

Альбедо

Параметр Альбедо материала определяет цвет и прозрачность материала. Изменить цвет материала можно двумя способами:

  1. Измените цвет и прозрачность с помощью палитры цветов.Однако это повлияет на весь объект
  2. Рекомендуемый способ — назначить текстуру параметру Альбедо. Эта текстура определит цвет и прозрачность материала. Обратите внимание, что значения прозрачности повлияют на ваш материал, только если для режима рендеринга установлено одно из значений непрозрачности.

Назначьте текстуру альбедо вашего материала, щелкнув значок круга рядом с меткой альбедо.

Выберите текстуру camo из списка доступных текстур.Обратите внимание, что ваша сфера теперь покрыта джазовым узором! По-прежнему можно изменить общий цветовой оттенок материала, изменив свойство цвета. Давай, попробуй.

Теперь установите режим рендеринга на Cutout . Обратите внимание, что выход материала не изменился. Это потому, что в текстуре нет прозрачных областей. В параметре Albedo выберите текстуру cut и обратите внимание, что сфера теперь имеет полностью прозрачные и полностью непрозрачные области.Если ваша текстура имеет разные уровни прозрачности, вы можете установить значение отсечки с помощью ползунка Alpha Cutoff .

По выцветшим материалам. Установите режим рендеринга на Fade . В параметре Albedo выберите текстуру camo и уменьшите прозрачность материала, выбрав палитру цветов и уменьшив значение альфа (альфа управляется значением A в палитре цветов).

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

Металлик

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

  1. Изменяя ползунки «Металлик» и «Гладкость». : значение «металлик» определяет, насколько «металлическим» является материал. Чем ближе значение металлического к 1, тем больше света будет отражаться. Значение гладкости определяет, насколько гладким будет материал.
  2. При назначении карты текстуры параметру «Металлик». : Когда вы назначаете текстуру свойству «металлик», оба ползунка «Металлик» и «Гладкость» исчезнут.Красный канал текстуры управляет металлическими оттенками материала. Альфа-канал текстуры контролирует гладкость материала. Назначение текстуры параметру «металлик» полезно, когда в вашем материале есть области с разными значениями «металлик» и гладкостью.

Просто чтобы попробовать, установите режим рендеринга на Opaque , назначьте текстуру camo альбедо и текстуру camo обоим параметрам металла, затем проверьте результат.Поскольку текстура camo представляет собой изображение с красным и белым, весь материал приобрел металлический вид. Если вам интересно, почему, белый — это комбинация значений RGB по 255 каждое. Поскольку значение металла устанавливается на основе канала R, для всего материала значение металла установлено на 1.

Желаете добиться того же результата с помощью ползунков Metal и Smoothness? Просто удалите металлическую текстуру и установите ползунки на максимальные значения.

Карта нормалей

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

Карты нормалей — это особый вид изображений, которые можно создавать с помощью приложений для 3D-моделирования или вручную. Эти текстуры хранят информацию, необходимую Unity, чтобы решить, как поверхность реагирует на свет.Для получения дополнительных сведений перейдите по этой ссылке: http://docs.unity3d.com/Manual/StandardShaderMaterialParameterNormalMap.html.

Для целей этой статьи мы создали текстуру карты нормалей с именем camo_normal . Назначьте эту текстуру полю карты нормалей материала. Обратите внимание, как белая область материала теперь выпуклая, и сфера кажется неровной поверхностью.

Карта высот

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

Окклюзия

Карты окклюзии используются для определения количества непрямого освещения, падающего на определенные области вашего объекта. Карты окклюзии обычно создаются в 3D-приложениях на основе топологии 3D-модели, к которой они будут применяться. Карты окклюзии представляют собой изображения в градациях серого, где белый цвет указывает на области, которые должны получать полное непрямое освещение, а черный указывает на отсутствие косвенного освещения.Знаю, знаю. Карты окклюзии немного сложны для понимания. Но как только вы освоите это, будет довольно легко моделировать реалистичные объекты в вашей игре. Красота ++:]

Эмиссия

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

Маски деталей и карты деталей

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

Затенение и рендеринг на основе физических данных

Unity применяет Physically Based Shading (PBS) ко всем материалам, используя стандартный шейдер.PBS — это усовершенствованная модель расчета освещения, которая позволяет сцене выглядеть более реалистично при различных условиях освещения. PBS рассчитывает общую сумму всего прямого и непрямого света, падающего на объекты; а затем визуализирует сцену.
Посмотрите эту замечательную гифку и обратите внимание на то, как меняется внешний вид при изменении условий освещения:

Эксперименты с другими типами шейдеров

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

Skybox

Skybox — это специальный шейдер, который можно применить к вашей сцене, чтобы изменить общую атмосферу. Чтобы создать материал скайбокса, создайте новый материал и выберите шейдер Skybox \ Procedural . Этот шейдер позволяет создавать материал скайбокса с определенными параметрами неба.

Чтобы применить скайбокс к вашей сцене, выберите Window \ Lighting . В редакторе освещения выберите материал для скайбокса.

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

Toon Shader

Мультяшный шейдер — это специализированный шейдер, который позволяет придавать объектам мультяшный вид. Шейдер Toon предоставляется как часть стандартных ресурсов Unity и должен быть импортирован в ваш проект отдельно.

Выберите Assets \ Import Package \ Effects и в открывшемся окне выберите Import.
Теперь, когда у вас есть шейдер toon, импортированный в ваш проект, создайте новый материал и выберите шейдер Toon \ Basic Outline . Этот шейдер позволяет определить очертание объекта.Попробуйте поэкспериментировать с другими вариантами мультяшных шейдеров и посмотрите, что у вас получится!

Куда идти дальше?

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

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

Если у вас есть какие-либо вопросы, не стесняйтесь обращаться ко мне.


### Другие руководства, которые могут вас заинтересовать:

— [Процедурно созданные туманности в Unity3D] (https: //www.codementor.io / c_sharp / tutorial / procedure-generation-visual-rendering-unity3d)
— [5 рекомендаций, которые должны знать начинающие разработчики мобильных игр] (https://www.codementor.io/ios/tutorial/mobile-ios-game-development-best-practices)
— [Как начать работу с дизайном анимации] (https://www.codementor.io/design/tutorial/learn-animation-design-classical-principles)

Лучшие практики 3D-графики в реальном времени Материалы и шейдеры — Arm Developer

Дополнительные материалы и лучшие практики шейдеров

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

Сохраняйте простой шейдер

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

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

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

Arm предоставляет инструменты для профилирования, например Mali Offline Shader Compiler и Streamline. Однако эти инструменты требуют более высокого уровня знаний графики, чтобы лучше понять, как работает графический процессор. Если вы редактируете шейдеры, то эту область стоит изучить более глубоко.

Выполните как можно больше операций в вершинном шейдере

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

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

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

По возможности избегайте сложных математических операций

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

Эти математические операции не равны по стоимости производительности. Поэтому вы должны обратить внимание на их использование. Некоторые из более сложных операций включают sin, pow, cos, деление и шум.

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

Всегда выполнять профилирование производительности

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

материалов и шейдеров Unity — Javatpoint

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

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

Материалы

В Unity 3D Материал — это файл, содержащий информацию об освещении объекта этим материалом.

Материал не имеет ничего общего с столкновениями, массой или даже физикой в ​​целом. Он просто используется для определения того, как освещение влияет на объект с этим материалом.

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

Создадим наш новый материал, для этого в первую очередь создадим новый 3D-проект в Unity.

Затем щелкните правой кнопкой мыши «Активы», выберите «Создать» -> «Материалы» и дайте имя, например «Мой материал».

См. Свойства материала.

Эти свойства еще не изучены нами. Это потому, что это свойства, которые запрограммированы в шейдере, а не в материале.

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

Шейдеры

Шейдер — это программа, которая определяет, как каждый пиксель отображается на экране. Шейдеры вообще не программируются на C # или даже на объектно-ориентированном языке программирования.Шейдеры программируются на языке C-подобном, который называется GLSL. Этот язык может давать прямые инструкции графическому процессору для быстрой обработки.

Скрипты

Shader содержат математические вычисления и алгоритмы для расчета цвета каждого отображаемого пикселя на основе входного освещения и конфигурации материала.

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

Текстуры

Текстуры — это плоские изображения, которые можно применять к 3D-объектам. Благодаря текстурам модели получаются красочными и интересными, а не пустыми и скучными.

Кажется странным думать, что 2D-изображение можно применить к 3D-модели, но это очень простой и понятный процесс, если вы с ним знакомы. Давайте рассмотрим один простой пример: представьте себе бутылку с водой: если вы сняли этикетку с бутылки с водой, вы увидите, что это плоский лист бумаги.Этот ярлык похож на текстуру. После того, как этикетка напечатана, ее оборачивают вокруг 3D-бутылки, чтобы придать ей более приятный вид.

Как и все остальные ресурсы, добавить текстуру в Unity очень просто. Чтобы создать текстуру в Unity, просто создайте папку для ваших текстур; хорошее название — Текстуры. Затем загрузите и перетащите любую желаемую текстуру в свой проект в только что созданную папку «Текстуры». Вот и все.

Чтобы создать папку, щелкните правой кнопкой мыши Assets и выберите Create -> Folder.Переименуйте его в «Текстуры». Теперь загрузите любую текстуру и перетащите ее в эту папку.


материалов в единстве | Секретный ингредиент фотореализма

Создание визуально привлекательных игр — это всего лишь вопрос понимания различных подсистем в Unity Game Engine. Материальное творение — одно из них. Материалы отвечают за окончательный вид Объекта. Если One правильно использует свои материалы, то больше половины работы делается на создание красивых сцен для игр.

В этом курсе Unity вы:

  • Освоите концепции материалов и шейдеров

  • Научитесь создавать сложные и визуально привлекательные материалы

  • Освоить использование различных карт, необходимых для создание материалов

  • Получение полных знаний о процессе создания материалов в Unity

  • Управляйте различными параметрами материалов с помощью кода

  • И многое другое!

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

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

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

Зачем изучать разработку игр с Unity?

Игровая индустрия — это мировая индустрия с оборотом 100 миллиардов долларов. К 2020 году эта цифра, как ожидается, составит около 120 миллиардов долларов. Поскольку Unity является наиболее широко используемым движком для разработки игр на нескольких платформах , сейчас самое подходящее время для выхода в поле. Как вы узнаете, типы игр, которые вы можете создавать с помощью Unity и C #, безграничны.Разработка игр — это отличное хобби, позволяющее изучить новый навык и играть в свою игру с семьей и друзьями. Это также захватывающая и полезная карьера, в которой многие успешные разработчики изучали основы разработки игр на подобных курсах, а не в традиционных классах. Каждая великая игра где-то начинается, так почему бы не сделать ее своей? Хотя людей часто пугает программирование или создание игр, в этом курсе Unity используется уникальный метод обучения, который позволит вам получить полное представление о концепциях при разработке собственных игр.Благодаря сообществу Unity вы сможете общаться с другими разработчиками, вместе работать над новыми проектами и создавать невероятные игры!

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

2021 © Все права защищены. Карта сайта