Render.ru
Поддержать
Сохранить
kilo1991
ПОДПИСАТЬСЯ
  • ПРЕДЛОЖИТЬ ПРОЕКТ
  • ДОБАВИТЬ В КОНТАКТЫ
6Записей
0Следят
0Читает
716 KЗаходов

Создание резинового логотипа

Урок

Всем привет!

Снова предлагаю вам обратиться к прелестям жидкой среды. Хотя на этот раз она будет не совсем жидкой. Я хочу воспроизвести процесс создания резиновой игрушки в форме логотипа. Для этого нужно сделать модель логотипа. Заполнить его жидкостью, которая очень быстро застывает и превращается в эластичную резину. Этот резиновый объект вываливается из своей формочки и падает на поверхность, всем своим поведением показывая, что резина, из которой он сделан очень качественная ;-))

В качестве логотипа используем букву R. Почему бы нет?!

Открываю 3DS Max.

Устанавливаю единицы измерения.

 Создаю текст. Выдавливаю. Конвертирую в Mesh.

 

Можете загрузить готовый max-файл (ссылка на файл R.max)

Экспортирую в sd-формат.

Можете загрузить готовый sd-файл. (ссылка на файл R.sd)

Открываю RealFlow4 (3-я версия не годится).

В Preferences… указываю 25 кадров в секунду и систему координат для MAX

Указываю масштаб преобразования для MAX.

 Импортирую полученный объект.

Создаю плоскость для имитации поверхности земли.

 

Создаю гравитацию

Создаю эмиттер, который будет заполнять мой логотип

В 110 кадре ставлю ключ для параметра Speed=0 (выключаю генерирование частиц). Предполагаю, что внезапно закончилась резина.

Т.е. в 109 кадре speed = 2, а 110 кадре speed = 0. Пользуйтесь правой кнопкой мыши.

Создаю эмиттер, частицы которого впоследствии станут основой резинового изделия.

Его положение в пространстве не имеет значения, поэтому немного отодвигаю его, чтобы не мешал. Указываю Type – Elastics, Spring – 2000 (это будет мягкая резина, почти желе), Speed – 0 (эмиттер не должен сам создавать частицы)

Указываю, что на первый эмиттер Circle01 действует объект логотипа и гравитация, а на второй эмиттер Circle02 – плоскость и гравитация.

Создаю Mesh.

Щелкаю правой кнопкой и присваиваю Mesh сразу двум эмиттерам.

Настраиваю первую оболочку

И вторую точно также.

Запускаю симуляцию

 

Смотрю, что у меня получилось. Примерно в 125 кадре жидкость занимает положение, которое я хочу сохранить в форме резинового изделия. Положение надо сказать довольно кривое, но интересное. Предполагается, что кончилась резина.

Открываю окно Event Script (F11)

В нем загружаю файл скрипта script.rfs (ссылка на файл script.rfs)

Посмотрим, как он работает

#1 – строка означает, что команды находящиеся внутри этой функции будут выполняться каждый кадр симуляции (все, что находится за знаком # просто комментарии для пользователя и компьютер их не замечает)

#2 – программа проверяет текущий кадр и если он равен 125, выполняются дальнейшие операторы, а если нет – игнорирует операторы, находящиеся в её теле. В нашем случае это все дальнейшие операторы. Если вы хотите заморозить жидкость раньше или позже 125 кадра исправьте эту цифру.

#3 – создаю переменную flow, которая теперь будут означать для программы первый эмиттер. Если вы назвали его по-другому – переименуйте эмиттер или исправьте его название в строке скрипта. В противном случае скрипт не сможет работать.

#4 – создаю переменную rubber для второго эмиттера.

#5 – создаю переменную particles в которую записываю все частицы первого эмиттера. Он сохранён в переменной flow. См. строку #3.

#6 – создаю векторную переменную speed и присваиваю ей нулевые значения по всем осям.

#7 – эта строка создаёт цикл. Все строки, находящиеся в её теле (#8,#9,#10) будут выполняться для каждой частицы из первого эмиттера Circle01 (flow). Этот оператор будет перебирать все частицы одну за другой, и выполнять дальнейшие действия над каждой.

#8 – записываю в переменную pos координаты текущей частицы.

#9 – для второго эмиттера (rubber) создаю новую частицу с координатами, записанными в переменной pos и скоростью равной нулю (speed равна нулю см. #6).

#10 – удаляю текущую частицу из первого эмиттера (flow).

Затем скрипт возвращается к строке #7, переходит к следующей частице, и так пока все частицы не будут пройдены.

В результате выполнения скрипта все частицы первого эмиттера Circle01 будут удалены, а на их месте появятся частицы эмиттера Circle02.

Активирую скрипт

Запускаю симуляцию.

Проверяю результат. Логотип наполняется жидкостью. В 110 кадре подача жидкости прекращается. В 125 кадре жидкость застывает и падает на плоскость. Осталось поправить некоторые параметры по желанию.

Этот урок не ограничивается созданием резиновых изделий. Меняйте параметры второго эмиттера и получайте упругие объекты на свой вкус. Но это уже тема для следующего урока, если конечно это вас заинтересовало.

Вот и всё, что я хотел на этот раз рассказать. Я только коснулся темы использования скриптов в RF, но надеюсь, вы поняли насколько это серьёзный инструмент. Поэтому обязательно в будущем напишу целый урок о скриптах.

Можете загрузить готовый результат.

Всего хорошего. Пишите отзывы.

432
Комментарии:0
по поступлениюВсе языкиТолько русский