Choose your language

Вы вошли как Приблуда | Группа "Гости" | RSS Здарова! Приблуда
Главная Создание текстуры Регистрация Вход
Меню сайта

Разделы новостей
Soft [120]
различные проги
Железо [694]
Железные новости
Games [69]
Фильмы [15]
Из истории IT [18]
HT [5958]
Научные открытия и др.
Другое [423]
Кулеры [39]
Материнские платы [15]
мониторы [9]

Мини-чат

Наш опрос
Какая у вас видеокарта?
Всего ответов: 202

Для начала нужно создать саму текстуру, которая должна при размножении выглядеть непрерывной со всех сторон. Для этого нужно для начала найти такую текстуру либо сделать самому, что я сейчас и покажу. Хороший пример редактора – Abode Photoshop CS4. Если у вас уже есть текстура, которую не нужно редактировать, пропустите эту часть. И так: для начала нужно найти интересующую текстуру. Я предлагаю сайт: http://cgtextures.com/. Я всегда беру текстуры именно с него. После скачки с этого сайта текстуры нужно редактировать. Оптимальный размер текстуры для движка HL2 512х512, максимальный 2048х2048

У меня есть текстура скал, которую я собираюсь редактировать:


Как видите, при размножении она не будет непрерывной, её нужно редактировать, поэтому открываем фотошоп и начинаем.

Замечу, что эта фотография скал снята с небольшого угла, поэтому удаляем всё, что выглядит нехорошо, можно сразу обрезать до расширения 512х512, чтобы потом не мучиться. У меня получилось так:


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


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

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


Теперь сохраняем рисунок в формате .tga (24bit uncompressed (несжатый))
Всё. Часть с фотошопом завершена, теперь будем учиться вставлять текстуру в игру, но для начала научимся создавать карту нормалей (бамп)


Создаем бамп (карту нормалей)



Для этого вам понадобиться программа crazy bump. Ее можно скачать с сайта производителя, она бесплатна http://crazybump.com/. Либо по прямой ссылке: http://crazybump.com/release/CrazyBumpSetup1101.exe

Устанавливаем, открываем программу, она открывается в полноэкранном режиме. Внизу слева есть кнопка с изображением папки, на которой написано «open». Нажимаем на нее, сразу после этого нажимаем на кнопку «open texture from a file». Открываем свою текстуру и ждем пока программа «думает».

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

Убедитесь, что внизу нажата кнопка normals, другие нам не нужны, т.к. движок Half-Life 2 их е поддерживает. Так же убедитесь что в окне 3х мерного вида снизу слева выбрана функция textured, а не colored или simple. Слева есть 5 настроек, которыми мы будем баловаться. Вот собственно окно программы:


И так начнем настраивать карту нормалей (используем ходунки слева):

Первый ходунок intensity (интенсивность): он отвечает за выпуклость/вогнутость текстуры. Может двигаться от -99 до 99. Естественно -99 – в обратную сторону (или вогнутость) а +99 – выпуклость а привычную нам сторону. Я считаю что для моей текстуры стандартное значение 50 – слишком много, она выглядит нереально, поэтому я перемещу ходунок на отметку 16.

Следующие ходунки отвечают за детализацию (перечислено сверху вниз): маленьких, средних, больших, огромных деталей на текстуре (точнее на карте нормалей). Указатели не могут стоять все на 50, текстура выглядит
ОЧЕНЬ нереально, поэтому подправим это:

Пусть маленькие детали хорошо видно, я ставлю 98.

Текстура состоит в основном из средних деталей, поэтому больше 52 ставить не советую

Если сдвинуть ходунок больших деталей на 0, то мелкие будет лучше видно, что нам и нужно

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

Ну вот теперь текстура выглядит отлично, осталось только ее сохранить и приступать к вставку ее в игру.

Чтобы сохранить текстуру нужно нажать на кнопке save снизу и выбрать «save normals to file». Больше программа не нужна, ее можно выключить, нормали, которые мы сохранили выглядят так:



Создание файла текстуры для игры



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

Файл исходной текстуры должен иметь расширение .tga, потому что инструмент для создания материалов умеет работать только с таким расширением. Создать файл текстуры можно двумя способами: с помощью перетаскивания и с помощью .bat файла.

Первый способ:
Файлы .tga исходной текстуры должны располагаться в одной папке (к примеру
C:\Program Files\Valve\Steam\SteamApps\Light Elf\sourcesdk_content\hl2\materialsrc
).

У вас должно быть открыто две папки одновременно: папка с исходными текстурами и папка
C:\Program Files\\Valve\\Steam\\SteamApps\\LightElf\\sourcesdk\\
;bin

Или та куда установлен SourceSDK. Во второй папке должен лежать файл vtex.exe. Просто перетащите нужный материал прямо на файл vtex.exe и он появиться уже в нужном расширении в папке
C:\Program Files\Valve\Steam\SteamApps\LightElf\Half-Life 2\hl2\materials

или в той папке какая была выбрана в списке в SourceSDK(!!!).

Если файл появился в одном из вышеперечисленных мест и имеет расширение .vtx, то вы все сделали правильно.

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

Второй способ более сложный:
Так должен выглядить выш .bat файл:
vtex [-quiet] [-nopause] [-mkdir] [-shader ShaderName] [-vmtparam Param Value] texture1 texture2 ...

Рассмотрим каждый параметр отдельно:

Первый параметр – vtex – это имя исполнимого файла, к нему нада указывать полный путь:
C:\Program Files\\Valve\\Steam\\SteamApps\\LightElf\\sourcesdk\\
;bin\\vtex
Либо с помощью сокращенный с помощью переменных:
%sourcesdk%\bin\vtex
Что заметьте гораздо удобнее.

Следующий параметр - -quiet, если он включен, то vtex.exe при компиляции не отображает ни каких подробностей. Бессмысленный параметр, но он есть

-nopause – параметр убирает в конце компиляции сообщение «нажмите любую клавишу для продолжения» и просто вырубается после компиляции.

-mkdir – если у вас исходная текстура в папке
C:\Program Files\Valve \Steam\SteamApps\LightElf\sourcesdk_ content\hl2\materialsrc\PAPKA\file.tga

То после компиляции в
C:\Program Files\Valve\Steam\SteamApps\LightElf\Half-Life 2\hl2\materials

Будет создана папка «PAPKA» с файлом материала

-shader и -vmtparam – команды для быстрого создания .vmt файлов, но они не нужны, т.к. лечге создать файл в ручною, чем каждый раз прописывать это в бат файле. О .vmt файлах я расскажу позже

Texture1 texture2 и т.д. – названия исходных текстур, пишутся без расширения.

Итого ваш .bat файл должен выглядеть следующим образом (при условии что он находится в папке с исходными текстурами):
%sourcesdk%\bin\vtex –nopause –mkdir Cliffs_01 Cliffs_02


С такими настройками vtex начнет работу, выключится сразу после компиляции, при этом если исходная текстура находятся в ещё одной папке, кроме сдк папки, то папка будет создана и туда помесятся текстуры Cliffs_01.vtx и Cliffs_02.vtx.

Если вы создаете текстуру для комплекта Orange Box, то обязательно поместите в .bat файл параметр -nop4, иначе текстура не будет скомпилирована.

Третий способ:
Открываем стандартную текстуру игры,вставляем туда свою текстуру(Ctrl+A, Ctrl+V), и сохраняем vtf файлик. Не забудте удалить старый слой,а иначе текстура не будет правельно работать. Скачать VTF плагин для фотошопа можно тут

Создания файла материала для игры



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

"<Тип шейдеров>"
{
"$basetexture" "<имя текстуры>"
"$surfaceprop" "<тип поверхности>"
}

Типо шейдеров может быть одним из нижеперечисленных:
LightmappedGeneric – Основной тип используется для всех поверхностей без особых эффектов
UnlitGeneric – сипользуется для светящихся поверхностей таких как экран компьютера
VertexLitGeneric – используется для моделей
<имя текстуры> - имя вашей текстуры (текстура обязательно должна находится около .vmt файла) (к примеру walls/brickwall (без расширения).
<тип поверхности> - тип поверхности, нужен для правильного проигрывания звуков при попадании в поверхность, а так же для правильного отображения вмятин и выстрелов на ней.

"<Тип шейдеров>"
{
"$basetexture" "walls/brickwall"
"$surfaceprop" "brick"
}



Типы поверхностей:



Цемент и камень:
baserock
boulder
brick
concrete
concrete_block
gravel
rock

Жидкость:
Liquid
slime
water
wade

Металл:
canister
chain
chainlink
combine_metal
crowbar
floating_metal_barrel
grenade
gunship
metal
metal_barrel
metal_bouncy
Metal_Box
metal_seafloorcar
metalgrate
metalpanel
metalvent
metalvehicle
paintcan
popcan
roller
slipperymetal
solidmetal
strider
weapon

Другое
brakingrubbertire
cardboard
carpet
ceiling_tile
combine_glass
computer
default
default_silent
floatingstandable
glass
glassbottle
item
jeeptire
ladder
no_decal
paper
papercup
plaster
plastic_barrel
plastic_barrel_buoyant
Plastic_Box
plastic
player
player_control_clip
pottery
rubber
rubbertire
slidingrubbertire
slidingrubbertire_front
slidingrubbertire_rear

Органика
alienflesh
antlion
armorflesh
bloodyflesh
flesh
foliage
watermelon
zombieflesh

Снег
ice
snow

Поверхность:
antlionsand
dirt
grass
gravel
mud
quicksand
sand
slipperyslime
tile

Дерево:
wood
Wood_Box
Wood_Crate
Wood_Furniture
Wood_lowdensity
Wood_Plank
Wood_Panel
Wood_Solid

Переводите сами, http://translate.ru/ вам в помощь


Другие опции .vmt файла:


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

alienscale
basetimeslightmaptimesdetail
basetimeslightmapwet
basetimesmod2xenvmap
bloom
blurfilterx
blurfiltery
cable Кабель
camo
cloud Облако
debugbumpedlightmap Проверка/отладка игры
debugbumpedvertexlit Проверка/отладка игры
debugfbtexture Проверка/отладка игры
debuglightingonly Проверка/отладка игры
debuglightmap Проверка/отладка игры
debugluxels Проверка/отладка игры
debugmodifyvertex Проверка/отладка игры
debugnormalmap Проверка/отладка игры
debugunlit Проверка/отладка игры
debugvertexlit Проверка/отладка игры
decalBaseTimesLightmapAlphaBlendSelfillum
decalmodulate
downsample
eyeball
eyes Используется для реалистичного глаза
fillrate
gooinglass Используется для реалистичной глазной оболочки с жидкостью
internalframesync
jellyfish
jojirium
lightmappedgeneric Основная текстура, подходит для всех поверхностей
lightmappedtwotexture Текстуры соединены световой картой и меняются в движении
modeladditivetransEnvMapwithMaskedTexture
modulate
overlay_fit
particlesphere
predator
reflecttexture

refract Меняет освещение между dudvmap и bumpmap. Работает только с моделями.
shadow
shadowbuild
shadowmodel
showdestalpha
skyfog
sprite
teeth

translucentlightmap

unlitgeneric Основная текстура появляется только при полном освещении
unlittwotexture Смешаны 2 текстуры, появляются только при полном освещении
vertexlitgeneric Основная текстура с вертексным освещением
vertexnormals
volumetricfog
water
watersurfacebottom
wireframe

worldtwotextureblend Две текстуры смешаны в одну. Основа текстуры vertexlitgeneric, а процент смешивания определяется создателем в хаммере при создании карты
worldvertexalpha Используется для отображения ландшафта. Основа текстуры vertexlitgeneric
worldvertextransition
yuv

Более подробно тут http://forum.igromania.ru/archive/index.php/t-46121.html

Параметры шейдеров:
"$basetexture" "путь к текстуре"
Обычная текстура
"$basetexture2" "путь ко второй текстуре"
Используется для объединения 2х текстур
"$bumpmap" "путь к карте нормалей "
Эффект бамп карты (карты нормалей)
"$bumpmap2" " путь к карте нормалей "
Используется для объединения 2х текстур
"$parallaxmap" "путь к карте высот"
Не функционирует
"$detail" "путь к делатьной текстуре"
Черно белая текстура, которая накладывается на оригинал и детализирует его. А на самом деле только делает хуже
"$ssbump" "1" Самозатемнение текстуры а ля Ambient Occlution
"$envmaptint" [R G B] например $envmaptint" [ .2 .2 .2 ] вектор, который управляет интенсивностью envmap и одновременно завалом в нужный цвет (по RGB)

Выравниевание текстур
"$bumpscale" <переменная> Переменная определяет размер бампа по отношению к текстуре 1 = 100%
"$parallaxmapscale" <переменная> Переменная определяет размер карты высот по отношению к текстуре 1 = 100%
"$detailscale" <переменная> Переменная определяет размер текстуры по отношению к оригиналу 1 = 100%
"$basetexturetransform" "center <переменная> <переменная> scale <переменная> <переменная> rotate <переменная> translate <переменная> <переменная>"
"$basetexturetransform2" "center <переменная> <переменная> scale <переменная> <переменная> rotate <переменная> translate <переменная> <переменная>"
"center" и "translate" между 0..1, "rotate" а градусах.
Все переменные должны быть использованы. Стандартные: center .5 .5 scale 1 1 rotate 0 translate 0 0.

Отражение:
"$basealphaenvmapmask" 1
Использует альфа канал $basetexture's как маску для envmap.
"$envmap" "env_cubemap"
Используется ближайший env_cubemap для отражения.
"$envmapmask" "текстура"
"$envmapmaskscale" переменная
"$envmapmode" 1
"$envmapsaturation" переменная
если 0, то чернобелое
"$envmapsphere" 1
"$normalmapalphaenvmapmask" 1
Маска отражения с использованием альфа канала карты нормалей

Свечение/Рендеринг
"$additive" 1
Текстура прозрачная, но все её цвета видны ярко даже в темноте
"$halflambert" 1
Уменьшает затемнения «драматически»
"$nocull" 1
Делает поверхность двусторонней


Прозрачность:
""$translucent" 1
Используется с "UnlitGeneric", "VertexlitGeneric", "LightmappedGeneric" и другими для использования альфа канала "$basetexture" .tga.

Другое:
""$decal" 1
Материал становиться декалью, его можно накладывать на другое материалы
"$model" 1
Используется для создания моделей


Надеюсь вам помог мой тутор, но что же с тем материалом Cliffs_02?
Все просто. Около файла исходной текстуры нужно создать файл с именем Cliffs_02.vmt и написать в нем:
"< LightmappedGeneric>"
{
"$basetexture" ""
"$surfaceprop" ""
"$bumpmap" "rock/Cliffs_02_NRM"
}

А после компиляции также без .vmt файла откомпилировать файл Cliffs_02_normal.tga(_normal на конце обязательно, иначе произойдет неправильная компиляция), при этом около него должен лежать файл Cliffs_02.txt, в котором будут строчки:

"nocompress" "1"
"normal" "1"

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

Вот ещё несколкьо хитростей на сюрсе:
Увеличения разрешения простых текстур не улучшает качество

Четкость текстуры заметно можно увеличить с помощью normal map

Используйте "$baseTextureOffset" "[0.5 0.5] и "$texscale"    3 для заметного увеличения четкости обычных текстур(стены,пол)

Форма входа

Календарь новостей
«  Май 2024  »
ПнВтСрЧтПтСбВс
  12345
6789101112
13141516171819
20212223242526
2728293031

Поиск

Друзья сайта
    VeryFineSoft

    lwgame

    Myminysity

    soft inside

    google translate

    igromania

    Techsoft.do.am

    Game and Soft

    filmszone.net



        Статистика

        Онлайн всего: 1
        Гостей: 1
        Пользователей: 0

        Сайт управляется системой uCoz!-->