Войти
Unreal EngineФорумBlueprints

Помогите плавно сделать исчезновение NPC при входе в Box Collider (2 стр)

Страницы: 1 2
#15
(Правка: 18:51) 18:49, 31 июля 2022

Тыркай тыркай)
В анриле оно все потом и кровью :)
Вот дистанция Culling'a 3000 (радиус Collision sphere в мобе), clamp 0.66 (в материале)
https://www.youtube.com/watch?v=FwtXvKYygUU&ab_channel=JagMaker

#16
20:20, 31 июля 2022

JagMaker
Спасибо большое! Буду стараться. Тут действительно пока сам не поймёшь, ничего не получится :)

#17
9:26, 1 авг 2022

Так и быть сегодня вечером запишу видосик как сделать.
Единственное скажи - должны исчезать боты когда к ним приближаешься (касаешься квадратом который на персонаже) или твой персонаж когда заходит в какой то квадрат? (я чет этот момент не понял)
И как у тебя на скринах сразу ассет накину лоу поли что бы проще понять тебе было.

#18
11:45, 1 авг 2022

Короче сделал вот такой вариант, писать видос не стал т.к. было не понятно придется импровизировать или нет.
Сделал через маску, с кусочком который предложил JadMaker (мне показалось очень удачным решением т.к. не нужно заморачиваться с топологией модельки, и все ноды материала доступны в отличии от Opacity) параметры подобрал через Instance.
Прозрачность получилась от 0 до 250.
0 - полностью видим.
250 - полностью скрыт.

Выглядит вот так:

Запустить видео по клику - Как делать игрыЗапустить видео по клику - Как делать игры


Разобраться не составит труда.
Ссылка на скачивание проекта.
https://disk.yandex.ru/d/sBVgSw6EkGvJqg

#19
(Правка: 15:12) 15:12, 1 авг 2022

563
Спасибо тебе огромное! Как будет возможность, обязательно изучу и сообщу как чего

#20
(Правка: 10:42) 10:40, 3 авг 2022

563

https://youtu.be/NGdBV5D_xts

Привет! В общем сделал всё как ты записал на видео, заработало, спасибо огромное :)

Только теперь у меня появились вопросы:

1. На видео видно, что когда запускаю игру, видно что NPC виден и видно, как при подходе героя и соприкосновения сферы, он резко исчезает, а потом уже начинает работать скрипт. Как сделать чтобы изначально NPC был невидимым?

2. Сразу то я не просёк, но теперь получается, что у персонажа две сферы коллизии. Одна изначально у него, вторая - это твоя сфера. Но из-за этого теперь возникают трудности с другими box collision где я придумываю всякие системы и получается что герой тригерится по два раза. Удалить-то одну сферу можно, но если остаётся одна сфера, то она должна быть большого радиуса, чтоб NPC начал издалека исчезать. А сфера большого радиуса запускает другие системы раньше, что неудобно.

#21
(Правка: 12:49) 12:39, 3 авг 2022

Humppa
> На видео видно, что когда запускаю игру, видно что NPC виден
Это потоу что он стоит близко к игроку и сфера сразу соприкасается с ним и пока все загружается он становится полностью видимым.
> Как сделать чтобы изначально NPC был невидимым?
Если его поставить дальше он исчезнет и сразу будет не видимым.

> он резко исчезает
Если резко исчезает значит в таймлайне что работает не по плану :)
Посмотрел и да, я лоханулся поставил переменную в ту же фунцию от 0 до 250, а должна быть еще одна которая соответсвует времени от 0 до 2.
Добавил фунцию (назвал Time) и подключил туда переменную.
В функции первая точка (0,0) вторая (2,2) т.е. на второй секунде её значение равно 2м, это что бы время появления назад отматывать.
Таймлайн стал вот таким:
Изображение

Сам блупринт теперь такой:
Изображение

> 2. Сразу то я не просёк, но теперь получается, что у персонажа две сферы
> коллизии. Одна изначально у него, вторая - это твоя сфера. Но из-за этого
> теперь возникают трудности с другими box collision где я придумываю всякие
> системы и получается что герой триггерится по два раза. Удалить-то одну сферу
> можно, но если остаётся одна сфера, то она должна быть большого радиуса, чтоб
> NPC начал издалека исчезать. А сфера большого радиуса запускает другие системы
> раньше, что неудобно.
Ну тут 2 варианта. Или ты будешь считать дистанцию до ботов, и делать их видимыми или нет в зависимости от дистанции до них, или триггерить.
Сейчас ты по сути триггеришь. Для того что бы сфера не триггерилась ты можешь для нее создать отдельный канал назвать скажем PlayerDistance, и игнорировать её.

Для этого заходишь в верхнем меню Edit - Project settings
Слева находишь раздел Collision в нем кнопка New Object Channel
Назовешь PlayerDistance и выберешь Ignore - что бы ни кто её не видел (твою сферу).
Изображение
Я два раза кликнул по созданной что бы ты видел как это.

Теперь заходишь в блупринт твоего перса и выбираешь сферу, в ней находишь коллизии, ставишь пресет Custom и выбираешь ObjectType - твой созданный PlayerDistance
Получилось вот так и его все игнорируют.
Изображение

Заходишь в бота, и выбираешь у него капсулу.
В капсуле находишь коллизии, ставишь пресет Custom, становится доступен список внизу и там есть PlayerDistance в самом низу, на нем стоит галочка Ignore, меняешь её на Overlap.
Получится как на скрине, и теперь только бот может задевать капсулу игрока, а остальные её игнорят.
Изображение

Пример обновил и залил на ту же ссылку.
https://disk.yandex.ru/d/sBVgSw6EkGvJqg

P.S.
Humppa
> Удалить-то одну сферу можно, но если остаётся одна сфера, то она должна быть
> большого радиуса, чтоб NPC начал издалека исчезать.
Ничего не удаляй - первая сфера это капсула игрока, её трогать нельзя.

#22
(Правка: 15:15) 15:12, 5 авг 2022

563
[img=изображение_2022-08-05_151025605 | Помогите плавно сделать исчезновение NPC при входе в Box Collider]

Не! Сфера не задевает его изначально. Добавил функцию в таймлайне, исправил блюпринт, но всё так же

В принципе скрипт работает отлично! Единственно чего нужно это чтоб изначально NPC был невидимым

#23
11:01, 6 авг 2022

Humppa
> Единственно чего нужно это чтоб изначально NPC был невидимым
Ну там же на событие бота - Event BeginPlay стоит смена материала в прозрачность, а переменная для таймлайна стоит в прозрачности.
Ты не забыл это сделать?
В самом первом видео это уже было.
Изображение

Твой скрин в редакторе, а не в запущенном приложении, значит ли это что тебе нужно что бы в редакторе их не было видно?
Если да то перенеси код c Event BeginPlay в Construction Script (скопипасть в соседнюю закладку).
Тогда в редакторе тоже их не будет видно, они будут становиться невидимыми при установке на сцену, но мне кажется так их не удобно редактировать.
Хотя я могу только догадываться, что ты пытаешься сделать в конечном итоге.

#24
6:27, 7 авг 2022

563


Всё! Я нашёл свой косяк! Я случайно на NPC продублировал mesh. 2 skeletal mesh component было. Из-за этого он не исчезал при нажатии плэй.

Спасибо тебе огромное что "повозился" с моей задачей)

#25
6:41, 7 авг 2022

563

И с тригерными каналами тоже всё отлично работает, прям всё как надо! Благодарю!

Страницы: 1 2
Unreal EngineФорумBlueprints