Пути к файлам (file paths)

Шаблоны путей

Шаблоны путей заменяют шаблонные выражения (пишутся {abcd}, где «abcd» – это имя переменной) в пути к файлу, когда используется путь.

Например, если в данный момент открытым blend-файлом является dance.blend, а путь вывода рендеринга установлен на:

//my_render_dir/{blend_name}.png

То при рендеринге Blender будет обрабатывать путь следующим образом:

//my_render_dir/dance.png

С осуществлением замены {blend_name} на dance из dance.blend.

Эта замена происходит «внутренне» во время использования (например, во время рендеринга), поэтому синтаксис шаблона останется без изменений в поле самого пути.

Примечание

В настоящее время шаблоны путей поддерживаются только для пути вывода рендеринга в свойствах сцены и для путей вывода ноды «Файл вывода (file output)» в компо́зитора. Больше путей к файлам будут поддерживаться шаблонами в будущих выпусках.

Доступные переменные

В настоящее время в шаблонных выражениях доступны следующие переменные:

blend_name:

Имя текущего blend-файла (без расширения .blend).

fps:

Частота кадров в секунду текущей сцены.

resolution_x / resolution_y:

Разрешение по «x» и «y» отрендеренного изображения. Это также влияет и на масштаб разрешения, так что если разрешение сцены составляет 1000x600, а масштаб составляет 50%, то resolution_x и resolution_y будут равны 500 и 300 соответственно.

Набор доступных переменных со временем будет расширяться.

Синтаксис

Базовое шаблонное выражение просто заключает имя переменной в фигурные скобки:

dance_{fps}.png

Шаблонные выражения также могут включать спецификатор формата. Спецификаторы формата указывают Blender’у, как следует форматировать заменяемое значение. Они пишутся после разделительного двоеточия, например:

dance_{fps:FORMAT}.png

Спецификаторы формата в настоящее время могут использоваться только с переменными, представляющими числовые значения, а не строковые. Доступными спецификаторами формата являются:

  • dance_{fps:###}.png: формат как целое число, содержащее не менее 3 цифр.

  • dance_{fps:.###}.png: формат как число с плавающей запятой, содержащее ровно 3 цифры после запятой.

  • dance_{fps:###.##}.png: формат как число с плавающей запятой, содержащее не менее 3 цифр для целой части и ровно 2 цифры для дробной.

Во всех случаях количество хэш-символов (#) указывает на желаемое количество цифр.

Например, если fps равен 29.97, то:

  • dance_{fps:###}.png -> dance_030.png

  • dance_{fps:.###}.png -> dance_29.970.png

  • dance_{fps:###.##}.png -> -> dance_029.97.png

Обратите внимание, что значения в точности округляются для указанного количества цифр.

Если спецификация формата не задана, будет использоваться форматирование по умолчанию для названной переменной (например, плавающая запятая для «fps», целое число для разрешения).

Последовательности экранирования (Escape Sequences)

Поскольку { и } используются для шаблонных выражений в путях, которые их поддерживают, то в случаях когда в таком пути требуется литерал { или }, их необходимо экранировать, записывая их дважды:

  • {{ преобразуется в один { в конечном пути.

  • }} преобразуется в один } в конечном пути.

Например:

  • мой_странный}}_{{путь.png -> мой_странный}_{путь.png

  • //мой_рендер_{{dir}}/{blend_name}.png -> //мой_рендер_{dir}/dance.png

  • //мой_рендер_dir/{{{blend_name}}}.png -> //мой_рендер_dir/{dance}.png

Ошибки

Пути, поддерживающие шаблоны, могут иметь ошибки шаблона, которые препятствуют обработке пути.

Например, в следующем пути:

//my_render_dir/{blend_name.png

Выражение {blend_name было закрыто неправильно, что приведёт к ошибке.

Если в пути присутствуют ошибки шаблона, поле пути будет выделяться красным цветом в пользовательском интерфейсе:

../_images/files_file_paths-invalid_path_template.png

При наведении курсора на поле пути появится всплывающая подсказка, содержащая список ошибок шаблона, обнаруженных в этом пути:

../_images/files_file_paths-invalid_path_template_tooltip.png

Примечание

В зависимости от самого пути – ошибки шаблона могут помешать определённым действиям. Например, если будут присутствовать ошибки в пути вывода рендеринга, то рендеринг анимации завершится ошибкой с сообщением о ней же, она будет указывать на ошибки пути.