Render.ru

Как детализировать разрушение?

Рейтинг
24
#1
Я опять вернулся с вопросом.
Хочу сделать разрушение земди при попадании в нее снаряда/метеорита.
Сначало думал вороным воспользоваться для разбиения земли на мелкии куски, но как-то совсем не красиво получается, да и куски не могу делать достаточно малыми потому что комп тормозит обрабатывать несколько десятков, а то и сотен тысяч кусков. Потом решил разрезать землю гридом с помошью булиана,чтоб куски выглядили более органичными, но опять возникает та же проблема - они все равно остаются большими.
Наткнулся на вот этот демо рил
На 0:25мин увидел как раз то, что мне нужно. Там идет, сначало, разбиение земли вороным и сохранение симуляции, а потом добавление детализации на готовую симуляцию. Как такое делается?
 

maiden666

Мастер
Рейтинг
110
#2
ну так стандартный путь - добавить дебрИ партиклами, которые будут генерировать боковые грани
 

maiden666

Мастер
Рейтинг
110
#4
чего там искать, во-первых, в 17-й есть новый нод, не помню название, там Material-Based RBD, или как-то так (у меня её нет), который вообще всё, даже констрейнты, делает за тебя, неровные края тоже, а так, у Энтагмы есть хороший видос про Pre-fracture transform
Я так понимаю, ему мелкие обломки нужны, а не просто красивые неровные края
 
Рейтинг
31
#5
нода в 17 делает все круто но все равно на рендере надо дисплейсмент накидывать. По видео что автор выложил я понял ему неровные края нужны, потому что добавление мелких кусков это же часть симуляции и без этого вообще никак
 
Рейтинг
24
#6
Мне нужно добавить мелкие обломки к основной симуляции. Как видно по видео, сначало была сделана основная симуляция больших обломков. Потом, на основе этой симубяции, была сделана вторичная симуляция с добавлением разных, более мелких обломков.
Может быть и можно было было бы слелать их через ноду Debris с следующим добавлением на них какого либо случайного обломка через copytopoint ноду с рандомным pscale, но в таком случае все эти обломки будут одинаковой формы, лишь с назныи размерами. А если присмотреться к обломкам из ролика, можно заметить, что они отличаются не только по размерам, но и по своей форме. Т.е. было сделано не простое инстансирование какого либо обломка на точки, а как-то по другому. И вот меня как раз интересует данная техника.
А что касается краев обломков основной симуляции, до этого тоже нужно будет дойти. Наверно делается через дисплейсмент. Я пока что не знаю.
В общем, что касается детализации, я с эмим еще не знаком, вот и интересуюсь, как?
 

maiden666

Мастер
Рейтинг
110
#7
я же сказал - элементарно, партиклами. Берёшь их в допимпорте, задаёшь рэндомный Pscale, и копируешь на них мелкие обломки, хорошо это делать через Форич, чтобы копировать не один и тот-же кусок, а разные
 
Рейтинг
24
#8
я же сказал - элементарно, партиклами. Берёшь их в допимпорте, задаёшь рэндомный Pscale, и копируешь на них мелкие обломки, хорошо это делать через Форич, чтобы копировать не один и тот-же кусок, а разные
Я так и не могу понять, как это сделать дерез форич. Можно файл с простым примером, чтоб видеть как это выглядит?
 

maiden666

Мастер
Рейтинг
110
#9
это по разному можно, сделать, в идеале через работу с инстансами, но я эту тему плохо помню, поэтому вот самый простой вариант - Форич здесь нужен просто для того, чтобы обрабатывать Пойнты по одному, три разных обьекта подключены через Свитч, которому добавляем Spare Input, принимающий номер итерации, всё видно на фото
1.jpg
2.jpg
 
Рейтинг
24
#10
У меня 16 версия. Поэтому, данный метод не работает. Что означает "-1" в detail? На том месте обычно прописывается имя ноды.

Я сегодня, все же смог раскопать способ рандомизировать любое количество обломов на точках и подогнал его под свои нужды). Я вместо свича подключил Форич который обрабатывал все входящие обломки. А на точки назначались обломки выбраные случайным образом через рандомный атрибут ID (назначенный переменной pointID). Этот атрибут был номером обломка который прописывался в foreach_end через stamp("../copy1/","pointID",0).
Теперь, наконец-то, я знаю как добавлять мелкие детали.
Осталось разобраться с дисплейсментом.
 

maiden666

Мастер
Рейтинг
110
#11
-1 означает ссылку на Spare Input, в котором, в свою очередь, ссылка на номер итерации
в 16-й это должно, единственно, не уверен за Compiled Blocks
 
Сверху