Garry's Mod

Garry's Mod

34 ratings
EyeReflact Shader [RUS]
By Thousand Shells and 1 collaborators
Valve Developer Community EyeReflact Wiki

Эта статья посвящена шейдеру.
Eye Refract (DX9+) - это шейдер материала, доступный во всех играх на Source, начиная с Source 2007 . Он используется для создания реалистичных глаз, на которые влияет освещение карты и динамическое освещение, например, от фонариков. Этот шейдер является преемником шейдера Eyes из Half-Life 2 Half-Life 2.

Контакты:
   
Award
Favorite
Favorited
Unfavorite
❒ Введение
Всем добрый день господа, сегодня я хочу научить начинающих модельеров и всех тех кто манипулирует с моделями создавать шейдер EyeReflact.
И так для начала вам нужен ряд таких программ как:

• 1 [Blender] - Программа для моделей
• 2 [Blender Source Tools] - Расширение для Blender.[steamreview.org]
• 3 [Crowbar] - Декомпиляция модели и компиляция.
• 4 [VtfEdit] - Программа для редактирования vmt и vtf[gamebanana.com]
Самое главное у вас должно быть базовое понимание программы Blender, то как установить то или иноге расширение можно найти в интернете
⚑ Отделение модели от основного меша
  1. Шаг первый :Перейдите в "Edit Mode*"
  2. Шаг второй :С зажатым шифтом выделяем все вершины глаза, либо кнопкой L по мешу*.
  3. Шаг третий :После выделения всех вершин нажмите кнопку P и выберите пунт "Selection"
  4. Шаг четвёртый :Создаём коллекцию и переносим наши глаза туда.

* Не со всеми моделями работает выделение всех мешей через L, и по этому в этом случае прийдётся выделять вершины в ручную.
* Edit Mode - Режим редактирования.


.• Создание UV развёртки и текстуры глаз.
  • Шаг первый - Перейдите в раздел "UV Editing".
  • Шаг второй - Нажатием кнопки Tab перейдите в Edit Mode.
  • Шаг третий - Выделите меш глаза, в левом окне нажмите ПКМ->Unwarp.


  • Шаг четвёртый - Перейдите в вкладку c права внизу "Materials Propertites"
  • Шаг пятый - Нажмите на + у вас должен создаться новый материал.
  • Шаг шестой - Назовите ваш материал "eye_l" и нажмите "Assign"

    Проделайте аналогичную процедуру с вторым глазом и назовите текстуру "eye_r"
ϟ Прописывание координат глаз в QC
Откройте свой QC файл с моделью и добавьте данные :
$Model "eye" "head.smd" { eyeball "eye_right" "ValveBiped.Bip01_Head1" -1.4171 -2.87923 69.771 "eye_r" 1 4 "iris_unused" 0.63 eyeball "eye_left" "ValveBiped.Bip01_Head1" 1.3872 -3.05434 69.7716 "eye_l" 1 -4 "iris_unused" 0.63 flexcontroller eyes range -25 25 eyes_rightleft flexcontroller eyes range -2 2 eyes_updown }
Обьяснение строчек кода:
  • "eye" - Название меша отображаемое при компиляции модели.
  • "head.smd" - Ваше название референса глаз.
  • "eye_right" - Наименования для QC.
  • "eye_left" - Наименования для QC.
  • "ValveBiped.Bip01_Head1" - кость к которой привязан вес меша.
  • -1.4171 -2.87923 69.771 - Координаты расположения левого глаза.
  • 1.3872 -3.05434 69.7716 - Координаты расположения правого глаза.
  • "eye_r" и "eye_l" название vmt файлов текстур глаза.
  • "iris_unused" - оболочка глаза
  • 0.63 - размер зрачка
  • flexcontroller eyes range -25 25 eyes_rightleft - Отвечают за рейндж движение глаз.
  • flexcontroller eyes range -25 25 eyes_updown - Отвечают за рейндж движение глаз.
● Шаг первый: Заходим в блендер и выделяем точку в середине глаза. ● Шаг второй: Копируем координаты X и Z , вставляем вместо наших старых координат. ● Шаг третий: Выделяем по краям меш глаза и копируем координат Y и так же вставляем. ● Шаг пятый: Компилируем нашу модель.

◍ Редактирование текстур
  • Шаг первый: Скачайте архив который я прикреплю снизу.
  • Шаг второй: Перекиньте все файлы из архива в папку с материалами вашей модели
  • Шаг третий: Откройте vmt файл "eye_l" и "eye_r"
  • Шаг четвертый: Пропишите путь к файлам текстур которые вы закинули.
  • Шаг пятый: Сохраняете и заходите в Garry's Mod что бы проверить что вышло.
"EyeRefract" { "$Iris" "models/survivors/gambler/gambler_eyes" "$AmbientOcclTexture" "models/survivors/gambler/gambler_eye_ao" "$Envmap" "Engine/eye-reflection-cubemap-" "$CorneaTexture" "Engine/eye-cornea" "$EyeballRadius" "0.5" "$AmbientOcclColor" "[.4 .3 .27]" "$Dilation" ".6" "$ParallaxStrength" "0.25" "$CorneaBumpStrength" ".5" "$halflambert" "1" "$nodecal" "1" "$ambientocclusion" "1" "$RaytraceSphere" "1" "$SphereTexkillCombo" "0" }
● $Iris - основная текстура глаза.
● $AmbientOcclTexture - текстура AO
● $Envmap - текстура кастомного отражения, как я описывал в vertexlitgeneric. По умолчанию (и желательно) использовать стандартную текстуру "Engine/eye-reflection-cubemap-" да да, именно так со всеми тире.
● $CorneaTexture - что-то вроде normal map для объёма роговицы. Рекомендую использовать по умолчанию "Engine/eye-cornea"


● $EyeballRadius - радиус виртуального глаза (шара)
● $Dilation - размер зрачка
● $ParallaxStrength - сила эффекта Parallax, похоже на эффект шейдера Refract
● $CorneaBumpStrength - сила эффекта объёма роговицы. ($CorneaTexture)
● $RaytraceSphere + $SphereTexkillCombo - доп. обработка (0 или 1)


Материалы глаз и VMT файлы
[disk.yandex.ru]
✇ Дополнительные файлы и благодарности.
Небольшой подгон от меня : Большая база текстур глаз

БЛАГОДАРНОСТЬ

★★★TheDizcordumSeventh - За наставничество и обучение всему что я научился. Благодаря чему я могу делиться с людьми информацией и учить чему-то новому, как это сделал ты.
(ЭТО НЕ ЗНАЧИТ ЧТО ЕМУ НАДО ЗАСОРЯТЬ В ЛС С ПРОСЬБОЙ НАУЧИТЬ)

★★☆The Alium - За помощь в бане перезаливов нечестивых авторов, которые перезаливают аддоны.

СПА-СИ-БО!
♡ Спасибо за то что прочитали моё руководство! Я надеюсь я помог вам и научил вас чему то новому!
♡ Если у вас есть желание помочь мне материально - DonationAlerts [www.donationalerts.com]
♡ Мои цены на услуги по манипулированию с моделями - *ТЫК* [images.vfl.ru]
12 Comments
Thousand Shells  [author] 7 Jun, 2024 @ 8:45am 
Гайд , если вы хотите создать сообственную текстуру глаза :
https://youtu.be/J8cMxFW_p48?si=MlbM87Lft6ISZ581
TheDizcordumSeventh  [author] 30 Aug, 2022 @ 4:18am 
Работать то они работают.
Но развернутый глаз кладет на себя текстуру белка глаза от и до
и без развертки там будет сплошной цвет что не очень смотрится
Ни от каких координат там не зависит только сам зрачок, с этим согласен
Thousand Shells  [author] 7 Jun, 2022 @ 2:26am 
А как у тебя без развёртки модель будет считывать текстуру глаза? Погоди ты хочешь сказать ты просто создавал новый материал для глаз и всё?
MARK2580 6 Jun, 2022 @ 6:45pm 
ну координаты центра самого шарика, а развёртка на меше бесполезна, да и отделять нет смысла, у меня работали и цельной головой.
Thousand Shells  [author] 6 Jun, 2022 @ 4:20am 
Неа, нужно вписывать в любом случае координаты глаз, в противном случае глаз будет плыть. И для этого желательно отделить глаза от основного меша.
MARK2580 6 Jun, 2022 @ 4:08am 
на сколько я знаю, мешу глаза вообще развёртка не всралась т.к. "шарик" глаза чисто виртуальный генерируется.
[WONK] .SH2 27 Mar, 2022 @ 1:14am 
Когда про фейспозинг
Kira 2 Mar, 2022 @ 10:12am 
Спасибо, очень помогло. Автор красавец
причина тараски 1 Mar, 2022 @ 1:25am 
,-、         ,.-、
        ./:::::\        /::::::ヽ
       /::::::::::::;ゝ--──-- 、._/::::::::::::::|
       /,.-‐''"´          \:::::::::|
     /              ヽ、::|
    /    ●                ヽ|
     l   、、、             ●     l
    .|        (_人__丿   、、、  |
     l                   l:steamthumbsup:
Berushichka 26 Feb, 2022 @ 12:22pm 
Молодец, жаль, у меня руки из задницы