Всем привет!
Хочу в Unreal Engine сделать такую штуку: чтобы я бегал в пещере, но в ней есть как бы дырки через которые проходит солнечный свет сверху, и собственно на земле от этих дырок светлые пятна.
Делать можно это большим количеством объектов, но не хочется - долго и неоптимально, делать условно платформу с дырками в виде модели сложно (см. изображение, дырки тут непросто сделать в таком же виде). Поэтому хочется взять какой-то материал, наложить на платформу (плоский квадрат в UE) и пропустить свет через вот это.
Можно ли так сделать? И как, если можно?
маскед материал.
Только учти, что тормозов такое добавляет. Непрозрачные фасетки рисуются от ближних к дальним и заслоненные дальние благополучно отсекаются по z-буферу. Прозрачные рисуются отдельно по иным алгоритмам, иногда сбойным, рисуются всегда все. Чтобы не сбоило, прозрачные не должны пересекаться, оно само их не порежет, отсортирует "как-нибудь", а в таких случаях любой порядок не верен.
Masked не является прозрачным и рисуется как обычный статик. У него же нет полупрозрачных частей. Либо Да, либо нет. Поэтому его не нужно сортировать.
Kemanorel, Zab, @!!ex,
Спасибо!
Залез в анрил и стал с этим работать. По итогу сделал материал как на скрине ниже и нацепил его на объект shape_pane из базового контента проекта. Blend mode выбрал translucent. Вот скрин какой материал сделал:
Объект выглядит как у Kemanorel, но свет через эту штуку либо не проходит полностью, либо проходит (снимок ниже). Подскажите, плз, каких действий не хватило?
Amazikin судя по нижнему скрину, у тебя сам материал излучает.
По этому вокруг всё жёлтое, а где дыры - синее и тоже во все стороны. Попробуй цвет поменять на розовый и "тени" от дырок будут иметь зеленоватый оттенок.
Не надо translucent. Это как раз полупрозрачный материал, и там на каждый треугольник сортировка идет, что достаточно дорого. Ну и в большинстве случае translucent материалы не являются прозрачными для тени, поэтому просто не будут работать.
Чем Masked не устраивает?
только что проверил - translucent не отбрасывает тень, с masked все ок. ставь маскед, и транслюсент тебе не нужен, судя по текстуре. ну и наркоманию с блендом и лерпом можно убрать в материале, там достаточно так:
цвет - в base color
маску - в opacity mask
Amazikin
> Blend mode выбрал translucent
"маскед материал."
Чукча не читатель? Чукча писатель?
Brox
можно и translucent заставить тень отбрасывать, но дорого.
Kemanorel
да я про дефолтные настройки имел ввиду, вряд ли ТС чето там настраивал, что у него в транслюсенси тень отвалилась.
погуглил, кстати, как включить и у меня не включается :)) а как?
Kemanorel, Brox, flint2, @!!ex,
Ребята, всем огромное спасибо! Справился - две вещи сделал: поставил blend mode в ноде вывода = masked, и соединил карту, которую в первом рисунке приложил, НЕ в opacity, а в Opacity Mask(!). Всё сработало!
Kemanorel, Brox, flint2, @!!ex хз, тут на сайте есть лайки или т.п.? Всем бы вам поставил.
Brox
Версия 5.4 поддержка теней от прозрачных материалов.
Параметр Support Translucent Self Shadowing в настройках проекта.
В параметрах меша включить - Volumetric Translucent shadow.
В параметрах источников света включить - Cast Translucent Shadows.
В Direction Light данный параметр включен по умолчанию.
Kemanorel
спасибо, вот про галку в настройках проекта не было нигде указано.
Amazikin
> хз, тут на сайте есть лайки или т.п.?
неа :)