HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Half-Life SDK (https://hlfx.ru/forum/forumdisplay.php?forumid=8)
-- entities packet list (https://hlfx.ru/forum/showthread.php?threadid=4580)
Отправлено RJ-riccio 14-04-2015 в 14:57:
entities packet list
Здравствуйте, господа форумчане, прошу помощи, потому что не знаю как поменять лимит максимального количества ентити в видимом пространстве игрока.
Скажу сразу - дело не в фанк_воллах и прочих брашевых энтитях, которые можно было бы объединить, и не получится объединить несколько моделей в одну. В принципе получится, но это на случай "урезки" идеи (чего не хотелось бы, конечно
)
Собственно, зачем это надо: делаю мультиплеерный мод, где игрок - экипаж машины боевой, сидит в 5-и этажном роботе, крушит город, дает люлей другим роботам, подбирает с земли машины и кидается ими (если в кратце). Проблема в том, что изначальная идея - можно разбить каждое здание, вокруг много машин, танков, прочего добра, но лимит в 256 энтити в pvs слишком мал... И доп. проблема в том, что я слаб в кодинге, могу рисовать текстуры, монтажить трейлеры, немного моделить, нормально мапперить (ну, я так думаю), а вот в коде я слишком слаб.
Чтобы товарищи кодеры не ругались, что пришел опять кто-то с идеей, которая потом загнется через недельку/месяц - не загнется
просто придется урезать много чего и искать обходные пути. На данный момент есть около 20 разных зданий (часть реализована скинами), модель одного робота игрока (в проекте еще один), бегающие лоу-поли горожане, поменены звуки, некоторые изменения в код таки получилось внести... Пока как-то так, надеюсь на помощь, и что это одна константа, а не перекодирование больших массивов...
Как-то так, спасибо!
Отправлено XaeroX 14-04-2015 в 15:19:
Цитата:
RJ-riccio писал:
и что это одна константа, а не перекодирование больших массивов
Да, это константа, но она вшита в движок. На чистом Goldsrc её изменить не удастся.
Однако проблему можно решить с другого конца. Например, понять, зачем нужно так много энтитей? Нельзя ли часть их целиком перенести на клиент? Статичные модели, скажем? Придётся немного покодить, конечно, но это вполне реально.__________________
Отправлено Ghoul [BB] 14-04-2015 в 15:35:
Крушить здания и прочее - это лучше на второй Халфе делать - больше возможностей. И роботов тоже там делали, погляди ролики на ютубе.
А проблема это у меня тоже была. Не вышло исправить.
Может быть, сейчас уже кто-то нашел смещение, по которому можно изменить это число на другое. Может быть...
По моделям так скажу - первохалфа очень плохо работает с моделями. Тормоза начинаются жуткие, когда много полигонов в кадре.
__________________
Ты топчешь мир своими ботинками,
Не замечая куда наступаешь,
А время от тебя уходит цветными картинками,
Но ты даже этого не понимаешь.
Компрометирую данные своей учётной записи.
ЛОГИН: Ghoul [BB]
ПАРОЛЬ: paladin_solo
Отправлено Ku2zoff 14-04-2015 в 16:17:
Цитата:
Ghoul [BB] писал:
это лучше на второй Халфе делать - больше возможностей.
Вторая халфа на порядок сложнее в плане моделинга и текстуринга. Вот маппинг я думаю не сильно сложнее, а кодинг (исходники глядел) примерно такой же, но даёт больше возможностей.
Цитата:
XaeroX писал:
На чистом Goldsrc её изменить не удастся.
Можно попробовать Xash3D в таком разе. Там лимиты повыше, а некоторые и без кодинга меняются. А ещё с моделями работает лучше, вон кучу UD-моделей Аликс в кадре вполне без тормозов рисует.
Добавлено 14-04-2015 в 22:17:
Цитата:
XaeroX писал:
Нельзя ли часть их целиком перенести на клиент? Статичные модели, скажем?
Гибсы, трупы, проджектайли (если состоит из нескольких моделей) и т.д. и т.п. Я над этим тоже думал. Переписывать много кода надо. А если такими оптимизациями увлечься - будет как у тов. ~X~ супероптимизировано, но как, автор уже сам не помнит
Отправлено XaeroX 14-04-2015 в 16:52:
Цитата:
Ku2zoff писал:
Можно попробовать Xash3D в таком разе.
Ну это тогда не к нам.__________________
Отправлено RJ-riccio 14-04-2015 в 18:58:
Цитата:
XaeroX писал:
Например, понять, зачем нужно так много энтитей? Нельзя ли часть их целиком перенести на клиент?
ну, по сути, каждое здание получается как энтити (npc) - чтобы и можно было их крушить, добавить "эффект смерти". Если бы можно было часть из них было перенести на клиент, то, наверное, это было бы хорошо, но я даже не понимаю принципа, как это сделать
Цитата:
Ku2zoff писал:
Можно попробовать Xash3D в таком разе
я переписал много (по моим меркам, конечно) спиритовского кода и боюсь уже повторять все заново, хотя думал об этом. Про хл2 вообще молчу - пока научусь, уже хл3 выйдет..
По теме возникли еще 2 вопроса:
1. а неактивные до нужного момента спрайты, бимы, взрывы, прозрачные и неосязаемые фанк_трейны - тоже включаются в лимит?
2. кажется где-то давно я видел тему, где на определенном расстоянии хд-модели заменялись для игрока на лоу-поли модели, т.к. на расстоянии не было разницы - может быть возможно таким же макаром обойти лимит и на определенном расстоянии (том же max visible distance) чтобы модели становились null-овыми и "выпадали" из лимита?... ну, вы меня понимаете, надеюсь
Отправлено XaeroX 14-04-2015 в 20:15:
Цитата:
RJ-riccio писал:
а неактивные до нужного момента спрайты, бимы, взрывы, прозрачные и неосязаемые фанк_трейны - тоже включаются в лимит?
Как правило, нет. Но надо смотреть в дебаггере функцию AddToFullPack.
Цитата:
RJ-riccio писал:
может быть возможно таким же макаром обойти лимит и на определенном расстоянии (том же max visible distance) чтобы модели становились null-овыми и "выпадали" из лимита?
Это легко реализовать в той же AddToFullPack. Проверяй расстояние до хоста (т.е. клиента, кому собирается снапшот), и если оно превышает некое значение - не пропускай энтитю.__________________
Отправлено KiQ 14-04-2015 в 20:39:
А разве оно по PVS не отсекается?
__________________
-Brain is dead-
Отправлено XaeroX 14-04-2015 в 23:15:
KiQ
А причём тут PVS?
__________________
Отправлено KiQ 14-04-2015 в 23:23:
XaeroX
Цитата:
From the eye position, we set up the PAS and PVS to use for filtering network messages to the client.
__________________
-Brain is dead-
Отправлено XaeroX 14-04-2015 в 23:41:
KiQ
Это я знаю. Я спрашиваю, причём конкретно тут PVS?
Или что ты имел в виду под "оно"? 
__________________
Отправлено KiQ 14-04-2015 в 23:44:
Цитата:
XaeroX писал:
Это легко реализовать в той же AddToFullPack. Проверяй расстояние до хоста (т.е. клиента, кому собирается снапшот), и если оно превышает некое значение - не пропускай энтитю.
Или я чо-то неправильно понял?
Добавлено 15-04-2015 в 02:44:
А, в AddToFullPack нет отсечения чтоль?__________________
-Brain is dead-
Отправлено XaeroX 14-04-2015 в 23:48:
KiQ
Что-то я тебя сегодня не понимаю...
Сам же цитируешь фразу про расстояние, а говоришь зачем-то про PVS.
PVS, на всякий случай, это виз, который компилятор считает. 
__________________
Отправлено Ghoul [BB] 15-04-2015 в 14:28:
Цитата:
Ku2zoff писал:
Гибсы, трупы, проджектайли (если состоит из нескольких моделей) и т.д. и т.п. Я над этим тоже думал. Переписывать много кода надо. А если такими оптимизациями увлечься - будет как у тов. ~X~ супероптимизировано, но как, автор уже сам не помнит
А тоже вариант - взять движок тов. ~X~ за основу. Там колоссальная работа в этом плане проделана.__________________
Ты топчешь мир своими ботинками,
Не замечая куда наступаешь,
А время от тебя уходит цветными картинками,
Но ты даже этого не понимаешь.
Компрометирую данные своей учётной записи.
ЛОГИН: Ghoul [BB]
ПАРОЛЬ: paladin_solo
Отправлено ~ X ~ 17-04-2015 в 22:16:
Цитата:
RJ-riccio писал:
1. а неактивные до нужного момента спрайты, бимы, взрывы, прозрачные и неосязаемые фанк_трейны - тоже включаются в лимит?
да.
В AddToFullPack можно напихать тонны фильтров, что отсылать, а что нет. Я вообще запилил систему когда энтитя сама решает, кому себя послать, а кому - нет.__________________
Минутка полезного:
Бесплатный UT-подобный Half-Life mod.
Бесплатный редактор для 32-битных текстур. Без дотнета.
Бесплатный IDE для любых компиляторов и ЯП.
Бесплатная Windows-подобная ОС.
Проверка грамматики русского языка.
Чат по hl[fx]: half-life@conference.jabber.ru