Войти
ПрограммированиеФорумГрафика

Unity3D: как можно создать volumetric dissolve - эффект?

#0
13:29, 12 авг. 2018

Привет всем!
В играх часто встречается dissolve - эффект. Это когда часть обьекта пропадает по заданной маске. Этот обьект хорошо подходит для имитации сгорания бумаги и еще каких-то плоских и очень тонких обьектов.

Мне нужно сделать сделать dissolve эффект для толстого обьекта. Это что-то типа смеси dissolve & god rays.
В итоге анимация должна дублироваться, что ли, и заполнять пустоту между 2-я (стенками) полигонами толстого обьекта.

Вопрос в том как такое можно сделать? Может кому-то попадалось что-то подобное?


#1
(Правка: 15:43) 14:34, 12 авг. 2018

То есть ты хочешь сделать не просто анимацию альфы, но и заполнить просвечивающее пространство между полигонами. Я думаю тут придется мутить что то воксельное скрещенное с bump. Через bump это сделать можно очень дешево если не делать объект прозрачным, а просто переходить от первого "кожного" слоя текстуры ко второму "обугленному" имея при этом соответственно анимированный bump. Но для полного испепеления придется заморочиться возможно используя адаптированный raymarch или обойтись банальным масштабированием mesh объекта на шейдере, по вершинно съеживая объект в местах сгорания. Во втором случае тут тоже можно обойтись дешевым bump.

Вот тут например это просто альфа.

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

#2
23:04, 12 авг. 2018

Сильно зависит от скорости анимации и "заполненности" окружения. В пылу сражения никто не заметит "заполненности просвечивающего пространства между полигонами"...

#3
23:22, 12 авг. 2018

Alerr
Геометрические шейдеры есть в Unity?

#4
0:41, 13 авг. 2018

GLoom
> Геометрические шейдеры есть в Unity?
Это те, которые позволяют полигоны смещать? Если правильно понял, то есть. Можно смещать вершины.

#5
0:46, 13 авг. 2018

seaman
> Сильно зависит от скорости анимации и "заполненности" окружения. В пылу сражения никто не заметит "заполненности просвечивающего пространства между полигонами"...
В данном случае это хорошо заметят. Игрок находится в камере и у него перед глазами кирпичная стенка должна разобраться по кирпичикам. Dissolve - это только часть эффекта, там еще намешано смещение вертексов ну и прочие мелкие особенности.

#6
0:50, 13 авг. 2018

Alerr
Не смещать а генерировать новые треугольники.
Но даже если бы был то резать на лету геометрию очень тяжело.

Тебе не подайдёт вариант как в Fortine? Делаешь стенку где кирпичи (по одному или группами) привязываются к костям. И анимируешь кости.

#7
10:32, 13 авг. 2018

GLoom
> Тебе не подайдёт вариант как в Fortine?
Наверно подойдет, попробую реализовать

ПрограммированиеФорумГрафика