Render.ru

Горячие клавиши

Рейтинг
47
#1
1) Подскажите пожалуйста, где можно просмотреть список всех предустановленных горячих клавиш?
2) И как их изменять (назначать собственные на ноды, команды и т.д.)?
 
Рейтинг
47
#3
Спасибо, с клавишами назначенными по умолчанию ознакомился.
А вот с использованием Hotkey Manager возникли проблемы. Не сразу разобрался как на существующие действия назначать дополнительные клавиши. А как добавлять новые команды и на них вешать хоткей вообще не понял.

Что и сподвигло меня на дальнейшие поиски в интернете. Вышел на англоязычный форум посвященные Фьюжену, в котором вы Георгий (та же аватарка) видимо играете не последнюю роль.
В итоге обнаружил еще один способ управления хоткеями. Возможно не самый изящный, но уж точно более понятный по сравнению с Hotkey Manager.

Редактирование текстового файла по адресу:
C:\ProgramData\eyeon\Fusion\Profiles\Default\Fusion.hotkeys


А теперь вопрос.
Со всеми панелями еще не разбирался, в данный момент меня интересует Flow = {},
Все команды которые я находил, касались добавления новых нод, а меня так же интересуют коды на выполнение и других команд в программе.

К примеру Delete, хочу ему назначить Ctrl+d (у меня так во всех остальных программах)
На кнопку D назначить действие Pass Through из панели Tools (что бы не тянуться в правый верхний угол мышкой.)

В Максе и Майе, есть возможность в скрипт эдиторе включить отображение всех команд которые в данный момент выполняет программа. А потом уже их копировать и вставлять в скрипты.
Есть ли такая возможно во Fusion?



Ps: если кому-то интересен код на добавление нод, вот самый (на мой взгляд) лучший:
Код:
	Flow = {
		B = "t = self:Composition():AddTool('Blur', true, -32768, -32768)",
		x = "t = self:Composition():AddTool('Merge', true, -32768, -32768)",
		c = "t = self:Composition():AddTool('ColorCorrector', true, -32768, -32768)",
	},
То есть, для добавления новых нод, меняем горячую клавиши С и название ноды ColorCorrector

Можно писать код и проще, к примеру: W = "Saver ({})", (есть и еще варианты)
Но все они работают весьма своеобразно (все новые ноды добавляют в левый верхний угол, или исключительно по центру рабочей области и т. д.)
 

Григорий Чаленко

Куратор форума
Команда форума
Рейтинг
948
#4
Да, с гор. клавишами во Фьюжене не очень интуитивно.
Идея в том, что они назначаются на скриптовые команды или на скрипты во внешних файлах.
Про удаление и Pass Through с ходу не могу сказать - должно быть в доках по скриптам: http://www.vfxpedia.com/index.php?title=Eyeon:Script
 
Рейтинг
47
#5
Pass Through, бог с ним, можно обойтись. А вот приспособить удаление выделенной ноды на Ctrl+d, для меня это критично.

Я просмотрел но vfxpedia много ссылок, в том числе и видео. Понял, что за удаление ноды, отвечает функция (как и следовало ожидать) Delete(). Но проблема в том, что бы указать этой команде какую именно ноду удалять.

Во всех статьях которые я просмотрел, да и в видео, нода в переменную "загоняется" на прямую. В таком случае Delete() срабатывает нормально, удаляю указанную ноду
Код:
b = Blur1
b:Delete()
А нужно, что бы в переменной присваивалась нода выделенная в данный момент.

Я продолжил копаться в документации и нашел строчку
Код:
print(tool:GetAttrs().TOOLS_Name)
модернизировал ее до
Код:
del = (tool:GetAttrs().TOOLS_Name) del:Delete()
и вроде бы все нормально. В переменную del записывается название выделенной ноды. Команда print(del) подтверждает это.

Но когда для удаление указываешь переменную del, фьюжн выдает ошибку
Код:
[string "del = (tool:GetAttrs().TOOLS_Name) del:Dele..."]:1: attempt to call method 'Delete' (a nil value)
Резюмирую:
CONTROL_D = "b = Blur1 b:Delete()" -- в панели Flow удаляет ноду Blur1
CONTROL_D = "del = (tool:GetAttrs().TOOLS_Name) del:Delete()", -- в теории должен работать, но на практике выдает ошибку.

Ps: Я так понимаю, что решение уже где-то близко. Возможно нужно добавить какую-то мелочь и все заработает. Я перепробовал уйму вариантов (методом тыка), но у меня та к и не вышло.
PPs:Разберусь с этой командой, и успокоюсь. Так как, к сожалению, сейчас нет возможности тратить много времени на освоения скриптов во фьюжене.
 
Рейтинг
47
#7
К сожалению, мое знание английского не позволяет мне полноценно общаться на иностранных форумах, а только просматривать и почитывать.
Благо русскоязычных знающих людей тоже хватает.

Строчки на удаление выделенной ноды:
Код:
del = comp.ActiveTool
del:Delete()
Правда, срабатывает только с одной выделенной нодой. Что бы удалить несколько, нужно по прежнему жать Delete.

А Pass Through из панели Tools (что бы не тянуться в правый верхний угол мышкой), оказывается есть в стандартном функционале программы. Ctrl+P
 

Faster3d

Знаток
Рейтинг
56
#8
Код:
AddTool('ColorCorrector')
Добрый день! Сделал хоткей, но чтобы нода коннектилась к активной, вопрос еще не решили? Жутко напрягает, что она появляется во флоу не там где нужно))
 

zoz

Знаток
Рейтинг
22
#9
Когда начал пользовать Нюк задался вопросом добавить хоткеев в Фюжик. Оказалось информацию довольно сложно было найти, часть пришлось додумывать самому.

Вот пример некоторых, к активной ноде само прилипнет.

Flow = {
A = "t = self:Composition():AddTool('Fuse.F_Add', true, -32768, -32768)",
C = "t = self:Composition():AddTool('ColorCorrector', true, -32768, -32768)",
B = "t = self:Composition():AddTool('Blur', true, -32768, -32768)",
D = "comp:DisableSelectedTools()",
G = "t = self:Composition():AddTool('BrightnessContrast', true, -32768, -32768)",
H = "t = self:Composition():AddTool('TimeStretcher', true, -32768, -32768)",
SHIFT_B = "t = self:Composition():AddTool('Background', true, -32768, -32768)",
M = "t = self:Composition():AddTool('Merge', true, -32768, -32768)",
SHIFT_T = "t = self:Composition():AddTool('Tracker', true, -32768, -32768)",
O = "t = self:Composition():AddTool('BSplineMask', true, -32768, -32768)",
N = "t = self:Composition():AddTool('FastNoise', true, -32768, -32768)",
R = "t = self:Composition():AddTool('Loader', true, -32768, -32768)",
T = "t = self:Composition():AddTool('Transform', true, -32768, -32768)",
W = "t = self:Composition():AddTool('Saver', true, -32768, -32768)",
SHIFT_C = "t = self:Composition():AddTool('ColorCurves', true, -32768, -32768)",
TAB = "@Scripts:Comp/Add Tool.eyeonscript",
K = "t = self:Composition():AddTool('MatteControl', true, -32768, -32768), AddTool('Photron.Primatte4', true, -32768, -32768),AddTool('ofx.uk.co.thefoundry.keylight.keylight', true, -32768, -32768)",
SHIFT_A = "t = self:Composition():AddTool('Fuse.F_Multiply', true, -32768, -32768)",

E = "@Scripts:Tool/hos_SplitEXR.eyeonscript",
},


Добавить в файл Fusion.hotkeys

Можно прописывать целые блоки нод на один хоткей. Например, «К» это набор для кеинга.
«Е» это вызов скрипта разворачивания .exr файла

Надеюсь, принесет радость.
 

zoz

Знаток
Рейтинг
22
#11
По поводу удаления выбранных нод.
Думаю, надо писать скрипт который будет циклом перебирать все ноды, проверять их на активность и активные удалять. И потом скрипт вязать на Хоткей.
Не знаю как это будет в больших композициях, возможно будет небыстро.

Походу функция Delete работает только с одной нодой. Нужно поискать может есть другая функция, или можно создать переменную в которой будет массив выбранных нод внутренней функцией типа ActiveTool, но для массива.

Пока простого решения не обнаружил.
 
Сверху