|
||||||||||||||||
|
||||||||||||||||
|
20.02.2022, 16:10 | #301 | ||
Mafia Modding Crew Сообщений: 687
Репутация: 771
Priest
|
alex5995, В моде я стараюсь уменьшать количество акторов (людей, машин и т.п.), потому что кажется, что мафия плохо переносит их большое количество в одной миссии. Например, сохранение игры ломалось в связи с этим. Насколько я помню, в Walk in the City довольно много акторов, поэтому я не уверен, что она всё потянет. Но попробовать стоит, если хочешь, опыт здесь будет полезен. В крайнем случае можно будет взять какую-то промежуточную версию мода, с меньшим количеством объктов.
|
||
цитата |
13.04.2022, 06:54 | #302 | |||||
Member Сообщений: 32
Репутация: 3
Detective
|
Цитата:
Цитата:
Цитата:
__________________
Другой взгляд на вещи. |
|||||
цитата |
06.02.2023, 01:58 | #303 | ||
Junior Member Сообщений: 25
Репутация: 25
Detective
|
Возможно я что-то не знаю, но ведь должен быть механизм LODов в движке? Для трафика он точно есть. Возможно и для статичных объектов типа зданий тоже есть? По идее если в качестве лоу поли модели на дальних растояния использовать оригинальные меши города то движку станет проще?
|
||
цитата |
08.02.2023, 05:40 | #304 | |||
Mafia Modding Crew Сообщений: 687
Репутация: 771
Priest
|
Цитата:
Да и есть у меня давно подозрение, что падение fps связано не столько с полигонами, сколько с количеством акторов в миссии. Чем их больше, тем больше тормозов... Какая-то особенность движка непонятная. Надо как-то с этим справляться. |
|||
цитата |
08.02.2023, 20:40 | #305 | |||
Junior Member Сообщений: 25
Репутация: 25
Detective
|
Цитата:
На счет количества акторов очень даже может быть. Как я понимаю акторы которых ты добавляешь вручную и которые не контроллируются пуллингом трафика - они все пытаются рендериться даже если не попадают в кадр. На сколько я помню даже в АПИ скриптов есть функция отключить редерер актора. Соответственно можно написать кастомный скрипт в котором запихать всех кастомных акторов в список и потом раз в N кадров пробегаться по нему и включать выключать в зависимости от дистанции. Получается такой самописный окклюдер / лод менеджер Добавлено через 8 минут При чем кастомных акторов можно разбить на несколько категорий/списков и для каждой категории использовать свой порог дистанции. Так дома могут включаться раньше а персонажи позже... тачки где-то посередине между домами и персами |
|||
цитата |
08.02.2023, 22:46 | #306 | ||
#667e34 Сообщений: 1,247
Репутация: 979
Hitman
|
Pelerin, при описанном способе в игре будут проявляться подвисания, когда акторы будут подгружаться скриптами в зависимости от расстояния. А так этот функционал можно даже в chg файлы засунуть.
|
||
цитата |
09.02.2023, 00:06 | #307 | |||
Junior Member Сообщений: 25
Репутация: 25
Detective
|
Цитата:
Другое дело это включение/выключение рендеринга: ресурсы остаются в памяти но не отправляются на видео карту для отрисовки (соответственно они не учавствуют в рендер пайплайне - всякие сортировки геометрии, расчет источников освещения и т.д.) - в таком случае мы облегчаем жизнь видухе + ЦП (скорее всего в случае старого движка как у Мафии там очень много делается на стороне ЦП). Возвращаясь к той функции что есть в АПИ скриптов - я хз как она реализована но что-то мне подсказывает что она именно про рендеринг. К сожалению не могу вспомнить как она называется а доки по скриптам под рукой нету. Второй момент. Если акторов слишком много то да мы можем упереться в скорость форыча по списку. В таком случае этот обход можно размазать по кадрам - например обходить только половину или четверть акторов за один кадр. Тогда это будет незаметно для игрока но в фоне будет обрабатывать объекты. Конечно это все надо тестировать и пробовать. Так сразу и не угадаешь.. |
|||
цитата |
09.02.2023, 01:22 | #308 | ||
#667e34 Сообщений: 1,247
Репутация: 979
Hitman
|
Pelerin, Геометрические лоды это рендер, точно. А вот для скриптовых персонажей есть подозрения что динамической подгрузки не предусмотрено. Моделька может и не рендерится когда акторы "скрыты", но как энтити вероятно просчитываются. На это намекает разделение уровней на отдельные "сцены", где в каждой миссии только лишь небольшой участок локации имеет повышенную детализацию в виде интерьера или населен неписями.
|
||
цитата |
09.02.2023, 02:43 | #309 | |||
Junior Member Сообщений: 25
Репутация: 25
Detective
|
Кажись нашел в доке GOLOD55. Это старая дока (давно качал еще на мафия пабе)
Развернуть для просмотраfrm_seton xx, yy спрятать или показать объект xx == номер фрэйма объекта yy == 1-видно, 0 - не видно [свернуть] Вообще... Может это я конечно америку открываю... Но все комманды которые относятся к "фреймам" мне напоминают работу с нодами в современных движках... или с теми же гейм обжектами в Unity... Соответственно выключение ноды выключает всю ее иерархию... А значит по логике если актор это верхняя нода объекта то там внутри должна быть нода отвечающая за рендер и она тоже отключится... Добавлено через 20 минут Цитата:
По поводу населенности и неписей. Трафик и пешеходы - это обычный пулинг. Их количество задается как размер пула. Они спавнятся вокруг игрока и деспавнятся соответственно при удалении от игрока. Но они не удаляются из памяти а остаются. По этой причине во фри райде количество гангстеров ограничено и если долго стоять на одном месте и всех расстреливать то рано или поздно они закончатся: трупы лежат и ждут пока игрок уйдет чтобы задеспавниться и вернуться в пулл, а в пуле нет свободных объектов и соответственно они больше не появляются. На счет неписей с сюжетными скриптами то они руками добавлены на сцене, соответственно у них нет пула и они просто отыгрывают свою роль и никто не заморачивался над их оптимизацией т.к. их обычно немного (либо их много но на маленькой сцене - например миссия на яхте). Остальное - лоды и разная детализация моделей в зависимости от того насколько часто и близко игрок их видит... + статическая геометрия (те же дома и стены) + лайтмапы как оптимизация света... Добавлено через 54 минуты Кстати по поводу окклюжен куллинга - он обычно работает только для статичных объектов - просто потому что сцена заранее разбивается на сектора и объекты заранее присваиваются секторам, а во время игры просто проверяется какие сектора видит камера и соответственно отправляет или нет на рендеринг только то что видит. Для динамических объектов обычно пуллинг + лоды, а это то что относится к нашим кастомным объектам Последний раз редактировалось Pelerin; 09.02.2023 в 21:58. |
|||
цитата |
09.02.2023, 20:56 | #310 | ||
#667e34 Сообщений: 1,247
Репутация: 979
Hitman
|
Pelerin, разумеется есть сходства. Многие движковые архитектуры были продуманы еще в 90-х, и все это время поступательно эволюционировали. К сожалению двиг мафии за это время не эволюционировал. В нем есть очень много лимитов, которые может быть и была бы возможность расширить, проведи кто-нибудь полный реверс движка в духе GTA 3 RE. И я очень надеюсь что это осуществиться. А пока имеем что имеем, с не лучшей оптимизацией да еще и проблемами совместимости.
|
||
цитата |