Что такое текстура unity

от admin

Текстуры

Normally, the mesh geometry of an object only gives a rough approximation of the shape while most of the fine detail is supplied by Textures. A texture is just a standard bitmap image that is applied over the mesh surface. You can think of a texture image as though it were printed on a rubber sheet that is stretched and pinned onto the mesh at appropriate positions. The positioning of the texture is done with the 3D modelling software that is used to create the mesh.

Cylinder with tree bark

Unity can import textures from most common image file formats.

Textures for use on 3D models

Textures are applied to objects using Materials. Materials use specialised graphics programs called Shaders to render a texture on the mesh surface. Shaders can implement lighting and colouring effects to simulate shiny or bumpy surfaces among many other things. They can also make use of two or more textures at a time, combining them for even greater flexibility.

Вы должны создавать ваши текстуры с размерами, являющимися степенями двойки (например, 32х32, 64х64, 128х128, 256х256 и т.д.). Просто поместите их в папку Assets вашего проекта, этого будет достаточно, затем они появятся в окне Project View.

После того как ваша текстура будет импортирована, вы должны будете назначить ее материалу. После этого материал может быть применен к мешу, системе частиц(Particle System) или GUI текстуре(GUI Texture). Используя настройки импорта(Import Settings), текстуру также можно конвертировать в Cubemap или Normalmap для различного применения в игре. Более подробную информацию об импорте текстур, пожалуйста, читайте на странице компонента Texture.

2D графика

In 2D games, the Sprites are implemented using textures applied to flat meshes that approximate the objects’ shapes.

Sprite from a 3D viewpointSprite from a 3D viewpoint

An object in a 2D game may require a set of related graphic images to represent animation frames or different states of a character. Special techniques are available to allow these sets of images to be designed and rendered efficiently. See the manual page about the Sprite Editor for more information.

A game’s graphic user interface (GUI) consists of graphics that are not used directly in the game scene but are there to allow the player to make choices and see information. For example, the score display and the options menu are typical examples of game GUI. These graphics are clearly very different from the kind used to detail a mesh surface but they are handled using standard Unity textures nevertheless. See the manual chapter on GUI Scripting Guide for further details about Unity’s GUI system.

Particles

Meshes are ideal for representing solid objects but less suited for things like flames, smoke and sparkles left by a magic spell. This type of effect is handled much better by Particle Systems. A particle is a small 2D graphic representing a small portion of something that is basically fluid or gaseous, such as a smoke cloud. When many of these particles are created at once and set in motion, optionally with random variations, they can create a very convincing effect. For example, you might display an explosion by sending particles with a fire texture out at great speed from a central point. A waterfall could be simulated by accelerating water particles downward from a line high in the scene.

Star particle systemStar particle system

Unity’s particle systems have a wealth of options for creating all kinds of fluid effects. See the manual chapter on the subject for further information.

Terrain Heightmaps

Textures can even be used in cases where the image will never be viewed at all, at least not directly. In a greyscale image, each pixel value is simply a number corresponding to the shade of grey at that point in the image (this could be a value in the range 0..1 where zero is black and one is white, say). Although an image like this can be viewed, there is no reason why the numeric pixel values can’t be used for other purposes as well, and this is precisely what is done with Terrain Heightmaps.

A terrain is a mesh representing an area of ground where each point on the ground has a particular height from a baseline. The heightmap for a terrain stores the numeric height samples at regular intervals as greyscale values in an image where each pixel corresponds to a grid coordinate on the ground. The values are not shown in the scene as an image but are converted to coordinates that are used to generate the terrain mesh.

Interestingly, even though a heightmap is not viewed directly as an image, there are still common image processing techniques that are useful when applied to the height data. For example, adding noise to a heightmap will create the impression of rocky terrain while blurring will smooth it out to produce a softer, rolling landscape.

More information about terrains in Unity can be found in this section of the manual.

Текстуры

Обычно сетка основной графический примитив Unity. Меши составляют большую часть ваших 3D-миров. Unity поддерживает триангулированные или четырехугольные полигональные сетки. Поверхности Nurbs, Nurms, Subdiv должны быть преобразованы в полигоны. Подробнее
См. в Словарь , геометрия объекта дает только приблизительную аппроксимация формы, в то время как большая часть мелких деталей обеспечивается текстурами изображением, используемым при рендеринге GameObject, Sprite или элемента пользовательского интерфейса . Текстуры часто применяются к поверхности сетки, чтобы придать ей визуальную детализацию. Подробнее
См. в Словарь . Текстура — это просто стандартное растровое изображение, накладываемое на поверхность сетки. Вы можете думать об изображении текстуры, как если бы оно было напечатано на резиновом листе, который натянут и прикреплен к сетке в соответствующих местах. Позиционирование текстуры осуществляется с помощью программного обеспечения для 3D-моделирования, которое используется для создания сетки.

Цилиндр с корой дереваЦилиндр с корой дерева

Unity может импортировать текстуры из большинства распространенных форматов файлов изображений.

Текстуры для использования в 3D-моделях

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

Размеры текстур должны быть в степени двойки (например, 32 x 32, 64 x 64, 128 x 128, 256 x 256 и т. д.). Достаточно просто поместить их в папку «Активы» вашего проекта, и они появятся в представлении проекта.

После того как ваша текстура была импортирована, вы должны назначить ее Материалу. Затем материал можно применить к сетке, Системе частиц Компоненту, который имитирует текучие объекты, такие как жидкости, облака и пламя, путем создания и анимация большого количества небольших 2D-изображений в сцене. Подробнее
См. в Словарь или Текстура GUI. С помощью настроек импорта его также можно преобразовать в кубическую карту коллекцию из шести квадратных текстур, может представлять отражения в окружающей среде или скайбокс, нарисованный позади вашей геометрии. Шесть квадратов образуют грани воображаемого куба, окружающего объект; каждая грань представляет вид по направлениям мировых осей (вверх, вниз, влево, вправо, вперед и назад). Подробнее
См. в Словарь или в карте нормалей различные типы приложения в игре. Дополнительную информацию об импорте текстур см. на странице компонента текстуры.

2D-графика

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

Спрайт с точки зрения 3DСпрайт с точки зрения 3D

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

Графический интерфейс

Игровой графический пользовательский интерфейс (GUI) состоит из графики, которая не используется непосредственно в игровой сцене Сцена содержит окружение и меню вашей игры. Думайте о каждом уникальном файле сцены как об уникальном уровне. В каждой сцене вы размещаете свое окружение, препятствия и декорации, по сути проектируя и создавая свою игру по частям. Подробнее
См. в Словарь , но они позволяют игроку делать выбор и просматривать информацию . Например, отображение счета и меню параметров являются типичными примерами игрового графического интерфейса. Эта графика явно сильно отличается от той, которая используется для детализации поверхности сетки, но тем не менее она обрабатывается с использованием стандартных текстур Unity. Дополнительную информацию о системе графического интерфейса Unity см. в главе GUI Scripting Guide.

Частицы

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

Читать:
Как найти провод тахометра для сигнализации

Система звездных частицСистема звездных частиц

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

Карты высот местности

Текстуры можно использовать даже в тех случаях, когда изображение вообще никогда не будет просматриваться, по крайней мере, напрямую. В изображении в оттенках серого каждый пиксель наименьшая единица компьютерного изображения. Размер пикселя зависит от разрешения вашего экрана. Пиксельное освещение рассчитывается для каждого пикселя экрана. Подробнее
См. в Словарь значение — это просто число, соответствующее оттенку серого в данном точка на изображении (это может быть значение в диапазоне от 0 до 1, где ноль — черный, а единица — белый). Хотя такое изображение можно просматривать, нет никаких причин, по которым числовые значения в пикселях нельзя использовать и для других целей, и именно это делается с помощью Карты высот местности.

terrain – это сетка, представляющая участок земли, где каждая точка на земле имеет определенную высоту от базовой линии. карта высот для ландшафта ландшафта в вашей сцене. Игровой объект Terrain добавляет в вашу сцену большую плоскую плоскость, и вы можете использовать окно Terrain Inspector для создания подробного ландшафта. Подробнее
See in Словарь хранит числовые образцы высоты через равные промежутки времени в виде значений оттенков серого в изображение, где каждый пиксель соответствует координате сетки на земле. Значения не отображаются в сцене в виде изображения, а преобразуются в координаты, которые используются для создания сетки ландшафта.

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

Дополнительную информацию о ландшафтах в Unity можно найти в этом разделе руководства.

Текстуры для Unity3D: как работать, готовые модели

Lorem ipsum dolor

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

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

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

Текстуры для Unity 3D

  • обозначить трещины;

  • обозначить сучки;

  • сделать выпуклости;

  • и др.

Текстуры для Unity3D: применение карт рельефа

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

  2. Parallax Map. Определяет иллюзию движения отдельных частей модели относительно общей сцены. Такой вид карты воздействует на положение отдельных пикселей, но не полигонов.

  3. Displacement map. Этот вид карты влияет на геометрические данные модели и обеспечивает максимально реалистичную рельефность текстуры. Однако общее количество полигонов модели остается неизменным. Этот вид карты рельефа определяет реальное изменение поверхности модели и не создает иллюзий, как первые два вида. Из-за своей сложности, она считается наиболее затратной, поэтому используется нечасто.

Текстуры шумов для Unity

  • поверхность асфальта;

  • песочный пляж;

  • поверхность камней;

  • штукатурку зданий;

  • поверхность шкурки цитрусовых;

  • поверхность планет;

  • вид хлеба;

  • и др.

Текстуры для Unity3D: большие объекты

  • поверхность горы;

  • поверхность пустыни;

  • песчаный пляж;

  • снежный покров;

  • и др.

Заключение

Сегодня мы рассмотрели теоретическую часть темы «Текстуры в Unity 3D», к практическим моментам мы перейдем в следующих статьях. Нужно понять, что применение текстур позволяет достаточно быстро и незатратно добавить реалистичность готовым 3D-моделям. Это значит, что нужно обязательно научиться их использовать в собственных работах.

Мы будем очень благодарны

если под понравившемся материалом Вы нажмёте одну из кнопок социальных сетей и поделитесь с друзьями.

4. Материалы и текстуры

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

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

Используй пункт главного меню Assets → Create → Material или контекстное меню окна Проект, для создания нового материала. После создания, ты можешь применить его к объекту и настроить все его свойства в Инспекторе. Для применения материала к объекту, просто перетащи его из окна Проект на любой объект в Сцене или Иерархии. Чтобы изменить материал у всех объектов одного prefab’а, необходимо изменить материал у сохраненного prefab’а в окне Проект. Попробуем сделать материалы для моста. Нам понадобятся два цвета: коричневый и темно-коричневый (для столбов). Создадим два материала для этого.

Выбери один из них и в Инспекторе измени цвет (в самом верху, рядом со словом Albedo). Повтори тоже самое с другим материалом.

Теперь необходимо заменить материалы в prefab’е моста. Разверни prefab в окне Проект, нажав на стрелочку:

Выбери несколько объектов, которые должны быть одного цвета. А теперь посмотри на окно Инспектор и найди там компонент Mesh Renderer . Именно он отвечает за то, какого наш объект будет цвета и как он будет отражать свет. Найди свойство Material и разверни его нажав на стрелочку. Ты увидишь число, которому соответствует количество материалов необходимых для этой 3D модели (Size) и, собственно, сами материалы. В нашем случае один материал — Default-Material. Его и нужно заменить, нажав на соседний кружочек .

Теперь ты можешь добавить материалы к остальным элементам prefab’а. Обрати внимание, что изменяя prefab в окне Проект, ты меняешь сразу все его копии на Сцене. Вот, что получилось у нас:

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

Albed — цвет и текстура.

Metallic — определяет металлическая (значение 1) ли поверхность или нет (значение 0).

Smoothness — определяет насколько поверхность глянцевая (значение 1) или шероховатая (значение 0).

4.2. Текстура

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

Unity поддерживает все самые популярные форматы изображений: jpeg, png, tiff, tga, psd. Текстура должна быть квадратной и иметь следующие размеры: 32х32, 64х64, 128х128, 256х256, 512х512, 1024х1024, 2048х2048, 4096х4096, 8192х8192. Если не следовать этим правилам — Unity попытается сам преобразовать изображение в нужный размер.

4.3. Импорт текстуры

Создай папку в окне Проект, где будут храниться все текстуры. Предлагаем назвать папку Texture . Нажми на эту папку правой кнопкой мыши и выбери «Import New Asset…». Выбери картинку.

Выбери нужный материал. В окне Инспектор нажми кружочек рядом с параметром Albedo и выбери текстуру.

Для простых объектов (куб, сфера, плоскость) можно изменить количество повторений текстуры на объекте. По умолчанию, текстура не повторяется. Выбери материал, в окне Инспектор параметр Tiling отвечает за повторение текстуры по осям x, y.

4.4. Normal Map

Есть простой сервис http://cpetry.github.io/NormalMap-Online/, где из картинки можно настроить и скачать себе Normal map.

Импорт Normal map

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

Нажми на эту папку правой кнопкой мыши и выбери «Import New Asset…». Выбери картинку.

Выдели в окне проекта, добавленную картинку. В свойстве Texture Type выбери Normal Map .

Чтобы добавить материалу неровность, выбери его, в окне Инспектор нажми кружочек рядом с параметром Normal map и выбери нужную.

4.5. Unity: Создание материала ‘Стекло’

Для создания стекла можно использовать стандартный шейдер и выставить для него Rendering Mode = Transparent и в настройках цвета для Albedo выставить прозрачность (Alpha = 0).

Но можно его сделать более реалистичным. Для этого нужно рядом со стеклом добавить GameObject ▶ Light ▶ Reflection Probe. В ее настройках можно указать уровень детализации побольше Resolution = 512 (будет красиво, но скажется на производительности), а для того, чтобы отображались не только статические объекты, нужно выставить Baking Type в Realtime.

Если для Reflection Probe установить чекбокс в разделе его свойств Runtime Settings ▶ Box Projection , то отражения на стекле будут еще более реалистичными.

По умолчанию для Reflection Probe выставлено значение Refresh Mode = On Awake. Это значит, что динамические объекты (типа персонажа или врагов и т.п.) стекло не будет отражать. Если не жалко ресурсов, но хочется красоты и «реальности», то можно выставить режим обновления на каждый кадр.

Похожие статьи