Вьюеры и флаги узла
Bypass пропускает насквозь, Lock замораживает и пишет в файл, Cooking гасит компонент, Render решает, попадёт ли объект в кадр. И ещё полдюжины флагов.
Маленькие кнопки по левому и нижнему краю узла — флаги. Почти каждая непонятная проблема новичка объясняется одним из них.
Флаг не параметр: узел от него не пересчитывается, экспорт на него
не сделать. Из Python флаг ставится свойством узла —
op('level1').lock = True, op('level1').bypass = True.
| Флаг | Где | Что делает |
|---|---|---|
| Viewer | левый верхний угол | Показать содержимое прямо в узле или спрятать до значка |
| Bypass | левый край | Пропустить первый вход насквозь на выход |
| Lock | левый край | Заморозить результат в памяти и сохранить его в файл |
| Viewer Active | нижний правый угол | Разрешить взаимодействие мышью внутри окошка |
| Cooking | у компонентов | Остановить кук всего, что внутри |
| Immune | у узлов внутри клона | Не синхронизировать узел с мастером клона |
У объектов 3D (Geometry, Camera, Light) добавляются Display, Render и Pickable, у CHOP — Export, у SOP — Compare и Template.
Bypass и Lock
B оставляет узел в цепочке, но первый вход уходит прямо на выход;
bypass на компоненте отключает всё внутри. Пройдитесь так по цепочке,
и станет видно, кто испортил картинку.
Lock держит текущий результат в памяти: узел больше не пересчитывается
и не зависит от входов. Им замораживают дорогой, но неизменный результат —
текстуру, просчитанную геометрию, — делают «фотографию» состояния для
сравнения и хранят данные прямо в файле: залоченный DAT или TOP сохраняется в
.toe или .tox вместе с содержимым. Хранится он там целиком, так что
каждый замок на большой картинке раздувает проект; Derivative советует
пользоваться замком умеренно.
«Меняю параметр — ничего не происходит» чаще всего значит забытый замок или узел вне цепочки вывода, Кук.
Cooking
Флаг компонента выключает кук всей его сети. Узлы внутри держат последний
результат и прежнюю память, но не тратят ни миллисекунды — так гасят
тяжёлые блоки, которые сейчас не нужны. Из Python —
op('scene2').allowCooking = False. Последний результат в файл не пишется,
и после перезагрузки .toe выходы внутри пустые.
Display, Render, Pickable
Display отвечает за то, виден ли объект во вьюерах камеры, Render — попадёт
ли он в рендер Render TOP или Render Pass TOP,
Pickable — выделяется ли мышью в 3D-вьюере. Объект виден во вьюере, но
в Render TOP его нет — почти всегда выключен Render или объекта нет
в параметре Geometry у самого Render TOP. Внутри Geometry COMP те же
Display и Render у SOP решают, какой SOP цепочки показывать и какой
рендерить.
Viewer Active
Пока он выключен, клик по окошку выделяет узел. Включён — мышь работает
внутри: камера в Geometry COMP крутится, кнопки в Container COMP жмутся,
в Kantan Mapper рисуется. A над сетью переключает его у выделенных
узлов, Alt+A включает у всех, пока клавиши зажаты.
Clone и Immune
Компонент с Clone Master повторяет содержимое мастера — узлы, провода,
параметры и флаги внутри. Правите мастер, меняются все клоны. Собственные
параметры мастера у клонов появляются, но значения у каждого свои; раздать
одно значение всем — RMB по параметру мастера → Copy to all Clones.
Отличаются клоны входами, значениями своих параметров и выражениями
вроде parent().digits, то есть номером в имени. На этом держатся
масштабируемые проекты: двадцать одинаковых экранов, один мастер
и Репликатор, который клоны создаёт.
Узел внутри клона с флагом Immune мастер не трогает: остаются свои параметры, входы и данные таблицы. Новый Immune-узел, добавленный только в клон, тоже сохранится при синхронизации, но тем, куда он подключён, обычно тоже нужен Immune — связь хранится на входе узла.
Нашли в статье ошибку, устаревшее или непонятное место?