В этом уроке Вы узнаете, как с помощью стороннего скрипта импортировать анимацию в качестве ключевых форм, что позволяет легко манипулировать физическими симуляциями для достижения желаемого результата.
Финальный результат
Видеоурок
Текстовый урок
Симуляция ткани
Подразделите куб 7 раз (W), дайте ему название, чтобы в дальнейшем отличить от остальных и укажите продолжительность анимации и частоту кадров. Также примените шейдер Smooth:
Перейдите на вкладку физики и настройте симуляцию ткани для куба:
Подымите куб вверх (G|Z|40|Enter), добавьте плоскость, увеличьте ее в размерах (S|50|Enter) и на вкладке физики отметьте для нее пункт Collision, чтобы куб мог с ней взаимодействовать:
Запустите анимацию (Alt + A) и дождитесь завершения симуляции. По ее завершению нажмите на вкладке физики в меню Cloth Cache кнопку Current Cache to Bake. Теперь необходимо экспортировать данную анимацию в формат .obj. Выделите лишь куб, перейдите в меню File — Export — Wavefront (.obj). Создайте папку, назовите ее (например, CubeA), сам файл также назовите cubeA.obj, отметьте все указанные чекбоксы и экспортируйте анимацию в данную папку:
На этом с созданием анимации можно и остановиться, но для лучшего эффекта можно повторить все выше описанное для другого куба. Поставить у него на пути препятствие, например, чтобы он упал отличным образом от первого. Количество кубиков определяете Вы сами, но обязательно экспортируйте анимации в разные папки и давайте им различные имена, чтобы не запутаться в дальнейшем.
Преобразование физики в анимацию ключевых форм
Создав все анимации создайте новый файл (Ctrl + N). Снова установите продолжительность анимации и частоту кадров, как мы делали это на первом шаге. Откройте окно Text Editor и загрузите в него данный скрипт. После нажмите кнопку Run Script и закройте данное окно (мы скоро воспользуемся данным скриптом). Также удалите дефолтные куб и лампу:
Импортируйте первый файл анимации (File — Import — Wavefront (.obj) — CubeA_Cube.001). Выделите куб, откройте вкладку Object Data и создайте ключевую форму. Выставите настройки как показано на изображении и анимируйте параметр Evaluation Time. 1-й кадр — значение 0, 400-й кадр — значение 4000.
Откройте окно Graph Editor и измените тип интерполяции на линейный (T — Linear). Теперь, настало время для применения запущенного скрипта. Нам нужно импортировать все .obj файлы как ключевые формы. Перейдите в меню File — Import — OBJ as Shape Keys. Выделите все файлы за исключением первого и импортируйте. Теперь можно проиграть анимацию. Как видите, теперь это просто 400 ключевых форм, нет никакой физики и мы можем делать с данным кубом все что угодно (вращать, перемещать, менять центр объекта и т.д.).
Давайте изменим центр объекта. Выберите последнюю ключевую форму, перейдите в режим редактирования, переместите курсор к выделенным вершинам куба и затем в объектном режиме установите центр объекта в месте расположения 3D-курсора.
Если у Вас несколько кубиков, то как Вы могли догадаться, нужно проделать все тоже самое для каждого из них :)
Когда все анимации кубиков будут готовы, нужно будет расположить их желаемым образом. Ниже один из примеров для удобной работы. Вы можете расположить окна также, или выбрать рабочее пространство Animation. Настроив рабочую область, примените к кубикам модификатор Subdivision Surface, расположите первый в центре координат и примените вращение (Ctrl + A — Rotation). Заново добавьте плоскость в качестве пола:
Перемещайте кубики, дублируйте, вращайте… создавая свою собственную сцену. Чтобы все они не падали в один и тот же момент времени, смещайте их анимацию с помощью окна Graph Editor. Для этого выбираете нужный кубик, наведите курсор в окно Graph Editor и с помощью клавиши G смещайте кривую по оси X (например, G|X|60|Enter). Проигрывайте анимацию, следите за тем, чтобы кубики не пересекали друг друга и добивайтесь желаемого результата:
Настройка освещения и материалов
На вкладке мира загрузите HDR-карту, настройте ее силу, координаты и угол вращения:
Выберите пол и настройте для него следующий простой материал:
Теперь создайте еще 3 материала для кубиков (можно больше/меньше) и распределите их среди них. В данном уроке использовались два шейдера Glossy и один Glass (IOR — 1.33):
Настройка камеры и финальный рендеринг
Выберите камеру, отрегулируйте ее положение, если оно Вам не нравится, настройте фокусное расстояние и глубину резкости. В примере использовалась пустышка в качестве фокуса и она была анимирована. В начале анимации, когда кубик один, пустышка находилась возле него и соответственно весь фокус был на кубике. Ближе к концу анимации пустышка приблизилась к камере, таким образом дальние кубики стали размытыми и весь фокус сосредоточился на ближайших к камере кубиках. Попробуйте — это весело :)
На вкладке рендера настраиваем разрешение, формат, указываем папку (производим довольно жесткие для исторических процессоров настройки), а также анимируем параметр Seed (0 — на 1-ом кадре, 4000 на 400-ом кадре). Делается это для создания различных вариаций шума, что даст еще более чисты рендер на выходе.
Вот собственно и все! Делимся своими прыгучими кубиками в комментариях!
А у вас рендерилось сколько?
Паралельно в разынх местах на один и тот же вопрос отвечаю (:smile:)
Между 3-4 часами.
c моим проццом на дня 2 затянется…
и спасибо за урок
Отличный урок! Спасибо!
Спасибо за урок.
P.S. Чтобы скрип работал в Linux-ах, необходимо в 55 сточке символы \ заменить на //
Т.е. строчку fp = spath[0] + «\» + f привести к виду fp = spath[0] + «//» + f
Интернал
(:wonder:)
Я бы хуже не смог…
Зачем ты так?
Сам не знаю(
Спасибо, Артем.
Наколдовал такое:
На скорую руку сделал. Но тема очень интересная! Чтобы скрипт не потерять при перезапуска блендера нужно сохранить настройки? или как
В версии 2,74 из куба получается лепёшка,а в версии 2,68 всё нормально,в чём причина?
Да, в 2.74 пришлось использовать softbody. Непонятно, зачем Артём учит здесь использовать cloth? Используя softbody, удалось добиться, как мне кажется, того же, а cloth настроить так и не получилось. Cloth-таки для http://www.youtube.com/watch?v=ySyQsLD_7GM как мне кажется.
«Да, в 2.74 пришлось использовать softbody»
Пришлось!? Почему? (:wonder:)
И по вашему симуляцию ткани необходимо использовать лишь для ткани? Как в таком случае создавать физические объекты, для которых нет настроек в Blender?
Если пойти дальше, то это перевод урока и столь «не обычный» способ выбрал не Артем. И опять же возвращаемся к первому пункту. А что если достичь подобного эффекта физикой твердых тел? Какая разница, как создать эти кубики? Объясните разницу между мягким телом и тканью? Для начала себе (:smile:)
Ну-ну-ну, это не наезд ни в коей мере. Тем более, говорил я не Вам)))
Артем, ещё раз — данный туториал (а конкретно, настройки cloth) не подходит для 2.74, мне так и не удалось настроить модификатор cloth для данного поведения — а soft body удалось, и это выходит проще, чем с помощью тряпки. Вот и вся разница для данного случая.
Как создавать? Правда? Ручками, да головой(:sly:)
Это все хорошо, но что поменялось с «тряпками» в 2.74? Если проще и нравится делать по другому — на здоровье, но и в 2.74 и 2.75 это делается одинаково, так что не в версиях проблема, а в пользователе. (:sly:)
К человеку, юзаещему 2.75, вопросов больше не имею))) Но, с твоим-то опытом, грешно тупо переводить чужие туториалы — коментировал бы хоть суть всех этих параметров, чтобы у самого в голове откладывалось, зачем они, и не приходилось у меня, с опытом в блендере без году неделя спрашивать, почему для тряпки нужно использовать cloth, а для желеобразных кубиков — soft body.
Ещё раз: данные настройки в 2.74 не приводят к вышеописанному поведению объекта.
Я вот сейчас вообще не понял…
Ты заявляешь, что я не понимаю что делают параметры в уроках, которые я перевожу, да еще и то, что я у первого прохожего спрашиваю разницу между cloth и soft? (:wonder:)
Если это не плохая шутка, которую я не понял, то я не знаю как это назвать…
Еще раз: версия тут не при чем. Симуляция ткани не менялась уже очень давно. Я не знаю где ты совершил ошибку. Если и дальше будешь настаивать на своем — на здоровье! У меня больше нет аргументов.
В самом начале — ну не шейдер smooth, а шейдинг же!
Да, так правильнее! (:smile:)
Артем скажите пожалуйста почему в версии 2.74 кубик получается как лепёшка??? Делаю все по уроку! В чем может быть проблема?
Доброго времени суток!
Столкнулся с такой же проблемой, как пользователи «Sergey», «Scud» и «didestra»: результат симуляции отличен от того, что получилось у Вас в уроке, куб теряет свою форму…
Если судить по отзывам, возможно это действительно проблема версии 2.74? Как видите с данной проблемой сталкиваются лишь владельцы данной версии.
Спасибо! Все получилось :)
это больше желешки
Прикольно получилось.
Спасибо за урок!
А почему этот урок называется симуляцией ткани а не мягких тел??