Unreal EngineФорумФизика

"Дырявый" материал

#0
12:28, 8 фев 2025

Всем привет!

Хочу в Unreal Engine сделать такую штуку: чтобы я бегал в пещере, но в ней есть как бы дырки через которые проходит солнечный свет сверху, и собственно на земле от этих дырок светлые пятна.

Делать можно это большим количеством объектов, но не хочется - долго и неоптимально, делать условно платформу с дырками в виде модели сложно (см. изображение, дырки тут непросто сделать в таком же виде). Поэтому хочется взять какой-то материал, наложить на платформу (плоский квадрат в UE) и пропустить свет через вот это.

Можно ли так сделать? И как, если можно?

[img=Holes 2 | "Дырявый" материал]
#1
15:31, 8 фев 2025

маскед материал.

+ Показать
#2
19:07, 8 фев 2025

Только учти, что тормозов такое добавляет. Непрозрачные фасетки рисуются от ближних к дальним и заслоненные дальние благополучно отсекаются по z-буферу. Прозрачные рисуются отдельно по иным алгоритмам, иногда сбойным, рисуются всегда все. Чтобы не сбоило, прозрачные не должны пересекаться, оно само их не порежет, отсортирует "как-нибудь", а в таких случаях любой порядок не верен.

#3
19:16, 8 фев 2025

Masked не является прозрачным и рисуется как обычный статик. У него же нет полупрозрачных частей. Либо Да, либо нет. Поэтому его не нужно сортировать.

#4
7:53, 10 фев 2025

Kemanorel, Zab, @!!ex,

Спасибо!


Залез в анрил и стал с этим работать. По итогу сделал материал как на скрине ниже и нацепил его на объект shape_pane из базового контента проекта. Blend mode выбрал translucent. Вот скрин какой материал сделал:
Снимок (5) | "Дырявый" материал

Объект выглядит как у Kemanorel, но свет через эту штуку либо не проходит полностью, либо проходит (снимок ниже). Подскажите, плз, каких действий не хватило?

Снимок (7) | "Дырявый" материал
#5
11:10, 10 фев 2025

Amazikin судя по нижнему скрину, у тебя сам материал излучает.
По этому вокруг всё жёлтое, а где дыры - синее и тоже во все стороны. Попробуй цвет поменять на розовый и "тени" от дырок будут иметь зеленоватый оттенок.

#6
(Правка: 11:42) 11:32, 10 фев 2025

Не надо translucent. Это как раз полупрозрачный материал, и там на каждый треугольник сортировка идет, что достаточно дорого. Ну и в большинстве случае translucent материалы не являются прозрачными для тени, поэтому просто не будут работать.
Чем Masked не устраивает?

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

#7
11:44, 10 фев 2025

только что проверил - translucent не отбрасывает тень, с masked все ок. ставь маскед, и транслюсент тебе не нужен, судя по текстуре. ну и наркоманию с блендом и лерпом можно убрать в материале, там достаточно так:
цвет - в base color
маску - в opacity mask

#8
13:35, 10 фев 2025

Amazikin
> Blend mode выбрал translucent
"маскед материал."

Чукча не читатель? Чукча писатель?

#9
13:36, 10 фев 2025

Brox
можно и translucent заставить тень отбрасывать, но дорого.

#10
18:44, 10 фев 2025

Kemanorel
да я про дефолтные настройки имел ввиду, вряд ли ТС чето там настраивал, что у него в транслюсенси тень отвалилась.

погуглил, кстати, как включить и у меня не включается :)) а как?

#11
19:10, 10 фев 2025

Kemanorel, Brox, flint2, @!!ex,

Ребята, всем огромное спасибо! Справился - две вещи сделал: поставил blend mode в ноде вывода = masked, и соединил карту, которую в первом рисунке приложил, НЕ в opacity, а в Opacity Mask(!). Всё сработало!

Kemanorel, Brox, flint2, @!!ex хз, тут на сайте есть лайки или т.п.? Всем бы вам поставил.

#12
19:18, 10 фев 2025

Brox
Версия 5.4 поддержка теней от прозрачных материалов.

Параметр Support Translucent Self Shadowing в настройках проекта.
В параметрах меша включить - Volumetric Translucent shadow.
В параметрах источников света включить  - Cast Translucent Shadows.

В Direction Light данный параметр включен по умолчанию.

#13
(Правка: 21:38) 21:34, 10 фев 2025

Kemanorel
спасибо, вот про галку в настройках проекта не было нигде указано.

Amazikin
> хз, тут на сайте есть лайки или т.п.?
неа :)

Unreal EngineФорумФизика