Всем привет. Кто поможет решить задачку? Я создаю капсульные коллизии

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

Проблема в том, что не знаю как получить точное название каждой капсулы. Например вместо CapsuleChest у меня пишет BP_Player1_CapsuleChest.

В меш стрелять не хочу, т.к. коллизии на меше слишком дорого.

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

39 ответов

43 просмотра

а зачем еще капсулы? у тебя же физ ассет есть

Alexandr- Автор вопроса
NoCodeBugsFree
а зачем еще капсулы? у тебя же физ ассет есть

он разве не от коллизии скелетал меша идёт?

Alexandr
он разве не от коллизии скелетал меша идёт?

Зависит от того комплексный трейс ты кидаешь или нет

Alexandr
он разве не от коллизии скелетал меша идёт?

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

Alexandr- Автор вопроса
Aleksei Gagarin
ну и каждый раз когда используешь слова "дорого" и...

Дорого и очень дорого - это когда загружаешь 50 нпс со включенными коллизиями от скелетал меша и отключёнными - фпс с 60 падает до 20-30. Поэтому я хочу делать логику на капсулах

Alexandr
Дорого и очень дорого - это когда загружаешь 50 нп...

Ты перепутал тёплое с мягким в данном случае. Термин "выключенная коллизия" - это довольно обширное понятие. В условном физиксе (и хаосе) все типы физическим взаимодействий делятся на 2 категории - симуляция и запросы. Симуляция - это то что тебя условно волнует каждый физический тик, потому что в зависимости от сложности и конфигурации сцены велика вероятность, что твои объекты в неё попадут и нагрузка действительно возрастёт. Запросы (queries) - это то, что тебя тоже волнует практически каждый тик, но с ними сложнее. Расходы на них повышаются тогда, когда кто-то начинает опрашивать твою физическую сцену, например через трейсы, оверлпапы и т.д. и т.п. Но если ты чётко контролируешь где, когда и что запрашивается, то стрельнуть комплекс трейсом в тримеш персонажа обычно никакой проблемы нет.

Alexandr
Дорого и очень дорого - это когда загружаешь 50 нп...

И ты совершенно напрасно думаешь, что логика на капсулах - это что-то принципиально иное в отличие от физического ассета. Абсолютно то же самое, разница только в каких-то настройках, которые ты быть может чуть правильнее подобрал на капсулах, но забыл настроить на меше

Alexandr- Автор вопроса
Aleksei Gagarin
Ты перепутал тёплое с мягким в данном случае. Терм...

ну вот смотри есть базовый вообще проект, чтобы точно ничего не отвлекало. В нём 50 чарактеров для наглядности. В первом случае включен только query и фпс как мы видим 45. Если выключено всё, то фпс 66. Разница как по мне велика. Значит query тоже ест не мало даже на простое?

Alexandr
screenshot ну вот смотри есть базовый вообще проект, чтобы то...

Что-то у тебя маленький фпс для 50 персонажей. Что за «физика включена» у тебя, конкретно? Профилировать вообще-то надо такие вещи, хотя бы stat game и stat physics + query для начала. Там будет видно, что происходит. Может, просто настройки какие-то неправильные включены.

Alexandr- Автор вопроса
Михаил Никонов
Что-то у тебя маленький фпс для 50 персонажей. Что...

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

Alexandr
Это просто демо проект для примера, чтобы как раз ...

Ок. Ты уверен, что у тебя не из-за рендеринга просаживается фпс? Может, манекены без ЛОДов? На скринах видно, что физика у тебя вся потребляет 0.53ms. Немного тратит char movement (он тоже делает query периодически), в пределах нормы. Куда девается остальное время? И, кстати, сделай еще stat PhysicsQuery (или как там правильно), чтобы точно знать сколько занимают query.

Alexandr- Автор вопроса
Михаил Никонов
Ок. Ты уверен, что у тебя не из-за рендеринга прос...

Лоды есть, я пробовал даже 1 треугольник оставлять в лодах вообще для сравнения - ну прирост фпс конечно есть логичный, но буквально кадра 3-5. Пробовал в лодах удалять кости - тоже ерунда. из физики только вот это нашёл (

Alexandr
Лоды есть, я пробовал даже 1 треугольник оставлять...

Кости непричем. Посмотри stat unitgraph и постарайся понять, на чем все-таки просаживается фпс - на рендеринге (gpu, drawcalls) или на игре (game)? Если на игре, то, может, у тебя AI очень прожорливый (stat ai)? Или анимация (stat anim)? Звук (врядли конечно)? Или у тебя просто комп очень медленный?

а с женского аккаунта бы сработало)

Alexandr- Автор вопроса

Вообще базовая сцена, без ии, стоковые анимации, ничего нет. Вот прям вообще ничего, ни звуков. Как раз для теста её создал. комп Rysen 5500, Geforce 1650. Вроде должно справляться.

Alexandr- Автор вопроса
Alexandr
Вообще базовая сцена, без ии, стоковые анимации, н...

Загадочно. Ты вроде на физику грешил? Что там могло быть криминального в физике? Симуляция какая-то дорогая прямо во основном физикс ассете персонажа? Вроде больше ничем не просадить фпс настолько.

GROUPER
🫡 тогда меня помянем...

Сочуствую, бро, но не знаю, что посоветовать. Я только в Анриле шарю...

Alexandr- Автор вопроса
Михаил Никонов
Загадочно. Ты вроде на физику грешил? Что там могл...

Вот и я не понимаю. 3й день сижу, уже до кастылей дошёл в виде отключения коллизий на меше и создания примитивов. Решил спросить здесь) Когда я отрубаю коллизии на скелете то фпс вырастает до 80-90 на той же сцене. Проект повторюсь базовый только создал для теста, никакой логики вообще нет.

Alexandr
вот ))

Может, тут анимация дорогая? Вроде теперь по умолчанию манекен какой-то усложненный с кучей костей и наворотами.

Alexandr
screenshot ну вот смотри есть базовый вообще проект, чтобы то...

Query, как я и говорил, тоже влияет, потому что те или иные сущности постоянно опрашивают сцену (элементарно твой персонаж с CharacterMovement), но я пытался тебе сказать, что просто вешать капсулы на персонажа - это не решение проблемы, это просто ручная эмуляция физического ассета, которая даст тебе ту же самую нагрузку. Просто убедись, что меши не используют оверлапы и потом упрости физ ассет, ты увидишь, как фпс поднимется

Alexandr- Автор вопроса
Aleksei Gagarin
Query, как я и говорил, тоже влияет, потому что те...

Оверлапов у меня на меше нет (если я правильно понял о чём вы). Используется только query. Пробовал ставить полную коллизию (query and physics) фпс такой же, что и без физики 1 в 1. Без аним БП разница конечно есть в 10 фпс (50 вместо 40 при 50 чарактерах). Но с отключённой коллизией прирост до 80 фпс. Подскажите как можно упростить стандартный физ ассет и имеет ли это смысл?

Alexandr
Вот и я не понимаю. 3й день сижу, уже до кастылей ...

Что за коллизии ты вырубаешь, конкретно? Может, это что-то, что и не нужно по логике?

Alexandr- Автор вопроса

Да

Alexandr
Да

Теперь ясно. На скриншоте PhysicsAsset выглядит адекватно - экономно и по делу. Обычно в большинстве жанров (в стрелялках, например) QueryOnly включен у персонажей. Иначе как ловить попадания в персонажа? Обвешать капсулями вместо PhysicsAsset - не вариант, это немного дороже по производительности при той же функциональности.

Alexandr
screenshot Оверлапов у меня на меше нет (если я правильно пон...

Можно и нужно, если это требуется для твоих целей. Просто проведи эксперимент - снеси у этого ассета всё, кроме каких-нибудь 5 объектов и посмотри на результат

Alexandr- Автор вопроса
Aleksei Gagarin
Можно и нужно, если это требуется для твоих целей....

Кстати говоря прирост очень ощутимый. Тогда я просто упрощу физ ассет. Теперь я наконец-то понял) Спасибо вам ребят!

Alexandr
Кстати говоря прирост очень ощутимый. Тогда я прос...

Вот о том и речь :) К сожалению, бесплатно ничего сделать нельзя, но можно попытаться правильно использовать имеющиеся возможности

Alexandr- Автор вопроса
Aleksei Gagarin
Вот о том и речь :) К сожалению, бесплатно ничего ...

Спасибо) просто не сразу понял о чём речь)

Похожие вопросы

Обсуждают сегодня

Какого хера? /Sources/App/Modules/User/Models/UserLinkApple.swift:21:20: warning: stored property '_id' of 'Sendable'-conforming class 'UserLinkApple' is mutable @ID(...
Alexander Sherbakov
14
У тебя в конфиге нигде нет deny all; или вообще любого deny?
Alexander Sherbakov
10
Портфолио: Зовут меня Александр, мне 36 лет. Город Пушкино. Общий рабочий стаж: ~14 лет Уровень квалификации: Senior Full-stack developer Где прочесть мой код? https://github....
Magic
10
Портфолио: Зовут меня Александр, мне 41 год. Город Киров. Общий рабочий стаж: ~14 лет Уровень квалификации: Senior Full-stack developer Где прочесть мой код? https://github.co...
Magic
11
Приветствую всех, есть вопросик. Передали проект на OctoberCms, без инсталяшки в полуразвернутом виде, нужно было залить бекап бд, после залития бд, оказалось, что части строк...
Лео
14
Подскажите, пожалуйста, где в backende, или не в нем можно дату поправить? Логирует действия не в том часовом поясе
Лео
7
Есть магистры regex в чате? Задача: нужно написать regex который мэтчит полные (без сокращений по типу ::1/128) ipv6 адреса кроме 2001:0df7:cef7:29f7:52f7:adf7:2cf7:4ff7, при ...
Илья
5
люди а напомните, пожалуста, как называется алгоритм поиска текста который допускает ввод ошибок? Например есть несколько строк: Trigun Trigun: Stumpeede Мне нужно что бы ...
Куся 🌿⃤ __UKS
2
посыпаю голову пеплом =) https://docs.vapor.codes/advanced/files/?h=stream#files
Seryoga
10
Всем привет В общем надо на странице вакансии вывести вакансии с hh, но когда я пишу код в разделе Code ошибка Invalid URL format. The URL should start with the forward slash...
A da
1
Карта сайта