Физическая симуляция
Иногда нужно наполнить что-то чем-то или просто уронить несколько предметов на пол для эффекта разбросанности. Для этого в Boxshot есть инструмент Physics.
Инструмент Physics применяет гравитацию к выбранным объектам сцены, оставляя остальную сцену статичной. Выбранные объекты падают, реалистично сталкиваясь с остальной сценой. Boxshot продолжает симуляцию, пока объекты не остановятся. Процессом можно управлять с помощью множества параметров.
Вот пример того, что можно сделать с помощью инструмента (спасибо Wojciech).

Начнём
Создайте очень простую сцену из двух сфер. Одна побольше, стоит на полу, другая поменьше, висит над первой. Примерно так:

Убедитесь, что выбрана только верхняя сфера, щёлкните правой кнопкой и выберите Tools → Physics в контекстном меню. Появится окно инструмента Physics:

Не меняя ничего, нажмите Start внизу. Boxshot запустит симуляцию, и вы увидите, как зелёный шар падает, сталкивается с синим, падает на пол и укатывается.
Получится примерно так:

Вот, собственно, и всё. Выделяете фигуры, которые должны двигаться, запускаете инструмент симуляции и нажимаете Start. Просто.
Что насчёт остальной сцены?
Вы могли заметить, что синий шар вообще не двигался. Причина в том, что Boxshot симулирует только выделенные объекты. Остальная сцена статична и не движется, даже при столкновении.
Попробуем изменить это. Сделайте радиус зелёной сферы равным синей, выделите обе и снова запустите Physics:

Нажмите Start и увидите разницу:

Итак, ещё раз: нужно выделить всё, что должно двигаться.
Параметры симуляции
В инструменте Physics два настраиваемых параметра:
- Friction — уровень трения между объектами;
- Bounce — насколько “пружинистая” поверхность.
Оба параметра применяются ко всей сцене и позволяют точно настроить симуляцию.
Увеличение трения замедляет скольжение и качение, объекты меньше разлетаются.
Увеличение Bounce заставляет падающие объекты отскакивать.
Попробуйте менять параметры и перезапускать симуляцию с двумя сферами, чтобы увидеть эффект.
Управление симуляцией
Внизу окна Physics три кнопки:
- Start — запуск или продолжение симуляции;
- Pause — пауза;
- Reset — сброс сцены к начальному состоянию.
Обычно нужна только Start. Boxshot выполняет симуляцию, пока объекты движутся, и автоматически останавливается. Если результат устраивает — просто нажмите OK.
Если нет — возможно, нужно подкорректировать параметры. Тогда нажмите Reset, чтобы Boxshot откатил все изменения, настройте параметры и запустите симуляцию заново.
Симуляция нескольких фигур
Немного изменим сцену. С помощью Lathe или Loft сделайте чашу, поместите маленькую сферу над чашей и используйте Step and Repeat для клонирования. Получится примерно так:

Нажмите Start и посмотрите:

Вряд ли это то, что вы ожидали, верно?
Причина в том, что изначально была выделена вся группа сфер. Посмотрите на дерево сцены слева. Единственный выделенный элемент — группа “Sphere_4 S’n’R”.
Важное замечание: Boxshot обрабатывает группы и другие вложенные элементы как единое целое. Вложенные элементы не двигаются относительно друг друга, они действуют как один объект.
Именно это и произошло с нашими сферами. Откатите изменения через Undo и выделите все сферы вместо родительской группы:

Обратите внимание: у каждой сферы своя рамка выделения. Это хороший признак, что каждая сфера пойдёт своим путём в симуляции.
Нажмите Start и смотрите результат:

На этот раз всё как ожидалось. Все сферы упали в чашу независимо.
Создание копий
Клонировать фигуры вручную для наполнения может быть утомительно. К тому же вы можете не знать точное количество. Boxshot упрощает это с помощью секции Copies в инструменте Physics.
Секция имеет два параметра:
- Number of copies — сколько экземпляров изначально выделенных объектов создать во время симуляции;
- Scatter copies — случайно поворачивать новые экземпляры при создании для более хаотичного падения.
Вот та же сцена с одной сферой над чашей и количеством копий 10:

Запустите симуляцию, подождите немного и нажмите Pause:

Симуляция ещё не завершена, так как мы поставили её на паузу посередине, но виден принцип: вместо одной сферы создаётся несколько.
По сути, Boxshot ждёт, пока сфера немного упадёт, и создаёт ещё одну в исходной позиции. Так продолжается, пока не будет создано 10 сфер, как задано параметром Number of Copies.
Есть ещё одна причина для паузы: на паузе можно менять все параметры, включая само количество копий!
Это значит, что можно увеличить значение, если 10 недостаточно, или уменьшить, если уже хватает. Затем нажать Start для продолжения.
Продвинутые темы
Здесь более сложные темы, можете пропустить, если чувствуете, что это “слишком”.
Что насчёт массы?
Масса — фундаментальный параметр симуляции. Более тяжёлый объект сильнее влияет на лёгкие и меньше подвержен их влиянию.
Если уменьшить зелёную сферу и перезапустить симуляцию, синий шар будет двигаться меньше или вообще останется на месте.
Как Boxshot получает массу? Масса — это функция объёма и плотности. Boxshot предполагает одинаковую плотность всех объектов и использует грубую оценку объёма для вычисления массы. Обычно этого достаточно, и большие объекты ведут себя как более тяжёлые.
Если нужно, чтобы объект сильнее воздействовал на другие — сделайте его больше. Чтобы объект меньше подвергался ударам — тоже сделайте его больше или не выделяйте, оставив статичным. Статичные объекты имеют бесконечную массу и не подвержены столкновениям.
Что насчёт центра масс?
Boxshot использует точку опоры фигуры как центр масс. Это хорошо работает для большинства фигур, но у некоторых (например, Soda Can) точка опоры находится снизу.
Попробуйте сами: создайте новую сцену, добавьте банку, поднимите её и уроните с помощью Physics. Для забавы установите количество копий в 10. Скорее всего, получится так:

Во время симуляции вы заметите, что банка падает боком, а затем встаёт. Причина в том, что точка опоры (центр масс) находится снизу. Представьте, что у каждой банки очень тяжёлый груз на дне, чтобы поведение стало понятнее.
Как исправить? Boxshot не позволяет менять точку опоры фигуры, но можно использовать группы. Решение: выделите банку и нажмите G, чтобы сгруппировать банку с самой собой:

Обратите внимание: правая банка — дочерний узел “Group”, и точка опоры этой группы теперь в центре банки, что и нужно.
Если нужно сместить точку опоры от центра, также сгруппируйте фигуру, а затем переместите фигуру внутри группы. Точка опоры группы останется на месте, но из-за смещения дочерней фигуры итоговая точка опоры переместится.
Теперь запустите симуляцию для “сгруппированной” банки и увидите разницу:

Гораздо лучше :)
Скорость симуляции
Симуляция может замедляться при большом количестве объектов. Скажем, вы хотите наполнить ведро монетами по 1 центу — их понадобится много, и процесс точно замедлится. Что делать?
Правило: минимизировать количество симулируемых объектов. Чем меньше — тем лучше. Можно положить что-то большое в ведро, чтобы монетам осталось лишь узкое пространство. Потребуется меньше монет, и процесс ускорится. Всё равно никто не увидит :)
Другой трюк — симуляция слоями: уроните несколько предметов, дайте им улечься, выйдите из симуляции и запустите заново. Ранее обработанные элементы становятся частью “статичной” сцены и уже не так сильно влияют на скорость. Так можно значительно ускорить обработку большого количества объектов.
Ещё одно
Boxshot симулирует не реальную форму объектов, а выпуклую форму, очень похожую на оригинал. Представьте, что вы плотно обернули объект плёнкой, не оставив отверстий — всё идеально выпуклое. Именно это делает Boxshot. Это значит, что нельзя надеть тор на шест — Boxshot видит тор как диск (помните: без отверстий).
В большинстве случаев это не важно, но полезно знать.
Тонкие стенки
Симулятор не любит тонкие стенки. Под “тонкими” я имею в виду стенки нулевой толщины. Добавьте немного толщины, чтобы избежать проблем.
В заключение
Не ожидайте слишком многого от симуляции и будьте готовы подправить результат здесь или там или сделать постобработку. Это нормально :)
Дополнительная Информация
Рендеринг
- Улучшаем реализм — как сделать сцены более реалистичными;
- Освещение — управление окружением и направленным светом;
- Насыщенные отражения — как делать "сочные" отражения;
- Отражение в полу — эффект размытого отражения сцены в полу;
- Менеджер заданий — как отрендерить много и попозже.
- Рендеринг на GPU — как рендерить сцены быстрее;
- Длительность и качество рендеринга — учимся контролировать продолжительность рендеринга;
- Простое или реалистичное освещение — ускоряем рендеринг.
Материалы
- Текстурные слоты — использование текстурных слотов в Boxshot;
- Стеклянные материалы — об отражении и преломлении света;
- УФ-лакирование — добавляем эффект УФ-лака по маске;
- Фольгирование — добавляем поверхности блеска;
- Рельеф — добавляем неровности материалу;
- Копирование материалов — копируем материалы между объектами;
- Собственные материалы — расширяем стандартную библиотеку;
- Полупрозрачные этикетки — добавляем прозрачности;
- Материалы Boxshot — подробная информация о материалах Boxshot.
Возможности
- Булевы операции — объединяем и вычитаем объекты, делаем дырки;
- Наклейки — нанесение наклеек/декалей на объекты;
- Рельефные наклейки — добавляем локальный рельеф;
- Глубина резкости — добавляем реализма изображениям;
- Инструменты — информация об инструментах Boxshot;
- Управление изображениями — внешние ресурсы проекта;
- Экземпляры — легковесные копии объектов сцены;
- Редактор моделей — редактирование вложенных моделей;
- Термоусадочная плёнка — симуляция термоусадки для оборачивания объектов;
- Физическая симуляция — применение гравитации к сцене;
- Паллетирование — расстановка объектов сцены на паллете;
- Снимки — сохранение состояния сцены для повторного использования;
- Локализация — учим Boxshot говорить на вашем языке;
- Векторные изображения — как сохранить качество векторных изображений.
Объекты
- Объекты Lathe — создание симметричных объектов вращением кривых;
- Объекты Loft — создание произвольных объектов из 2D-сечений;
- 3D-текст — создание трёхмерных текстовых объектов в Boxshot;
- Выдавленные объекты — как сделать объёмный 3D-объект из плоской 2D-кривой;
- Конические этикетки — создание конических этикеток с искажённым дизайном;
- Коробка по развёртке — очень реалистичная коробка на основе развёртки;
- Собственные фигуры — добавление собственных фигур на левую панель;
- Твёрдые тела — создание фигур, пригодных для булевых операций;
- Скриптовые твёрдые тела — создание сложных твёрдых тел с помощью кода;
- Сторонние фигуры — импорт сторонних фигур в Boxshot.