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

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

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

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

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

39 ответов

114 просмотров

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

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
Вообще базовая сцена, без ии, стоковые анимации, н...

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

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
Вот о том и речь :) К сожалению, бесплатно ничего ...

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

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

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

Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Вот еще странный косяк, подскажите как бороться. Я git clone сделал себе всего embassy и примеры там запускаю. Всё хорошо. Но вот решил в cargo.toml зависимости не как в приме...
Lukutin R2AJP
5
А в каком формате фреймы? Сам формат сейчас придумываешь, или что-то готовое нужно распарсить?
Okhsunrog
5
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Добрый вечер, Пока не совсем понимаю как наладить общение между телеграм ботом и ПО для работы с сим боксом. По самому боту так понял: - Нужен некий баланс, который можно поп...
Magic
6
Всем привет, нужна как никогда, нужна помощь с IO в загрузчике. Пишу в code16 после установки сегментных регистров, пишу вывод символа. Пробовал 2 варианта: # 1 mov $0x0E, %a...
Shadow Akira
14
Раз начали говорить про embassy, то присоединюсь со своими парой вопросов. 1) Есть ли сопоставимые аналоги для асинхронного кода в emdebbed? 2) Можно ли внутри задач embassy ...
NI_isx
6
сделал сайт, прикрутил в боте сайт, и виджет логина. как автоматически логинить пользователя в аккаунт(телеграм), при входе с бота?
Александра Чернивецкая
5
Карта сайта