Пятница, 01 Ноября 2024, 03:34

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Как убрать коллизию через blueprints в UE4
gennady21Дата: Пятница, 30 Апреля 2021, 14:39 | Сообщение # 1
был не раз
Сейчас нет на сайте
Здравствуйте, такая тема. Хочу сделать так, чтобы коллизия убиралась до или после того как я удалил обьект, но она не убирается. Пытался многими вещами, но что-то не получалось.
Уже почти чувствую, что я там где нужно, но не могу нормально убрать коллизию для определенного дерева после удаления его.
Получаю все обьекты данного типа, записываю, после делаю перебор, если я пересекаюсь с триггером зоны дерева, тогда я вывожу True(1), перехожу в изменение коллизии, но вот тут начинаются танцы с бубном, вообще не понятно. Если посмотреть через саму игру, то всё меняется на Custom-Pawn-Ignored. Вроде всё должно работать, но нет!!!
Возможно, где-то должна стоять галочка на динамическое изменение коллизии, либо же я не правильно выдаю ссылку на обьект, который должен меняться, но нет...
Этого не может быть т. к обьект то меняет свои свойства коллизии на ignore. Хотя вот полностью на NoCollision не меняет, что странно.
Вот фотки:
https://imgur.com/gallery/xNGF8JC
normal_STДата: Пятница, 30 Апреля 2021, 15:14 | Сообщение # 2
был не раз
Сейчас нет на сайте
Колизия объекта удаляется вместе с самим объектом после DestroyActor, нет нужды вручную её отключать перед этим.

Из чего делается вывод, что что-то работает не так. Смотря на твой код, вижу используется "IsOverlapping", спешу тебя огорчить, эта функция ОЧЕНЬ плохо работает, можешь сам потестить, при идеальных и простейших условиях, она кое-как работает, в ином случае, криво, но это лично мой опыт, да и по моему люди на форумах эпиков тоже жаловались, не помню.

Рекомендую использовать BeginOverlap На тригерах деревьев, заносить дерево которое соприкоснулось с игроком, в массив например, где его хранить дело десятое, например в GameInstance\GameMode, да или самом блюпринте игрока. После чего удалять именно те деревья, с которыми игрок соприкоснулся, а именно все из массива, не забудь после этого массив почистить методом "clear".

Соответственно EndOverlap нужно использовать если игрок перестал быть в тригере дерева, и удалять его из всё того же массива.

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

Удачи.

PS. Если инстанс блюпринта на карте удаляется 100%, но колизия остаётся, то это либо баг, и тут только в ансверхаб идти, либо что-то где-то недосмотрено(скорее всего).
PS2. На всякий случай замечу, что колизия тут отключается у одного из компонентов блюпринта, а не всего блюпринта. Для отключения колизии всему блюпринту есть удобная функция SetActorEnabledCollision.


Recycler свой магазин в пост-апокалипсисе.

Сообщение отредактировал normal_ST - Пятница, 30 Апреля 2021, 15:23
gennady21Дата: Пятница, 30 Апреля 2021, 16:07 | Сообщение # 3
был не раз
Сейчас нет на сайте
В UE4 в TopDown проблема, не убирается коллизия предмета после DestroyActor. Всегда остается, что очень странно. Во всех пробовал, кроме TopDown работает нормально, а именно в нем ничего не получается нормально удалить, остается коллизия. Это можно как-то решить?
normal_STДата: Пятница, 30 Апреля 2021, 19:33 | Сообщение # 4
был не раз
Сейчас нет на сайте
Цитата gennady21 ()
В UE4 в TopDown проблема, не убирается коллизия предмета после DestroyActor. Всегда остается, что очень странно. Во всех пробовал, кроме TopDown работает нормально, а именно в нем ничего не получается нормально удалить, остается коллизия. Это можно как-то решить?


Не имел дела с этим пресетом, только с FirstPerson работал. TopDown это ведь тот же ThirdPerson только камера сверху, и управление мышки изменено скорее всего, так что рекомендую отказаться от PlayerCharacter из этого пресета, и по быстрому сворганить свой, возможно там багулина, не забываем что эти пресеты чуть ли не с первых версий анриала, и там может что-то не работать.


Recycler свой магазин в пост-апокалипсисе.
NavarhДата: Суббота, 01 Мая 2021, 09:03 | Сообщение # 5
частый гость
Сейчас нет на сайте
gennady21, Есть подозрение, что коллизия находится не внутри актера, поэтому и не удаляется при DestroyActor.
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг