|
| |||
|
| |||
| |
Здравствуйте. Вы находитесь на сайте Unreal Level. Данный ресурс посвящен редакторам карт игр серии Unreal, UT и Gears of War. Основная цель сайта , помочь всем желающим освоить любой из редакторов вышеперечисленных серий. Наибольшим приоритетом на этом сайте, обладает редактор UnrealED for Unreal Engine 3 и редактор движка Unreal Engine 3.5, входящий в комплект разработки UDK, поскольку это наиболее актуальная на сегодняшний день технология. |
|
UE3 MATERIAL EDITOR
автор: FantomChe-G | 17 Марта 2010 | Просмотров: 10096
Предварительно рекомендую ознакомиться с метериалами по этой ссылке. Одна из самых важных основных вещей, которые нужно понять - то, что любая текстура, которую вы видите в игре, является материалом, а не текстурой. Текстуры больше не могут быть назначены на геометрию, если они сначала не назначены на материал. Многие программы используют подобный подход, включая 3DSMax. Любая импортированная текстура должен иметь правильный размер. Правильные или допустимые значения размеров - 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, или кратные 2. Текстуры могут быть прямоугольными. Тип файлов, используемый для импортирования - TGA, но BMP и подобный также поддерживаются. В редакторе открываем Generic Browser и в главном меню выбираем File-> import-> выбираем текстуру (если нужно, вводим свое имя пакета и группу, если надо, название текстуры) и жмем OK. После того, как вы импортировали вашу текстуру, мы увидим её в Generic Browser с красной границей. Если она не обнаруживается, убеждаемся, что установлена галочка Show All Resource Types наверху слева в Generic Browser, находим пакет, созданный по умолчанию MyPackage, или проверим запись во вкладке log Generic Browser. Красная граница означает, что это сырая текстура, зеленая означает материал. Наша задача превратить красную границу текстуры в зеленую границу материала. В главном меню Generic Browser щелкаем New, и в следующем меню вводим название пакета, название группы - всегда произвольно (оставляйте поле пустым, если не хотите создавать группу), и название материала. Обратите внимание, что UED не любит пустого места или других неестественных символов в пакете или названиях, и что уникальные названия должны всегда предпочитаться. Затем, на свободном месте в Generic Browser рядом с импортированной текстурой щёлкаем ПКМ, в меню выбираем New Material и вводим название: ![]() После того, как вы сделали это, должен появиться ограниченный зеленым куб/сфера в Generic Browser. Откройте Material editor, дважды щелкнув ЛКМ на созданном материале, или ПКМ и выберите Material editor. Левая область (b1) содержит куб/сферу/цилиндр предварительного просмотра. Центр (b2) - фактическая рабочая область, где Вы будете делать подключения между различными операциями, и право (b3) - список доступных операций. Область основания (b4) держит свойства любой выбранной операции. ![]() В то время как окно Material editor открыто, выберите в Generic Browser импортированную текстуру и затем возвратитесь назад в окно Material Editor. Затем, в рабочей области Material Editor по ПКМ в выпадающем списке операций выбираем New TextureSample. Окно TextureSample с текстурой должно появиться в рабочей области Material Editor. Перетаскивание этого окна в рабочей области Material Editor осуществляется зажатой ЛКМ+Ctrl. Управление объектами в окне следующее: область предпросмотра – ЛКМ вращение вокруг объекта, ПКМ масштабирование; рабочая область – ЛКМ или ПКМ по отдельности передвижение, ЛКМ+ПКМ масштабирование. Затем, щёлкните ЛКМ на небольшом черном квадрате вверху слева окна импортированной текстуры выход (black=RGB каналы, red/green/blue=each RGB канал индивидуально, white=alpha канал) и перетащите с зажатой ЛКМ как указано на рисунке. Если всё сделано правильно, вы подключили текстуру на вход Diffuse материала. Аналогично перетаскиванию щелчок ПКМ на том же чёрном квадрате и выбор из выпадающего списка места подключения. ![]() Вы сделали основной материал, который теперь готов быть назначенным на часть геометрии. Не забудьте вручную сохранить пакет, в котором находится текстура! Generic Browser-> File -> Save As… Примеры Simple colors (Простые цвета) Постоянные действия (Constant/Constant1Vector/Constant2Vector/Constant3Vector/Constant4Vector) создают простые solid цвета. Цвета образуются вводом значений в их свойствах. ![]() Есть четыре типа констант. Первая постоянная (Constant) имеет только красный канал и позволяет делать полутона серого. Второй тип (Constant2Vector) имеет красно-зеленый канал и позволяет делать простые цвета. Третья константа (Constant3Vector) имеет все RGB каналы и позволяет делать любой цвет желательным. И четвертый (Constant4Vector) имеет все RGB цвета плюс альфа канал. Обратите внимание на жёлтый/чёрный квадрат в левом верхнем углу заголовка окна. Нажатием ЛКМ на нём мы включаем или отключаем предварительный просмотр. Specularity and Normal Mapping Если Вы желаете добавить Normal, или Specularity map к вашему материалу просто повторите описанные шаги. Сделайте окно TextureSample с вашей Normal Map, и просто подключите его к вводу Specularity или Normal окна материала. ![]() Parallax Mapping Parallax Mapping подобно Displacement Mapping. Заставляет 2D поверхность казаться 3D, визуально смещая части текстуры по маске. Установите материалы как обычно, вставьте дополнительное действие BumpOffset выход которого соедините с UV входами тех текстур, которые вы хотели бы отобразить со смещением, и импортируйте черно-белое изображение (карту высот) выход альфа канала которого соедините со входом Height окна BumpOffset. Черно-белое изображение содержит информацию для движка, какую область оставить нетронутой к смещению. Черный - нетронуто, белый - смещение. В то время как я использовал очень странную текстуру высоты ради ясности, правильнее применять для кирпичного материала текстуру в виде черного цемента и белых кирпичей. ![]() Обратите внимание, как все рамки окон действий, которые затрагивает BumpOffset станут фиолетовыми. Пожалуйста, также обратите внимание, что вход Height действия BumpOffset не может обработать выход RGB. Вы должны использовать или красный, зеленый, синий, или белый выход текстуры, которую Вы желаете использовать. Alpha maps and translucent materials Хотите делать стекло или некоторый другой вид прозрачной поверхности? Разместите ваши текстуры в TextureSamples и подключите их как показано на примере screenshot. ![]() Поскольку материал будет установлен в Unlit (в своё время, движок неспособен осветить прозрачные материалы), так что прежде мы обычно соединяли выход RGB основной текстуры с входом Diffuse, теперь соединяем с входом Emissive. В свойствах материала должны быть установлены значения BLEND_Translucent и MLM_Unlit. Masked materials Растительность и деревья например должны использовать Masked вместо Translucency. Установка Masked грубо подобна установке Translucency, но вместо этого на сей раз нужно, используя вход OpacityMask устанавливать в свойствах материала BlendMode в BLEND_Masked. ![]() Unlit materials Делать текстуры Unlit (неосвещённый - самоосвещённый - например, лампа) действительно просто. Достаточно подключить выход RGB текстуры на вход Emissive материала. Также можно установить LightingModel материала значение MLM_Unlit для увеличения производительности. Масштабирование текстуры Для масштабирования текстуры добавляем действие TextureCoordinate выход которого подключаем на UV вход TextureSample. После этого в свойствах TextureCoordinate изменяем значения VTiling и UTiling, чтобы изменить масштаб. ![]() Создание panning или rotating материала Для создания panning или rotating эффекта добавляют Panner или Rotator. Подключим их как показано в примере screenshot. ![]() Редактируем значения в их свойствах, чтобы управлять скоростью движения или вращения. Distortion
Эффект применяется для создания материала, который искажает то, что находится позади него (поверхность воды, стекло, огонь). Установите материал в Unlit и Translucent, как описано выше, и подключите TextureSample на вход Distortion. Всё, что находится позади материала будет искажено. Подключая Panner или Rotator, возможно анимировать Distortion. В моем примере я умножил текстуру искажения, чтобы придать этому дополнительную силу? ![]() Contrast Adjustments Есть различные способы изменить контраст текстуры, но наиболее простой использовать Power. Добавьте узел Power и простой узел Constant, и подключите их как показано. Изменяем значения относительно 1.00000 - правильный контраст, меньше 1 размытие текстуры, больше 1 увеличение контраста. ![]() Корректировка цвета текстуры Установите материал как показано ниже. Узел Constant, связанный со входом Percent узла Desaturation управляет интенсивностью насыщенности. 0.5 будет давать результат только 50 процентов насыщенности. Узел Constant3Vector вместе с Multiply задаёт оттенок материала.
Есть еще много способов изменить цвет текстуры: добавление поверх или вычитание цвета и другие варианты, такие как - альфа смешивание, но об этом позднее. Размер и сила спекуляра (SpecularPover)
От себя дополню, что спекуляром является блеск материала. Изменение размера SpecularPover Как показано на рисунке, чтобы изменить размер спекуляра, достаточно всего лишь назначить на SpecularPover ноду Constant и в её настройках ввести определённое число, чем больше число тем меньше диаметр точки блеска, большими числами можно считать от 30 и выше, оптимальный параметр металлических материалов от 15 до 20, древесина как известно не блестит, поэтому и диаметр точки блеска должен быть большим, оптимальный размер от 2 до 7, правда это всего лишь поверхностные величины, всё зависит от того, что Вы собираетесь создавать. Важно лишь знать, что грамотная настройка спекуляра отвечает за реалистичность материала.
Как заставить материал двигаться. Маятник.
В данном примере мы рассмотрим создание движения материала аналогично маятнику часов, это может пригодиться нам в случае создания материала для травы или кроны деревьев. Для этого присоедините, например к диффузивной текстуре комбинацию из PannerSineTime как показано на рисунке ниже, изменяя настройки Panner, SpeedY и SpeedX Вы сможете регулировать скорость движения текстуры.
![]() Как заставить материал двигаться. Псевдодвижение .
Интересный способ придать материалу образ движения, через BampOffset, красный канал текстуры градиента и Panner, данный способ идеально подходит для эмулирования движения растительности, флагов, воды. Управляя настройками BampOffset Вы можете задать силу эффекта движения, а Panner - скорость и направление. Как заставить материал мигать. Посредством этой незамысловатой комбинации, можно заставить материал мигать, это может пригодиться в случае с созданием материала для лампочки. Для более наглядного примера постарайтесь задействовать две разные текстуры, нежели чем указанно на рисунке выше. Регулируя настройки Sine, Вы сможете задать скорость исчезновения одной текстуры , относительно другой.
Свечение материала.
Данный пример рассматривает возможность заставить материал светится, в примере на рисунке в настройках Constant установлена величина 20, что характерно для свечения материалов лампочки. Если использовать трёхвекторный Constant, то можно регулировать цвет свечения и текстуры в целом.
Автоматически исчезающий. Очень хорошая графическая особенность UE3 - способность поверхностей, постепенно исчезать у краев всякий раз, когда они соприкасаются с другой частью геометрии. Это может использоваться для частиц или для более сложных вещей, таких как вода или поверхности тумана. Хороший мягкий край на водной поверхности очевидно выглядел бы намного лучше чем резкий. Вместо того, чтобы вручную красить тот край в альфа-слое, как раньше. Этот материал постепенно будет исчезать, всякий раз, когда соприкоснется с другим объектом. Сила исчезновения может формироваться в свойствах выражения DepthBiasedAlpha. В моем примере BiasScale 128. Отметьте, что материал должен быть неосвещенным и прозрачным, как это сделать описано в первой части туториала. Мерцающая Текстура Вы можете сделать текстуру, или ее часть, если нужно, чтобы мигала часть. Этим можно сделать эффекты молний или другие эффекты, как звезды, лампы или другие поверхности, светящиеся время от времени. Это можно сделать с помощью Time и Sine. Узел Времени заставляет текстуру мерцать, узел Синуса определяет частоту. Убедитесь, что установили свойство Периода правильно. 1.0000 значение по умолчанию, чем ниже, тем мерцание быстрее, выше - медленнее. В моем примере эффект смягчен дополнительным узлом Add, который объединяет эффект Sine с Constant (1.125) узлом. Текстура, что накладывается, должна быть с альфа каналом.
Статический reflection/Cubemap
Статические Cubemaps могут использоваться для поддельных преломлений. В Generic Browser в главном меню File-> New, введите имя пакаджа. В свитке Factory выбираете CubeMap, создав его, открываете его свойства, в свойствах CubeMap заполните поля FaceNeg заранее подготовленными текстурами.
После этог закройте окно Texture Property, создайте новый Материал и откройте Редактор Материалов. Добавьте регулярное выражение TextureSample, предварительно выбрав Cubemap в Generic Browser. Теперь необходимо заставить cubemap реагировать на позицию камеры, для этого добавьте выражение CameraVector и соедините, как показано в скриншоте. Это также работает с ReflectionVector вместо CameraVector. Различие между обоими типами минимально, ReflectionVector использует другую ось. Material Instances
Material Instances – очень удобная технология , позволяющая создать необходимые изменения в материале, без необходимости создания дубликата всего материала.. Material Instances становится дочерним материалом оригинала, в случае внесения изменения в оригинал все дочерние Material Instances также примут изменения.
Создаётся этого довольно просто. Создайте обычный материал и настройте его как моём примере.
TextureSample, умноженная с цветом, для замены основного цвета текстуры на синий. Обратите внимание - на то, что я не использовал обычный Constant3Vector, а задействовал Vector Parameter. Именно выражения Parameter в последствии отвечают за возможность внесений изменений в Material Instances, при наличии обычной Constant такая функция не доступна. В настройках векторного параметра, в графе ParameterName впишите имя Параметра, в моём случае это ("tutorialexamplename") и назначте ему цвет по умолчанию, в этом случае синий. Как только закончите, можете закрыть Редактор Материалов и из получившегося материала, создать MaterialInstanceConstant в Генерик Браузере (ПКМ по пустому пространству в браузере-> New MaterialInstanceConstant). Кликните 2 раза по созданному Material Instances, чтобы открыть его настройки, откройте свиток VectorParameterValues, Вы найдёте свой ParameterName ("tutorialexamplename") с опцией изменения ранее заданного цвета, всё теперь Вы можете изменить синий оттенок на любой другой.
Плавное сопряжение текстур при использовании Vertex Colors Vertex Colors, назначенные на Staticmesh. Как установить Vertex Colors в Максе можете прочесть в туториале Цвета Вершины. Также отметьте, на изображении, я использую два Constant3Vectors вместо двух текстур, только ради примера, и я связал целую установку с Эмиссионным, нежелательным в практическом использовании. Кроме того, если у материала также есть нормалмап и спекуляр, дублируйте всю установку и для них
![]() Материал реагирующий на расстояние от камеры. Используя выражение PixelDepth можно создать материал, который будет постепенно исчезать при приближении камеры или наоборот, это очень удобная технология позволяющая создавать установки детализации в материалах. Материал в примере был Неосвещен и был Прозрачным. Фальсифицирование расстояния (Faking distance) тумана через материал Аналогично можно фальсифицировать расстояние тумана, используя выражение Destdepth. Цвет тумана определяется Constant3Vector. Константа, которая сложена с DestDepth, управляет расстоянием. Материал в примере был Неосвещен и имел Прозрачность.
Получение Specularity из Diffuse текстуры.
Данный урок посвящается тому как задействовав диффузе текстуру получить спекуляр. Обычно для получения спекуляра создаётся отдельная текстура, такой метод не всегда удобен. В случае если вам необходимо с беречь вес вашего пакаджа, ниже приведённый метод - наиболее оптимальное решение. Сохранение Памяти, Параллакс мапинг.
Grayscaled Карта Параллакса помещается в Синий канал нормалмапа в Фотошопе. Вы можете использовать Синий канал для BumpOffset. Но это оставляет Ваш нормалмап без синего канала, но его можно восстановить, изменяя Красные и Зеленые каналы, смешивая их вместе, чтобы более или менее обновить оригинальный Синий канал. Комбинация Красных и Зеленого обновляет информацию, которая была на Синем канале
CelShading
Celshading is quite complex to set up. The material is basically created by two large groups of expressions. The idea is that it will use the environment's lighting information (position) and harden its edges according to that information. As such the material will only show up in a lit viewport Also note, for best results you should set LightingModel to MLM_NonDirectional in the End Node.
#1 написал: FACH 2 Августа 2009 12:06 | ICQ: 562039160 |
#2 написал: FantomChe-G 2 Августа 2009 17:35 | ICQ: 481565738 |
#3 написал: Igrom 19 Ноября 2009 21:07 | ICQ: Не Указано |
#4 написал: FACH 19 Ноября 2009 22:46 | ICQ: 562039160 |
#5 написал: GregIlya 17 Марта 2010 12:57 | ICQ: 570898270 |
#6 написал: FACH 17 Марта 2010 17:57 | ICQ: 562039160 |
#7 написал: Sealrean 17 Марта 2010 21:01 | ICQ: Не Указано |
#8 написал: FACH 17 Марта 2010 22:18 | ICQ: 562039160 |
#9 написал: ROMAshka 17 Марта 2010 22:46 | ICQ: Не Указано |
#10 написал: FACH 17 Марта 2010 22:49 | ICQ: 562039160 |
#11 написал: Satellence 18 Марта 2010 00:01 | ICQ: Не Указано |
#12 написал: SergWest 18 Марта 2010 14:23 | ICQ: Не Указано |
#13 написал: alexut 18 Марта 2010 15:52 | ICQ: Не Указано |
#14 написал: DeMoon 18 Марта 2010 16:12 | ICQ: Не Указано |
#15 написал: baby_bot 18 Марта 2010 17:43 | ICQ: Не Указано |
#16 написал: imCat13 2 Июня 2010 02:07 | ICQ: Не Указано |
#17 написал: FACH 2 Июня 2010 07:24 | ICQ: 562039160 |
#18 написал: imCat13 4 Июня 2010 01:23 | ICQ: Не Указано |
#19 написал: Venom 20 Июля 2010 15:43 | ICQ: Не Указано |
#20 написал: FACH 20 Июля 2010 17:07 | ICQ: 562039160 |
#21 написал: Venom 20 Июля 2010 17:35 | ICQ: Не Указано |
#22 написал: Sky 2 Ноября 2010 09:46 | ICQ: Не Указано |
#23 написал: [irishman] 1 Мая 2011 13:03 | ICQ: Не Указано |
#24 написал: FACH 1 Мая 2011 22:01 | ICQ: 562039160 |
#25 написал: cin 26 Сентября 2011 10:44 | ICQ: 458142092 |
Информация
Посетители, находящиеся в группе Гости, не могут оставлять Комментарии в данной новости...
|
|
|
При копировании материалов, активная ссылка на UNREAL-LEVEL.RU обязательна! © 2008—2012, UNREAL-LEVEL.RU. Все права защищены. |