Инструмент Pivot Painter Tool 1.0 в Unreal Engine 4

0
10
Инструмент Pivot Painter Tool 1.0 в Unreal Engine 4
Последнюю версию инструмента Pivot Painter Tool можно найти здесь. Версия 2.0 предлагает упрощенную систему для создания интерактивной листвы.

Инструмент Pivot Painter – это MAXScript, в котором хранятся данные о вершине и ротации модели в данных вершин модели. Затем эта информация может быть указана внутри шейдерной системы Unreal для создания интерактивных эффектов.

Движение, показанное в примере видео, генерируется в реальном времени с использованием вершинных шейдеров. Каждое лезвие травы вращается и изгибается вокруг своего корня. Ветви дерева и листья образуют иерархию и оживляются вокруг своих отдельных точек поворота, наследуя движение родителя. Также хранится вращение суб-позиций, что позволяет реалистично реагировать на силы ветра.

Создание этих шейдеров стало намного проще с добавлением функций материала Pivot Painter. Пример контента также помогает, показывая, как можно создать анимацию, как, например, показанную выше. Получение опорных точек (pivot points) суб-объектов стало теперь просто вопросом обработки меши в 3D Studio Max с помощью скрипта Pivot Painter, импорта файла и создания материала с использованием функций Pivot Painter. Функции материала содержат выходы опорных точек для обеих иерархий уровней и иерархии одного уровня.

Создание движения таким образом имеет свои преимущества. Модель, обработанная с использованием этой техники, на 18% больше, чем в стандартной статик меши. Анимации намного дешевле, чем скелетные анимации, потому что их не нужно хранить, поскольку они рассчитываются «на лету». Полагается, что подсчеты шейдерных вершин обычно меньше, чем число пикселей, из-за количества вершин на модели по сравнению с количеством пикселей на экране.

Примером шейдеров в приведенной ниже ссылке является только верхушка айсберга с точки зрения того, что возможно. Эксперименты с доступной информацией могут побудить одного исследовать другие возможные варианты использования. Взаимодействие игроков, интересные источники ветра, движение, не связанное с листвой, и другие эффекты возможны при предоставлении доступа к информации об уровне объекта.

Инсталляция

Скрипт Pivot Painter можно найти в следующем месте:

[UE4Directory]/Engine/Extras/3dsMaxScripts/PivotPainter.ms

 

Это видео включает установку скрипта и создание сочетания клавиш и меню для открытия инструмента Pivot Painter.

Подготовительные Инструменты

Это видео будет охватывать раздел «Prep Tools» скрипта, а также подсказки рабочего процесса и информацию об общем процессе. Prep Tools содержит опции для отсоединения элементов модели как отдельных объектов и нескольких инструментов, которые помогут легко создавать новые точки поворота.

Prep Tools (подготовительные инструменты) предназначены для разделения данных моделей на несколько новых моделей и перемещения их поворотов в идеальные места. Нет необходимости использовать эти инструменты. Они просто предоставляются для удобства. Если обрабатываемая модель уже разделена, ее ось находится в точке, из которой она должна вращаться, а ось X моделей обращена вниз по длине модели, тогда ваша модель подходит для перехода к следующему шагу.

Пример: скопление травы должно быть разделено на отдельные лопасти. Данное лезвие травы должно вращаться вокруг его основания при ветре. Поэтому его точка поворота должна располагаться на базе моделей травы, а ось Х поворота должна указывать на длину модели – в большинстве случаев с травой, которая была бы вверху.

Hierarchy Painter

Это видео охватывает сегмент «Hierarchy Painter» скрипта. Эта часть инструмента используется для хранения дочерних родительских отношений, таких как отношение между ветвью и листом, например, информация о точке поворота и ротации модели в мешах.

Модели должны обрабатываться только с помощью раздела «Hierarchy Painter» скрипта, если для модели требуется иерархия. Дерево с листьями – хороший вариант использования, а сама трава – уже нет. Траву следует нарисовать с помощью раздела “Per Object Painter”.

Кроме того, ветви / родительские точки поворотов должны быть размещены внутри бокса, как описано в разделе “Max dist for parent piv”. Например: если параметр “Max dist for parent piv” установлен на 4096, когда модель нарисована, то точка поворота ветви / родительских объектов может быть расположена где угодно внутри отрицательного или положительного 2048 в Х и в Y и от 0 до 4096 на оси Z. Кроме того, если параметр ″Max dist for parent piv″ установлен на что-либо, кроме 4096 на этапе обработки модели, этот же номер должен использоваться в шейдерах моделей в Unreal.параметр Max dist for parent piv UE4

 

Per Object Painter

В этом видео перечислены параметры, доступные в разделе сценария «Per Object Painter». В нем также рассматриваются некоторые из возможных применений и некоторая информация о том, как данные хранятся в модели.

Файл 3D Studio Max

Файл содержит копию дерева, используемого в видеоуроках.

  • Tree.max (щелкните правой кнопкой мышки, сохраните, чтобы загрузить)

Требования

  • 3D Studio Max – скрипт был протестирован с использованием 3D Studio Max версий 2010 и 2012 годов.
  • Материал Pivot Painter функционирует. Можно использовать скрипт без функций, но именно они делают данные намного проще в использовании.

Другие примечания

Вы должны обрабатывать свои модели только с помощью “Hierarchy Painter” или  “Per Object Painter”, но не обоих. Если вы нарисуете свою модель с помощью «Hierarchy Painter», тогда в материале объектов должна быть использована функция материала «PivotPainter_HierarchyData». Если используется раздел «Per Object Painter» скрипта, то для декодирования сводной информации в материале следует использовать «PivotPainter_PerObjectData».

Параметры мирового устройства 3DS Max должны быть установлены на сантиметры при рисовании и на параметр not scaled/changed при экспорте. Важно поддерживать масштаб между 3ds Max и Unreal. Это не приведет к нежелательным результатам.

Актер Ветра теперь устарел в UE4 и может быть заменен с помощью Material Parameter Collections и Blueprints. Вы можете создать Blueprint, который обновляет Коллекцию Параметров Материала с помощью параметра Float 4 Wind Actor. Далее на эту Коллекцию Параметров Материала можно ссылаться в данном листе материала вместо Актера Ветра.