Sidebar

[HL2]Phong

  • Рекомендуется задавать вопросы только относительно темы с уроком. Для остальных вопросов существует раздел [url=/forums/pomosch.12/]«Помощь»[/url].

    Темы с просьбами помощи будут удаляться без предупреждения и без объяснения причины.

    Запрещается поднятие старой темы оффтопом. Ваше сообщение будет удалено, а в профиль будет выписано замечание.

Cabbie

Member
11.04.2007
715
35
4
18
[HL2]Phong

C выходом 2 эпизода, появилась возможность использовать Phong.

(Аппроксимации Фонга, или затенение по Фонгу (Phong shading), носят название по имени своего изобретателя - Ву Тонг Фонга (Wu Tong Phong). Этот метод дает более точные результаты при затенении полигонов. Суть этих аппроксимаций заключается в определении нормали к поверхности в каждой вершине полигона и дальнейшей интерполяции вектора по всему полигону поверхности. Далее для каждого пикселя необходимо вычислить значение яркости, основываясь на значениях вектора нормали.)

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



Например, в игре Сondemned, хорошо видно блики на стволе оружия.

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

Что нам нужно:

  • Duffuse текстура
  • Normal map текстура
  • Specular текстура
И так, у нас есть скомпилированная модель, с текстурами:



Теперь создаем Normal map, можно через генератор, затем Specular, её можно сделать через Xnview, просто выбрав изображение>преобразовать в серое>оттенки серого 256 цветов. И у нас получаются 2 текстуры, которые мы компилируем, в папку с материалами модели:





После того, как вы скомпилировали текстуры, переходим, к написанию VMT файла:

"$baseTexture" "models\z-o-m-b-i-e\COD4/978bba67" - duffuse map
"$bumpmap" "models\z-o-m-b-i-e\COD4/978bba67_normal" - normal map

// -- From here down is new stuff which will only be applied if $phong is set to 1 --
"$phong" "1"
// "$phongexponent" 12
"$phongexponenttexture" "models\z-o-m-b-i-e\COD4/978bba67_s" - specular map
"$phongboost" "3"
"$phongfresnelranges" "[0.25 0.5 1]"
Cохраняем, меняем нужные параметры, силу и количество блеска. И получаем результат. И о! Он радует глаз, мы радуемся тому как красиво всё получилось, и хвалим себя за проделанную работу. И идём делать что-то интересное дальше.



Надеюсь после этого тутора, вы будете лепить его во все модели. Чтобы другим не нужно было прописывать что-то, и делать ненужную работу. Удачи всем! Скачать обновленный холодильник можно тут.
 

Allien

Guest
A
Однако. Действителньо полезная статья.
Как рас недавно искал инфу по этому вопросу.
 

Camblu Buildovich

Это я, да
Команда форума
Супер Модератор
03.01.2010
4 594
116
127
63
  • Золотая медаль 154
2 Cabbie:
гм.. а теперь по-человечески, что это дает, и как будут выглядеть 2 одинаковых модели, с фонговым освещением (только буз всяких свистелок, типа изменяем силу блеска) и без него
 

Allien

Guest
A
Nim-Bitum сказал(а):
2 Cabbie:
гм.. а теперь по-человечески, что это дает, и как будут выглядеть 2 одинаковых модели, с фонговым освещением (только буз всяких свистелок, типа изменяем силу блеска) и без него
http://img196.imageshack.us/img196/1250/0054ur.jpg
http://img641.imageshack.us/img641/5973/0001qs.jpg

Вот жеш....
 

Camblu Buildovich

Это я, да
Команда форума
Супер Модератор
03.01.2010
4 594
116
127
63
  • Золотая медаль 154
2 xallienx:
то есть это просто блеск моделей, как в еп2?
 

Allien

Guest
A
Отражение света. Если быть конкретным. Стоит модель как модель в темноте. Светишь фонариком вот такой эфект. Ну или любой другой источник света.
 

Cabbie

Member
11.04.2007
715
35
4
18
=) Он наверное путает его с env_cubemap, но для этого эффекта, он не нужен. Ему нужен, только источник света. Да и выглядит этот эффект лучше, и реалистичней.
 

Camblu Buildovich

Это я, да
Команда форума
Супер Модератор
03.01.2010
4 594
116
127
63
  • Золотая медаль 154
2 xallienx:
2 Cabbie:
Спасибо за обьяснение
 

Cabbie

Member
11.04.2007
715
35
4
18
Cabbie сказал(а):
Её можно сделать через Xnview, просто выбрав изображение>преобразовать в серое>оттенки серого 256 цветов.
Нужна просто черно-белая текстура 256 цветов, в оттенках серого. Скачай Xnview ^^. Программа бесплатная:). Делаешь её из обычной(duffuse) текстуры.
 
Последнее редактирование:

NekromanceR

a.k.a JIyKAC.
01.07.2011
1 236
27
а для этой технологии какая версия шейдеров нужна SM3.0 или SM2.0 (просто у меня SM2.0 и я сомневаюсь что будет работать)
 

Cabbie

Member
11.04.2007
715
35
4
18
Думаю версия 3.0
Хотя я незнаю, у меня подерживает и я незадавалься вопросом.

Так же есть дополнение к этой статье, в модель можно добавить как минимум 4 шейдера, это bump, phong, env_cubemap, rim light, описание материало будет примерно таким :

"VertexLitGeneric"
{
"$baseTexture" "models\cookedpc\/foldingchair_cd"
"$bumpmap" "models\cookedpc\/foldingchair_n_cd"

"$phong" "1"
"$phongexponent" 12
"$phongexponenttexture" "models\cookedpc\/foldingchair_s"
"$phongboost" "1"
"$phongfresnelranges" "[0.15 0.15 0.25]"

"$envmap" "env_cubemap"
"$normalmapalphaenvmapmask" 1
"$envmapcontrast" 1
"$envmapsaturation" 1
"$envmaptint" "[ .06 .06 .06 ]"

$rimlight 1
$rimlightexponent 2
$rimlightboost .2

}

Что такое rim light, можно посматреть тут. На ворте отличны видны дополнительные блики.

PS: Шейдер, только на моделях.
 

Game Server

Доноры Красавчики

Пользователи онлайн