- Дизайн
- 4 мин на чтение
- 12450
Как разобраться с кистями в Фотошопе и начать жить
В чем проблема?
Несколько лет я рисовал в Corel Painter, мне вполне хватало пары кистей и все было хорошо. Потом я перелез в Ps и кисти стали без моей воли копиться в угрожающем количестве, причем реально нужны были из них ну максимум процентов 5.
Фотошоп — универсальный комбайн, он может делать всё, но с разной степенью кривоты. Он совсем не идеален для рисования, и организация кистей — одно из самых слабых мест. Хоткеи можно вешать почти на что угодно, только не на кисти. Кисти можно хранить в Brush presets, где всё, что у вас есть, выводится одним списком. Вы не можете разложить кисти по папкам, не можете выделить их цветом, не можете присвоить теги, категории, отсортировать их хоть как-то.
Что может нам предложить бессменный лидер индустрии кроме ковыряния в бесконечном списке пресетов?
Если вы рисуете постоянно, секунды прокрутки этого бесконечного списка туда-сюда сложатся в минуты и часы. В итоге, пара дней в году у вас уйдет только на то, чтобы выбирать кисти, вместо того, чтоб рисовать.
Что с этим можно сделать?
1. Для начала выбираем кисти, которыми вообще пользуемся хоть когда-то и сохраняем в Tool Presets. У меня таких набралось около 70.
Почему не хранить кисти прямо в Brush presets? Любой добавленный брашпак будет засорять ваши сохраненные кисти и вы никак не сможете их отсортировать.
2. Назначаем хоткей для меню Tool Presets, (у меня F1, например) и вызываем список, когда вам удобно. Такого приема мне хватало пару лет, но как-то я посмотрел мастер-класс Сергея Рыжова, где он, среди прочего, рассказывает, как у него организованы кисти. Оказалось, на любой тулпресет можно повесить экшн с хоткеем.
Назначаем кнопки на любые отдельные пресеты.
Под экшны в Фш выделены только клавиши F2-F12, Ctrl и Shift. Таким образом, теоретически мы можем назначить хоткеи на 48 кистей (на самом деле чуть меньше, что-то занято системой и самим ФШ).
Как это делается:
Мы получили нужные хоткеи, но тут есть две проблемы.
1. Мы можем назначить много сочетаний, но как запомнить, что где? Я выбрал по три кисти со схожими свойствами и сгруппировал их по папкам на каждой функциональной кнопке. Так у кистей появились категории.
Те кисти, которыми пользуемся постоянно (у меня таких 3-4), вешаем под левую руку на кнопки без модификаторов (F2-F5). Хоткеи для остальных кистей выбираем по тому же принципу — чем чаще пользуемся кистью, тем удобнее для руки выбираем хоткей.
2. Может и бывают люди с руками-лопатами, но мне, например, прожать Ctrl+Shift+F12 одной левой рукой практически нереально, а жать двумя не очень удобно, по времени быстрее тыкнуть курсором в список. Такой проблемы нет, например в 3D-Coat, где любые хоткеи стакаются и на одну кнопку можно повесить сколько угодно команд. Было бы идеально повесить по три кисти на клавишу и быстро прожимать по одному, два или три раза, чтобы вызвать нужную кисть. И вот как это сделать.
Autohotkey. Вешаем по три кисти на одну кнопку.
До текста Олега Краснова про Autohotkey для приложений я думал, автохоткей это что-то для читеров в доте и макросников в BF3. У меня нулевые навыки программирования, поэтому я попросил братишку-погромиста написать мне нужный скрипт, который бы подменял, например, двойную F2 на Ctrl+F2, тройную — на Ctrl+Shift+F2 и так далее.
Вот такой скрипт он мне прислал:
; Helper functions HandleMultiplePresses(pressHandlerNames*) { Recurse: keyPresses += 1 strippedHotkey := StripHotkeyModifiers(A_ThisHotkey) KeyWait, %strippedHotkey% ; Wait for KeyUp. KeyWait, %strippedHotkey%, D T.12 ; Wait for same KeyDown or .12 seconds to elapse. keyPressedBeforeTimeout := (ErrorLevel = 0) If (keyPressedBeforeTimeout) { Goto, Recurse } Return pressHandlerNames[keyPresses]() } StripHotkeyModifiers(hotkeyToStrip) { ; from https://autohotkey.com/board/topic/32973-func-waitthishotkey/ RegExMatch(hotkeyToStrip, "i)(?:[~#!<>\*\+\^\$]*([^ ]+)( UP)?)$", Key) Return Key1, ErrorLevel := (Key2 ? "Down" : "Up") } ; Logic itself #IfWinActive ahk_class Photoshop SendHotKey() { Send, {%A_ThisHotkey%} } SendCtrlHotkey() { Send, ^{%A_ThisHotkey%} } SendCtrlShiftHotkey() { Send, ^+{%A_ThisHotkey%} } F2:: HandleMultiplePresses("SendHotKey", "SendCtrlHotkey", "SendCtrlShiftHotkey") F3:: HandleMultiplePresses("SendHotKey", "SendCtrlHotkey", "SendCtrlShiftHotkey") F4:: HandleMultiplePresses("SendHotKey", "SendCtrlHotkey", "SendCtrlShiftHotkey") F5:: HandleMultiplePresses("SendHotKey", "SendCtrlHotkey", "SendCtrlShiftHotkey") #IfWinActive
Часть кода взята вот с этого форума. По сути наш скрипт — просто .txt файл, которому мы вручную присваиваем расширение .ahk. Мы можем сами редактировать в блокноте текст после строчки ; Logic itself, назначая нужные для себя кнопки и сохраняя .ahk-файл. Я, например, добавил кнопки с F1 по F12.
Как сделать, чтобы все работало.
1. Качаем экзешник автохоткея 1.1.28 c оффсайта и устанавливаем, куда нам удобно.
2. Тыкаем в наш готовый скрипт, в трее должен появиться такой значок.
3. Нажимаем кнопки в фотошопе, рисуем, радуемся. При этом, нет никакой разницы, где лежит скрипт, где лежит автохоткей, что запускается первым, Ahk или Ps.
Чтобы каждый раз не запускать, я добавил ярлык скрипта в папку автозагрузки: Win+R/shell:startup
Или если вам совсем лень возиться со скриптами, вот .exe с кнопками F1-F12, который я для себя скомпилировал (ох, надо было бы туда майнер встроить).
Способ для кнопочек конечно косой, кривой, ехали костыли через костыли, но лучше я пока не знаю. Для макобояр у меня плохие новости, автохоткея там нет, но вроде есть аналоги, мой способ годится только для виндохолопов.
Автор: Сергей Кузьмич
/?=num_word(get_comments_number(), array('комментарий', 'комментария', 'комментариев'))?>