Как сделать текстуру для source sdk


Как сделать текстуру для source sdk

Как сделать текстуру для source sdk

Как сделать текстуру для source sdk



Unreal Engine — , разрабатываемый и поддерживаемый компанией .

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

Содержание

Написанный на языке , движок позволяет создавать игры для большинства и : , , и ; , , , , , , , , , , и др., а также на различных портативных устройствах, например, устройствах (, ), управляемых системой и прочих. (Впервые работа с была представлена в 2009 году, в 2010 году продемонстрирована работа движка на устройстве с системой ).

См. описание возможностей конкретных версий движка.

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

Для игры по сети поддерживаются технологии , , и прочие, включая до 64 игроков (клиентов) одновременно. Таким образом, движок адаптировали и для применения в играх жанра (один из примеров: ).

Иерархия объектов[ | ]

Все элементы игрового движка представлены в виде , имеющих набор характеристик, и , который определяет доступные характеристики. В свою очередь, любой класс является «дочерним» классом object. Среди основных классов и объектов можно выделить следующие:

  • Актёр (actor) — родительский класс, содержащий все объекты, которые имеют отношение к игровому процессу и имеют пространственные координаты.
    • Пешка (pawn) — физическая модель игрока или объекта, управляемого искусственным интеллектом. Название происходит от  pawn — тот, кем манипулируют (или пешка, поэтому такой объект без какой-либо модели выглядит как ). Метод управления описан специальным объектом, такой объект называется контроллером. Контроллер искусственного интеллекта описывает лишь общее поведение пешки во время игрового процесса, а такие параметры как «здоровье» (количество повреждений, после которых пешка перестаёт функционировать) или, например, расстояние, на котором пешка обращает внимание на звуки. задаются для каждого объекта отдельно.
  • Мир, уровень (world, game level) — объект, характеризующий общие свойства «пространства», например, силу тяжести и туман, в котором располагаются все актёры. Также может содержать в себе параметры игрового процесса, как, например, игровой режим, для которого предназначен уровень.

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

Зонирование. В камеру не попадает ни один портал (пунктирная линия) красной зоны, поэтому объекты в ней не обрабатываются вовсе.

Поверхность (surface) является основным элементом двоичного дерева пространства. Эти элементы создаются на грани пересечения между «заполненной» и «пустой» частями пространства. Группа элементов двоичного дерева пространства называется нодом (node, узел). Этот термин, как правило, употребляется в контексте node count — количество нодов на экране или в игровом пространстве вообще. Количество нодов, одновременно видимых на экране влияет на производительность при прорисовке сцены. Если какой-то нод не попадает на экран или перекрывается целиком другими нодами, он не обсчитывается — это служит для повышения производительности, особенно в закрытых пространствах. Разбиение всего пространства на группы нодов называется зонированием.

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

Описание «заполненных» и «пустых» частей пространства выполняется с помощью набора замкнутых трёхмерных объектов, составленных из не пересекающихся поверхностей — брашей (brush, кисть). Этот принцип построения пространства называется . Геометрия может быть «аддитивной» (всё пространство изначально «пустое») и «вычитательной» (изначально заполненное материей пространство).

Браши делятся на три типа:

  • Сплошные (solid) — полноценно участвуют в двоичном разбиении пространства.
    • Аддитивные (additive) — «заполняют» двоичное пространство.
    • Вычитательные (substractive) — «вырезают» объёмы в пространстве.
  • Полу-сплошные (semi-solid) — не влияют напрямую на двоичное дерево пространства, однако влияют на её физическую модель. Могут только «заполнять» пространство. Служат для создания «невидимых» препятствий, а также снижения числа полигонов и нодов..
  • Пустые (non-solid) — только создают поверхности, не влияют на двоичное дерево пространства. Используются преимущественно для создания объёмов (volume) — часть пространства, которая обладает свойствами, отличными от свойств игрового мира. Объёмы имеют приоритет, свойства объёма с большим приоритетом применяются к находящимся в нём актёрам. Игровой мир всегда имеет минимальный приоритет. При помощи объёмов можно изменить гравитацию, вязкость, туман и тому подобное. Объёмы, начиная с версии движка Unreal Engine 2, используются для создания воды (но не водной поверхности).

Средства разработки[ | ]

Основная статья:

Движок комплектуется инструментарием (), в том числе и редактором .

Unreal Engine 1[ | ]

Дебютировав в , Unreal Engine 1 был одним из первых игровых движков подобной универсальности; он совмещал в себе , , , управление и сетевой системами и готовую среду разработки для игр — . Учитывая уровень производительности большинства компьютеров того времени, разработчики несколько упростили некоторые элементы движка: систему , сетевой код, код контроллера для игрока.

Некоторые технологии движка Unreal Engine были революционно новыми для того времени: например использование динамического . Эта технология позволяла добавить ряд эффектов для наложения на поверхности:

  • Частично или полностью зеркальные поверхности.
  • Технология варпинга (warp) — возможность при прорисовке заменять изображение одной поверхности проекцией изображения на другую, ей параллельную поверхность. Несмотря на то, что ряд объектов мог беспрепятственно переходить через варп-зоны (например, пущенная игроком ракета), присутствовало большое число ограничений на работу таких зон. Данная технология выглядела в игре как порталы (через которые можно было стрелять и проходить, но они не пропускали звуки), существенно опередившие своё время. Дизайнеры игры добавляли к таким порталам великолепный динамический эффект переливающейся и светящейся поверхности, в результате чего порталы были одной из заметных особенностей Unreal 1.
  • Скайбокс (Skybox) — проецирование на поверхности отрисовки с другой точки (которая обычно помещалась в небольшую «коробку» с наложенной текстурой неба, отсюда и название Skybox). Таким образом, отображение не лицевой грани полигонов, а обратной, с заранее наложенной текстурой «неба» на объект. В игре широко использовался приём масштабирования текстур таким способом, что приводило к реалистичным видам окружающей среды. Для сравнения, в , использующей движок-конкурент , также было динамичное небо, но в отличие от Unreal, оно не выглядело фотореалистичным (имея кроме того, ошибку в декомпрессии алгоритма S3TC, приведшую к появлению градиентов). Unreal был одной из первых игр, широко использовавших мультитекстурирование, позволявшее (при правильной расстановке источников света и ориентации относительно пререндеренных текстур) добиться эффекта трёхмерности поверхностей (хотя истинных технологий в то время не было ещё ни в одной игре).

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

Первоначально движок был выпущен с поддержкой двух платформ: и . Благодаря модульной системе движка была заявлена возможность портирования движка на приставки «нового поколения» того времени и позже был успешно использован на таких платформах как , и . Также поддерживалась независимость сетевого кода от платформы клиента — пользователи Mac OS могли играть в многопользовательском режиме Unreal с пользователями Windows.

Unreal Engine 1.5[ | ]

В вышла улучшенная версия движка Unreal, предназначенная для современных (на то время) компьютеров и консолей и . Были внесены значительные дополнения в числе которых: поддержка для персонажей; максимальное разрешение увеличено до 1024x1024, расширяемая система «частиц», технология . Также была интегрирована вторая версия редактора .

Эта версия движка используется в многопользовательском , и в «».

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

Unreal Engine 2[ | ]

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

Появились следующие технологии:

  • Жидкая поверхность (fluid surface) — плоский объект, состоящий из большого числа полигонов, имитирующий поверхность жидкости. Такой объект можно поместить на границу с объёмом воды и он будет искажаться под действием проходящих через него объектов (например, ныряющего игрока).
  • Листва (foliage) — генерируемые на лету объекты, которые декорируют ландшафт (например, трава).
  • Поддержка  — возможность переговоров через микрофон с другими игроками во время игры.
  • Распознавание речи — перевод голоса в текст и обработка как команды (например, возможность отдавать команды голосом). Эта технология использовала и поэтому поддерживалась только в 32-битной версии Windows.
  • Более сложная физика тел,  — обработка действия на тела не как действие на один объект, а как действие на скелет (Ragdoll) с привязкой к нему частей тела. У каждого сустава персонажа появились ограничители (вращения), эти ограничители бывают двух видов: шарнирные и линейные. Линейные могут вращаться только вокруг одной оси, а шарнирные по всем трём. Также само действие на некоторые объекты определяется не по коробкам коллизий, а по сложным моделям, которые также привязаны к скелету.
  • (как следствие перехода на Karma) — несмотря на то что «скелетная» структура объектов была реализована ещё в первой версии движка, возможность использования физики «тряпичной куклы» появилась только вместе с переходом на новую физическую подсистему.
  • Транспортные средства (vehicles) — возможность обрабатывать события от стороннего «актёра» («актора»). В реализованы не полностью, есть недоработанный актёр BullDog. Однако есть реализация уровня для UT2003, на котором находится модифицированный «актёр», выполняющий все функции транспортного средства. Транспортные средства делятся по типам реализаций — неподвижные (стационарные оборонительные установки), составленные из нескольких объектов (Karma vehicle), с использованием скелетной структуры и транспортные средства, прикрепляемые к другим транспортным средствам (например, пулемёт на башне танка). Некоторые транспортные средства могут действовать без «пилота», управляемые собственным искусственным интеллектом.
  •  — движок трёхмерного звука, разработанный .

В связи с переходом на 32-битную графику и использование технологии Karma, использование варп-зон стало затруднено.

Unreal Engine 2.5[ | ]

В этой версии был в очередной раз улучшен и оптимизирован  — появилась поддержка Direct3D 9, OpenGL 2 и Pixomatic (последняя система рендеринга служит для компьютеров со слабой видеокартой, но мощным центральным процессором). Добавлена поддержка 64-битных и . Наибольшее возможное разрешение текстур поднято до 4096x4096 пикселов, добавлена полноценная поддержка (), что позволило создавать полностью локализованные игры на азиатских языках.

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

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

Unreal Engine 2 Runtime[ | ]

Unreal Engine 2 Runtime является специальной версией движка Unreal Engine 2.0 (основанной на билде 2226) с ограниченной лицензией. Позднее движок был заменён на UDK — удешевлённую версию движка Unreal Engine 3.

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

Для использования в коммерческих целях требовалось приобрести лицензию.

Unreal Engine 2X[ | ]

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

Был использован только в .

Unreal Engine 3[ | ]

Версия была разработана с учётом персональных компьютеров, использующих современные системы рендеринга (DirectX 9/10 и OpenGL 2/3), и консолей следующего поколения ( и ). В связи с широким распространением многопроцессорных систем движок использует два параллельных главных  — основной поток (отвечающий преимущественно за игровой процесс) и поток рендеринга. Кроме двух главных потоков могут быть вызваны второстепенные, которые выполняют разовые задачи. Появилась поддержка многопоточной динамической загрузки данных (streaming), например, загрузка «локации» непосредственно при перемещении по ней в целях экономии ресурсов.

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

От физической подсистемы отказались, заменив её на от компании . Позже AGEIA выпустила набор дополнительных библиотек к игре, позволяющих задействовать все возможности физической системы (такие как эффект «жидкости» или ткани).

За анимацию лиц персонажей отвечает интегрированный анимационный движок разработки . Обновлена версия до 5-й. Добавлена поддержка технологии для генерации деревьев. Упор был сделан на additive-геометрию, однако от поддержки вычитательной геометрии не отказались. Недостатком вычитательной геометрии в первую очередь является гораздо более длительный расчёт освещения.

Представлен новый редактор , переписанный с использованием .

Появилась поддержка огромного количества устройств; на мероприятии Adobe Max в Лос-Анджелесе была продемонстрирована работа движка Unreal Engine 3 работающего посредством платформы .

Unreal Development Kit (UDK)[ | ]

Несмотря на то, что Unreal Engine 3 был открыт для создания модификаций, возможность продавать игры на базе UE3 предоставлялась только обладателям лицензии на игровой движок.

Однако, в ноябре , компания выпустила бесплатную версию на базе Unreal Engine 3, получившую название Unreal Development Kit (UDK), которая стала доступной для каждого начинающего разработчика. (Движок обновлялся параллельно с развитием коммерческой версии и со временем начал базироваться на Unreal Engine 3.5).

В соответствии с пользовательским соглашением (), разработчики игр могут продавать свои игры сделав одноразовую выплату компании Epic Games в сумме . В случае если коммерческий продукт на базе UDK наберёт в общей сумме ,000 прибыли, то разработчик будет вынужден выплачивать 25 % компании Epic Games. В декабре была выпущена версия UDK поддерживающая создание игр для платформы .

Unreal Engine 3.5[ | ]

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

В марте был опубликован анонс новых возможностей движка, которые были представлены на . Одним из основных нововведений является новая система расчёта освещения Unreal Lightmass, использующая без потерь функций, которые были реализованы в более старых системах освещения. Улучшена работа с многопроцессорными системами — распределение задач между многопроцессорными системами с помощью Unreal Swarm, а также ускорение кода C++ и обработка за счёт Unreal Build Tool (последнее увеличение производительности коснётся только разработчиков или создателей любительских модификаций). Добавлено собственное средство  — Unreal Content Browser, появился Unreal Master Control Program — новый мастер-сервер, для обновления клиентов и ведения глобальной статистики, который уже используется в . В связи с нововведениями Epic Games China планировала продемонстировать использование движка для .

В компанией Epic Games был продемонстрирован видеоролик о последних обновлениях, внесённых в движок — Samaritan («Самаритянин»); пресса и игроки стали называть его «Unreal Engine 3.9». В очередном обновлении движок третьего поколения получил поддержку DirectX 11, а также огромное количество сопутствующих технологий.

Unreal Engine 4[ | ]

вице-президент Марк Рейн сообщал, что Unreal Engine 4 уже два года как находится в разработке и его целевыми платформами являются персональные компьютеры и консоли , а единственным человеком, работавшим над движком, является . Сам же Суини на GDC 2006 объявил, что разработка четвёртого Unreal Engine не начнётся раньше , поскольку UE3 будет актуален как минимум до .

на TGS группа разработчиков сообщила, что они «видели следующий Unreal Engine (Unreal Engine 4)» и «не могут дождаться возможности поработать с ним». Ранее Square Enix выпустила и «не встречалась с проблемами при работе с Unreal Engine 3».

Презентация технической демонстрации Unreal Engine 4 была проведена на 7 июня.

Unreal Engine 4 начал своё свободное распространение для всех желающих с подпиской в 19$ в месяц. Исходные коды также выложены на репозиторий .

Epic Games сделала заявление об изменении системы распространения: движок стал бесплатным для всех разработчиков, при условии, что прибыль от приложений, созданных на основе движка не превышает 00 за квартал..

Ранее Epic Games объявляла о конкурсе, в ходе которого разработчики могли бы получить 5 миллионов долларов; для этого требуется представить рабочий прототип своей игры.

Модифицированные Unreal Engine[ | ]

Некоторые компании-разработчики предпочитают использовать технологии Unreal в качестве основы для разработки собственного движка.

Например, Unreal Engine 2 был специально доработан для игр и , получив внутреннее имя . одной из первых внедрила в свой (основан на Unreal Engine 2.5) технологию реалистичного освещения , а также и другие функции, которые ныне широко используются в игровых технологиях. Этот движок был использован в и . Игра от сначала также использовала , но затем разработчики частично заменили его на более актуальный Unreal Engine 3. Модифицированная версия стала называться . используют для своих проектов движки и , созданные на основе Unreal Engine 2.5.

Unreal Engine 1: В конце Epic Games опубликовала часть исходных кодов исполняемых файлов , что послужило началу работы проекта OpenUT по портированию движка и игры на . Через некоторое время работу над OpenUT перехватила . Linux-версия Unreal Tournament была выпущена в продажу Loki Games. Первая версия движка больше не доступна для лицензирования, однако исходный код, необходимый для сборки собственных исполняемых файлов, существует в свободном доступе. Стоит отметить, что они распространяются по «Unreal Retail» лицензии — то есть только для персонального использования. Кроме того, в 2004 году был опубликован исходный код игры

Unreal Engine 2/2.5: Вторая версия долгое время была доступна для лицензирования наряду с третьей. Epic Games предлагала её для создания игр для ПК и приставок за сумму 0000 и больше (зависело от количества поддерживаемых платформ).

Unreal Engine 2 Runtime: Для некоммерческих проектов, не относящихся к видеоиграм, была доступна версия Unreal Engine 2 Runtime. Разработка игр на этой версии движка запрещена (несмотря на то что конкретного определения «игр» в лицензии нет) по причине того что «основной доход Epic Games получает от создания игр, и если вы хотите сделать свою игру — сделайте её в качестве модификации к существующему продукту». Для бюджетных проектов было доступно лицензирование по сравнительно низкой цене (от 00). Стоимость лицензии зависит от количества разработчиков (числа «рабочих мест»). Вместе с лицензированием хотя бы одного «рабочего места» доступен заказ заголовочных файлов второй версии движка по цене 00.

Цена лицензирования версий 3.0 и выше не публикуется, однако упоминается что имеется выбор из различных вариантов лицензий, в том числе и для неигровых продуктов. был выпущен пакет , бесплатная версия Unreal Engine 3.5 для некоммерческого использования с возможностью покупки дешёвой коммерческой лицензии. Если написание игр на Unreal Engine 2 Runtime было строго запрещено, то написание игр с использованием UDK допустимо, однако запрещено на его базе создание продуктов, «которые могут или будут соперничать с UDK, а также связующим ПО (middleware) или ПО для разработки игр (game development software) созданным Epic Games».

Текущая политика лицензирования: Unreal Engine 4[ | ]

Unreal Engine 4 стал бесплатным. Однако, разработчики игр, как и прежде, должны передавать 5 % от прибыли игры компании Epic Games, но при условии, что доходы игры составляют более 00 за квартал.

Основная статья:

Игры на движке Unreal Engine выполнены в самых различных жанрах, однако первые проекты создавались, как правило, в жанре или ; гибкость технологии позволяет создавать на нём , , различные и пр.

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


Источник: https://ru.wikipedia.org/wiki/Unreal_Engine


Как сделать текстуру для source sdk

Как сделать текстуру для source sdk

Как сделать текстуру для source sdk

Как сделать текстуру для source sdk

Как сделать текстуру для source sdk

Как сделать текстуру для source sdk

Как сделать текстуру для source sdk

Как сделать текстуру для source sdk

Новое на сайте: