HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Разработка игр > Наши проекты > Кастомный VRAD, исправление освещения в HL2: Update
с сорцами
Страницы (4): [1] 2 3 4 »   Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
Crystallize
Житель форума

Дата регистрации: Jul 2007
Проживает: Новосибирск
Сообщений: 4415
Возраст: 34

Рейтинг



Кастомный VRAD, исправление освещения в HL2: Update

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

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

Предполагается что лайт, спот и проп вблизи друг друга связаны по смыслу, поэтому создаются списки энтитей которые затем фильтруются так чтобы у пропа был либо просто лайт либо просто спот. Спот потом выравнивается по направлению пропа.

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

Вложение: vrad release 4.7z (452.2 кб)
Этот файл был скачан 552 раз.

Отредактировано Crystallize 25-01-2020 в 18:01

Сообщить модератору | | IP: Записан
Сообщение: 189685

Старое сообщение 25-01-2020 17:48
- За что?
Crystallize
Житель форума

Дата регистрации: Jul 2007
Проживает: Новосибирск
Сообщений: 4415
Возраст: 34

Рейтинг



Было

[ Вложение ]
hl2 2020-01-26 01-32-01-67.png

Сообщить модератору | | IP: Записан
Сообщение: 189686

Старое сообщение 25-01-2020 18:33
- За что?
Crystallize
Житель форума

Дата регистрации: Jul 2007
Проживает: Новосибирск
Сообщений: 4415
Возраст: 34

Рейтинг



Стало

[ Вложение ]
hl2 2020-01-26 01-20-49-82.png

Сообщить модератору | | IP: Записан
Сообщение: 189687

Старое сообщение 25-01-2020 18:34
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32188
Нанёс повреждений: 392 ед.

Рейтинг



Афтар маладец за проделаную работу!

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 189688

Старое сообщение 25-01-2020 18:44
-
Crystallize
Житель форума

Дата регистрации: Jul 2007
Проживает: Новосибирск
Сообщений: 4415
Возраст: 34

Рейтинг



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

[ Вложение ]
d1_canals_010000.jpg

Сообщить модератору | | IP: Записан
Сообщение: 191951

Старое сообщение 06-04-2020 17:44
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32188
Нанёс повреждений: 392 ед.

Рейтинг



Так, а это вообще зачем?

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 191954

Старое сообщение 06-04-2020 18:43
-
Crystallize
Житель форума

Дата регистрации: Jul 2007
Проживает: Новосибирск
Сообщений: 4415
Возраст: 34

Рейтинг



Вальвовское освещение выглядит странно.
Да и я думал, вдруг будет какой-то вау-эффект в результате.
Ну и практика кодинга. Ради геймплея это не так интересно, а вот ради графона поприкольнее.

Сообщить модератору | | IP: Записан
Сообщение: 191959

Старое сообщение 06-04-2020 19:41
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32188
Нанёс повреждений: 392 ед.

Рейтинг



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

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 191965

Старое сообщение 06-04-2020 21:05
-
Crystallize
Житель форума

Дата регистрации: Jul 2007
Проживает: Новосибирск
Сообщений: 4415
Возраст: 34

Рейтинг



Дядя Миша Ну ты глянь самую первую картинку: лампа дневного света которая по своей природе должна иметь внешний угол распространения градусов 200-250, изображена спотом у которого внешний конус в 2-3 раза меньше. Как ты такое затуханием исправишь? В тоннелях они натыкали лайтов на ровном месте (толи чтобы темноты не было толи у них якобы кислота светится), в канализации в каждом отверстии наружу - у них поставлен спот светящий вертикально вниз, толи чтобы сэмитировать адаптицию зрения, толи для красоты просто.
Т.е. дизайн помещений и расстановка пропов-лампочек диктовали некие рамки того каким получится освещение на локации, но Валв видимо не хотели от этого зависеть. В большинстве случаев, видимо, локации получались для них слишком тёмными. Но они не стали, там, менять квадратичное затухание на линейное, а просто втыкали спот в каждый угол который казался им слишком тёмным. Ну и в результате получилось такое пресное, унылое освещение.

Сообщить модератору | | IP: Записан
Сообщение: 191969

Старое сообщение 07-04-2020 01:27
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32188
Нанёс повреждений: 392 ед.

Рейтинг



Ты сам-то будешь это использовать?

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 191978

Старое сообщение 07-04-2020 07:31
-
Crystallize
Житель форума

Дата регистрации: Jul 2007
Проживает: Новосибирск
Сообщений: 4415
Возраст: 34

Рейтинг



Я делал как раз чтобы обработать стандартные уровни и сделать такой своеобразный мод, больше ни для чего. Кто мапает под сорс, они уже пусть сразу правильно делают.

Сообщить модератору | | IP: Записан
Сообщение: 191984

Старое сообщение 07-04-2020 09:48
- За что?
Crystallize
Житель форума

Дата регистрации: Jul 2007
Проживает: Новосибирск
Сообщений: 4415
Возраст: 34

Рейтинг



Сабж

Вложение: vrad release 5.7z (456.1 кб)
Этот файл был скачан 439 раз.

Сообщить модератору | | IP: Записан
Сообщение: 192026

Старое сообщение 08-04-2020 17:59
- За что?
Crystallize
Житель форума

Дата регистрации: Jul 2007
Проживает: Новосибирск
Сообщений: 4415
Возраст: 34

Рейтинг



трейс в враде не такой продвинутый как в хл1, возвращает только 0 и 1 поэтому приходится выкручиваться

C++ Source Code:
1
AngleVectors( QAngle( 0, relocpropang[i].y, 0 ), &relocnormal );
2
VectorMA( relocproporg[i], 50, relocnormal, start );
3
start4.DuplicateVector( start );
4
stop4.DuplicateVector( start + Vector( 0, 0, 4096 ) );
5
// returns 1 if the ray sees the sky
6
TestLine_DoesHitSky ( start4, stop4, &fractionVisible );
7
 
8
if( TestSignSIMD( CmpGtSIMD( fractionVisible, Four_Zeros ) ) )
9
{
10
  // fiv: traced to sky;
11
  //relocpropang[i].x = -89; // 90 will be confused with fluors!
12
  printf( "reloc %i pos %.f %.f outside: %.4f\n", i, relocproporg[i].x, relocproporg[i].y, fractionVisible.m128_f32[0] );
13
}
14
else
15
{
16
  printf( "reloc %i pos %.f %.f %.f inside: %.4f\n", i, relocproporg[i].x, relocproporg[i].y, relocproporg[i].z, fractionVisible.m128_f32[0] );
17
  start4.DuplicateVector( relocproporg[i] );
18
  //trace fwd
19
  float ln=0;
20
  for( ln=0; ln<999; ln++ )
21
  {
22
    //outputs 1 in fractionVisible if no occlusion
23
    VectorMA( relocproporg[i], ln, relocnormal, stop );
24
    stop4.DuplicateVector( stop );
25
    TestLine ( start4, stop4, &fractionVisible );
26
    if( !TestSignSIMD( CmpGtSIMD( fractionVisible, Four_Zeros ) ) ) break;
27
  }
28
  printf( "reloc %i traced for %.f fwd to %.f %.f %.f\n", i, ln, stop.x, stop.y, stop.z );
29
 
30
  // and now trace up
31
  start += ( stop - start ) / 2;
32
  start4.DuplicateVector( start );
33
  stop=start;
34
  for( ln=0; ln<999; ln++ )
35
  {
36
    //outputs 1 in fractionVisible if no occlusion
37
    stop.z += ln;
38
    stop4.DuplicateVector( stop );
39
    TestLine ( start4, stop4, &fractionVisible );
40
    //printf( "reloc %i traced for %.f up to %.f %.f %.f\n", i, ln, stop.x, stop.y, stop.z );
41
    if( !TestSignSIMD( CmpGtSIMD( fractionVisible, Four_Zeros ) ) ) break;
42
  }
43
  printf( "reloc %i traced for %.f up to %.f %.f %.f\n", i, ln, stop.x, stop.y, stop.z );
44
  relocproporg[i] = stop-Vector( 0, 0, 10 );
45
 
46
  //printf( "reloc %i pos %.f %.f fwd wall: %.4f\n", i, relocproporg[i].x, relocproporg[i].y, fractionVisible.m128_f32[0] );
47
 
48
  //relocpropang[i].x = -89; // 90 will be confused with fluors!
49
}


Добавлено 12-10-2020 в 01:35:

вот эта замута с ln<999 нужна чтобы for вообще работал. Я не могу указать там 2 параметра или вставить TestSignSIMD в условие.

Добавлено 12-10-2020 в 01:38:

Кстати если указать define LOL = 0 а потом проверить if( LOL ) то тоже пошлёт, нужна именно проверка на цифру. Но если значение не 0 то проблем не возникает.

Сообщить модератору | | IP: Записан
Сообщение: 197679

Старое сообщение 11-10-2020 18:38
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32188
Нанёс повреждений: 392 ед.

Рейтинг



Цитата:
Crystallize писал:
трейс в враде не такой продвинутый как в хл1, возвращает только 0 и 1 поэтому приходится выкручиваться

трасса по определению бинарна, либо 0, либо 1. Ну да, в халфе еще возвращается тип контентса - SKY, это очень удобно.

А ты что сделал?

Добавлено 11-10-2020 в 23:17:

Цитата:
Crystallize писал:
вот эта замута с ln<999 нужна чтобы for вообще работал


while( 1 ) не?

ну или for( ;; ) если тебе while( 1 ) не нравится.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 197690

Старое сообщение 11-10-2020 20:17
-
Crystallize
Житель форума

Дата регистрации: Jul 2007
Проживает: Новосибирск
Сообщений: 4415
Возраст: 34

Рейтинг



Цитата:
Дядя Миша писал:
трасса по определению бинарна, либо 0, либо 1. Ну да, в халфе еще возвращается тип контентса - SKY, это очень удобно.

В халфе ещё был fraction.

Цитата:
Дядя Миша писал:
А ты что сделал?

Да ищу середину потолка в комнате, трейс горизонтально по yaw и потом от половины этого расстояния-вверх. Габариты текущего лифа как-то можно найти?

Цитата:
Дядя Миша писал:
while( 1 ) не?

с for можно в ту же строчку запихнуть как минимум скорость инкремента ну и условие выхода в идеале.

Сообщить модератору | | IP: Записан
Сообщение: 197698

Старое сообщение 12-10-2020 04:28
- За что?
Тема: (Опционально)
Ваш ответ:



Переводчик транслита


[проверить длину сообщения]
Опции: Автоматическое формирование ссылок: автоматически добавлять [url] и [/url] вокруг интернет адресов.
Уведомление по E-Mail: отправить вам уведомление, если кто-то ответил в тему (только для зарегистрированных пользователей).
Отключить смайлики в сообщении: не преобразовывать текстовые смайлики в картинки.
Показать подпись: добавить вашу подпись в конец сообщения (только зарегистрированные пользователи могут иметь подписи).

Временная зона GMT. Текущее время 23:07. Новая тема    Ответить
Страницы (4): [1] 2 3 4 »   Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Разработка игр > Наши проекты > Кастомный VRAD, исправление освещения в HL2: Update
с сорцами
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

Быстрый переход:
Оцените эту тему:

Правила Форума:
Вы not можете создавать новые темы
Вы not можете отвечать в темы
Вы not можете прикреплять вложения
Вы not можете редактировать ваши сообщения
HTML Код ВЫКЛ
vB Код ВКЛ
Смайлики ВКЛ
[IMG] Код ВКЛ
 

< Обратная связь - HLFX.ru >

На основе vBulletin
Авторское право © 2000 - 2002, Jelsoft Enterprises Limited.
Дизайн и программирование: Crystice Softworks © 2005 - 2024