HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Half-Life SDK > Нубские вопросы от <censored> и других нубов
Чтобы не создавать сто тем
7 голосов
Страницы (260): « Первая ... « 161 162 163 164 [165] 166 167 168 169 » ... Последняя »   Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
Ku2zoff
Мастер Ёда из Деревни Дуракоф

Дата регистрации: Apr 2007
Проживает: В Деревне дураков
Сообщений: 6749
Возраст: 33

Рейтинг



Дядя Миша нет, это не то. Я не совсем правильно описал проблему. Они на самом деле не видны, но считаются видимыми, когда попали во фрустум, даже если между ними и игроком стенка, и для них рисуются дополнительные проходы, что просаживает фпс. Был бы вменяемый способ проверки видимости (или попадания в 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
}

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

Отредактировано Ku2zoff 03-09-2020 в 19:28

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

Старое сообщение 03-09-2020 20:15
- За что?
thambs
мразь конченная

Дата регистрации: Mar 2006
Проживает: -
Сообщений: 6417

Рейтинг



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

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

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

Старое сообщение 03-09-2020 20:49
- За что?
Ku2zoff
Мастер Ёда из Деревни Дуракоф

Дата регистрации: Apr 2007
Проживает: В Деревне дураков
Сообщений: 6749
Возраст: 33

Рейтинг



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

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

Старое сообщение 03-09-2020 21:40
- За что?
 Дядя Миша
racing for fish

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

Рейтинг



Цитата:
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'

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

Старое сообщение 03-09-2020 22:35
-
thambs
мразь конченная

Дата регистрации: Mar 2006
Проживает: -
Сообщений: 6417

Рейтинг



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

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

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

Старое сообщение 03-09-2020 22:37
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32202
Нанёс повреждений: 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: Записан
Сообщение: 196883

Старое сообщение 04-09-2020 09:15
-
Ku2zoff
Мастер Ёда из Деревни Дуракоф

Дата регистрации: Apr 2007
Проживает: В Деревне дураков
Сообщений: 6749
Возраст: 33

Рейтинг



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

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

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

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

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

Рейтинг



Очень странный вопрос. 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'

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

Старое сообщение 04-09-2020 11:12
-
Ku2zoff
Мастер Ёда из Деревни Дуракоф

Дата регистрации: Apr 2007
Проживает: В Деревне дураков
Сообщений: 6749
Возраст: 33

Рейтинг



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

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

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

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

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

Рейтинг



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

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 04-09-2020 17:18
-
Aynekko
Маппер

Дата регистрации: Jun 2016
Проживает: г. Подольск, Россия
Сообщений: 1006
Возраст: 31

Рейтинг



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

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

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

Старое сообщение 09-09-2020 14:43
- За что?
thambs
мразь конченная

Дата регистрации: Mar 2006
Проживает: -
Сообщений: 6417

Рейтинг



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

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

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

Старое сообщение 09-09-2020 14:51
- За что?
Aynekko
Маппер

Дата регистрации: Jun 2016
Проживает: г. Подольск, Россия
Сообщений: 1006
Возраст: 31

Рейтинг



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

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

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

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

Рейтинг



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

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

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 09-09-2020 15:31
-
Vadiman
Клавиатурщик

Дата регистрации: Jun 2013
Проживает: Замок Димитреску
Сообщений: 81

Рейтинг



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

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

Старое сообщение 24-09-2020 15:08
- За что?
Тема: (Опционально)
Ваш ответ:



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


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

Временная зона GMT. Текущее время 17:43. Новая тема    Ответить
Страницы (260): « Первая ... « 161 162 163 164 [165] 166 167 168 169 » ... Последняя »   Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Half-Life SDK > Нубские вопросы от <censored> и других нубов
Чтобы не создавать сто тем
7 голосов
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

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

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

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

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