HLFX.Ru Forum Страницы (268): « Первая ... « 161 162 163 164 [165] 166 167 168 169 » ... Последняя »
Показать все 4009 сообщений этой темы на одной странице

HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Half-Life SDK (https://hlfx.ru/forum/forumdisplay.php?forumid=8)
-- Нубские вопросы от <censored> и других нубов (https://hlfx.ru/forum/showthread.php?threadid=4535)


Отправлено Ku2zoff 03-09-2020 в 20:15:

Дядя Миша нет, это не то. Я не совсем правильно описал проблему. Они на самом деле не видны, но считаются видимыми, когда попали во фрустум, даже если между ними и игроком стенка, и для них рисуются дополнительные проходы, что просаживает фпс. Был бы вменяемый способ проверки видимости (или попадания в PVS) на клиенте, я бы уже исправил.

Добавлено 04-09-2020 в 03:15:

Не нашёл ничего лучше, как просто тупо трейсить все вертексы монитора по очереди. Для экономии сделал так, чтобы при обнаружении хотя бы одного видимого вертекса цикл прерывался.

C++ Source Code:
1
for (int i = 0; i < mon->numvertices; i++)
2
{
3
  vec3_t point = g_MonitorVerts[mon->firstvertex + i].point;
4
 
5
  pmtrace_t trace;
6
  gEngfuncs.pEventAPI->EV_PushPMStates();
7
  gEngfuncs.pEventAPI->EV_SetSolidPlayers(-1);
8
  gEngfuncs.pEventAPI->EV_SetTraceHull(2);
9
  gEngfuncs.pEventAPI->EV_PlayerTrace(point, v_origin, PM_STUDIO_IGNORE | PM_GLASS_IGNORE, -1, &trace);
10
  gEngfuncs.pEventAPI->EV_PopPMStates();
11
 
12
  if (trace.fraction >= 1.0)
13
    break;
14
 
15
  mon->visible = false;
16
}

Прирост фпс хороший.


Отправлено thambs 03-09-2020 в 20:49:

Ku2zoff
А если через дыру в стене смотришь на монитор?

__________________
http://www.moddb.com/mods/monorail-quest


Отправлено Ku2zoff 03-09-2020 в 21:40:

thambs значит надо добавить пятый трейс из центра. Хотя проще не допускать ситуации с дырами в стенах. Можно конечно отключить все проверки. У меня на дохлой видеокарте GT220 при восьми активных мониторах с вьпортами 512х512 около 140 фпс. Представим, что мониторов во фрустуме будет максимум 4, и сцены в них будут содержать больше полигонов. На любой более-менее современной видеокарте в FullHD будет уж точно больше 100 фпс.


Отправлено Дядя Миша 03-09-2020 в 22:35:

Цитата:
Ku2zoff писал:
Был бы вменяемый способ проверки видимости (или попадания в PVS) на клиенте, я бы уже исправил.

так исправь. Из model_t торчит всё необходимое для реализации PVS.
А в ксаш-моде есть пример как это подключить.

Цитата:
Ku2zoff писал:
Не нашёл ничего лучше, как просто тупо трейсить все вертексы монитора по очереди

а это у тебя получился окклюжен куллинг с растеризацией через трассировку

__________________
My Projects: download page

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

Цитата:

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


Отправлено thambs 03-09-2020 в 22:37:

Ku2zoff
Так ведь смотреть можно и не на центр, да и дырка в стене может быть, например щелью, или ещё каким нетривиальным препятствием. Это всё очень ненадёжно.

__________________
http://www.moddb.com/mods/monorail-quest


Отправлено Дядя Миша 04-09-2020 в 09:15:

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

__________________
My Projects: download page

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

Цитата:

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


Отправлено Ku2zoff 04-09-2020 в 10:17:

Цитата:
Дядя Миша писал:
А в ксаш-моде есть пример как это подключить.

Это ты про SV_BoxInPVS? Если да, то что там надо сувать в качестве visbytes функции Mod_DecompressPVS?


Отправлено Дядя Миша 04-09-2020 в 11:12:

Очень странный вопрос. leaf->compressed_pvs очевидно.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Ku2zoff 04-09-2020 в 12:33:

C++ Source Code:
Mod_DecompressPVS( leaf->compressed_vis, world.visbytes );

Что такое world.visbytes? Это хранится в бсп или формируется на основе данных, полученных из бсп?


Отправлено Дядя Миша 04-09-2020 в 17:18:

Ku2zoff а чуть-чуть ниже промотать в том же файле? Нет надо сразу на форум.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Aynekko 09-09-2020 в 14:43:

Есть 2 лайта с одинаковыми именами. На одном из них флажок Initially dark. По итогу оба выключены и по имени оба включаются. На деле должно быть, как вы уже поняли, один изначально включенный и по вызову они меняются местами.
При этом, если задать им разные имена, то все нормально. Но приходится вносить еще одно имя в менеджер…
Не то чтобы это сильно напрягает, но из-за чего это может быть? В самом лайте покопался, там про targetname есть одна строчка в спауне, стоит комментарий "inert light".

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


Отправлено thambs 09-09-2020 в 14:51:

Aynekko
У них же один лайтстайль тогда получается. По разным именам -- разные, управляй ими через реле или мультиманагер, например.

__________________
http://www.moddb.com/mods/monorail-quest


Отправлено Aynekko 09-09-2020 в 15:04:

Интересно, а зачем нужно было делать зависимость от имени?
Я собственно так и делаю, как же еще


Отправлено Дядя Миша 09-09-2020 в 15:31:

Цитата:
Aynekko писал:
Интересно, а зачем нужно было делать зависимость от имени?

можешь вручную лайтстили назначать.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Vadiman 24-09-2020 в 15:08:

Всем привет!
1) Можно ли сделать хорошо видимые трассеры? Как вообще разнообразить их в более зрелищный вид, насколько первая халфа может? Например хотелось бы у дробовика подчеркнуть мощь выстрела все этой дроби
2) Можно ли сделать более-менее реалистичный боб оружия, а не взад-вперед, или лево-право?


Временная зона GMT. Текущее время 00:17. Страницы (268): « Первая ... « 161 162 163 164 [165] 166 167 168 169 » ... Последняя »
Показать все 4009 сообщений этой темы на одной странице

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