| 
	
		
		
			| Как убрать коллизию через 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. |  |  |  |  |  
 |