SlideShare une entreprise Scribd logo
1  sur  39
Ускорение рабочего процесса в
ADOBE PHOTOSHOP
с помощью JAVASCRIPT
Andrusevich Alex
Алексей Андрусевич
Senior level designer
И многие другие
Вступление
Скриптования и примеры моих скриптов
Написание и примеры панэлей для Photoshop
РУТИНА НЕ ДОЛЖНА ПРИВОДИТЬ К ОШИБКАМ
ОТДАЙТЕ ВСЕ «МАШИНЕ»
Изучение программирования самостоятельно - тяжелая наука...
...пока не построишь процесс правильно
Программист - лучший друг человека)
до 4 сек
около 2 сек
всего 0,5 сек
• 20 дней - (66,66)*20 - получим около
И ЕТО ТОЛЬКО ИЗ ЗА НЕ ИСНОЛЬЗАВАНИЯ «ХОТКЕЕВ»
Кусок кода
со
ScriptingListenerJS.log
// ===========
var idMk = charIDToTypeID( "Mk " );
var desc27 = new ActionDescriptor();
var idNw = charIDToTypeID( "Nw " );
var desc28 = new ActionDescriptor();
var idMd = charIDToTypeID( "Md " );
var idRGBM = charIDToTypeID( "RGBM" );
desc28.putClass( idMd, idRGBM );
var idWdth = charIDToTypeID( "Wdth" );
var idRlt = charIDToTypeID( "#Rlt" );
desc28.putUnitDouble( idWdth, idRlt, 512.000000 );
var idHght = charIDToTypeID( "Hght" );
var idRlt = charIDToTypeID( "#Rlt" );
desc28.putUnitDouble( idHght, idRlt, 512.000000 );
var idRslt = charIDToTypeID( "Rslt" );
var idRsl = charIDToTypeID( "#Rsl" );
desc28.putUnitDouble( idRslt, idRsl, 72.000000 );
var idpixelScaleFactor = stringIDToTypeID( "pixelScaleFactor" );
desc28.putDouble( idpixelScaleFactor, 1.000000 );
var idFl = charIDToTypeID( "Fl " );
var idFl = charIDToTypeID( "Fl " );
var idWht = charIDToTypeID( "Wht " );
desc28.putEnumerated( idFl, idFl, idWht );
var idDpth = charIDToTypeID( "Dpth" );
desc28.putInteger( idDpth, 8 );
var idprofile = stringIDToTypeID( "profile" );
desc28.putString( idprofile, """sRGB IEC61966-2.1""" );
var idDcmn = charIDToTypeID( "Dcmn" );
desc27.putObject( idNw, idDcmn, desc28 );
executeAction( idMk, desc27, DialogModes.NO );
//второе - новый слой
// =======================================================
var idMk = charIDToTypeID( "Mk " );
var desc29 = new ActionDescriptor();
var idnull = charIDToTypeID( "null" );
var ref12 = new ActionReference();
var idLyr = charIDToTypeID( "Lyr " );
ref12.putClass( idLyr );
desc29.putReference(idnull, ref12 );
executeAction( idMk, desc29, DialogModes.NO );
//третье - переименует данный слой в Test_layer
// =======================================================
var idsetd = charIDToTypeID( "setd" );
var desc30 = new ActionDescriptor();
var idnull = charIDToTypeID( "null" );
var ref13 = new ActionReference();
var idLyr = charIDToTypeID( "Lyr " );
var idOrdn = charIDToTypeID( "Ordn" );
var idTrgt = charIDToTypeID( "Trgt" );
ref13.putEnumerated( idLyr, idOrdn, idTrgt );
desc30.putReference(idnull, ref13 );
var idT = charIDToTypeID( "T " );
var desc31 = new ActionDescriptor();
var idNm = charIDToTypeID( "Nm " );
desc31.putString( idNm, """Test_layer""" );
var idLyr = charIDToTypeID( "Lyr " );
desc30.putObject( idT, idLyr, desc31 );
executeAction( idsetd, desc30, DialogModes.NO );
Так выглядит простой скрипт,
написанный на Javascript
app.documents.add()
var layerRef = app.activeDocument.artLayers.add()
layerRef.name = "Test_Layer"
UV_ON_OFF.jsx
Включал и отключал одной клавишей слой с именем «UV»
…Одной кнопкой?
Да… Одной кнопкой?...
-30 ЧАСОВ
-210 ЧАСОВ
На одной карте
При переделке всех карт под новую спецификацию
около 20 мин
ОКОЛО 250 СAМОЛЕТОВ!
На одном самолете
При работе над всеми самолетами!
около 80часов
ПОТЕРЬ РАБОЧЕГО ВРЕМЕНИ!
Всего
- название файла
- разрешение
- расширение
- формат
- и т.д.
МЫ ЖЕ ЛЮДИ!
И ОШИБКУ МОЖЕТ СДЕЛАТЬ КАЖДЫЙ!
QA ARTIST! – ПОЙМИ И ПРОСТИ!
dokmatсhcolor
- Бронированый скелет парящий в горах
- Огненный ведьма идущий зимой
- Шершавый жук смотрящий в воде
Иногда «Бредогинератор»:(
- Огненный солдат бегущий в замке
- Друид бьющийся на поле боя
- Огненный дракон дерущийся в пещере
Но бываает интересное:
diffuse
specular
glossiness
normal
opacity
ambient
ИМЯ С ПРЕФИКСОМ
ДИРЕКТОРИЯ
Adobe Configurator - для создания собственных панелей
WOWP MAP PROTOTYP
- Набор скриптов для Photoshop который
позволяет в несколько раз увеличить
скорость производства прототипов карт за
счет скриптов которые делают за
художника рутинную работу
WOWP Map Prototyp
8 K / 8 K 2X 4 K / 4 K
R
G
B
R
G
B
ДО ПРИМЕНЕНИЯ WOWP MAP PROTOTYP
Прототип карты производилась от 3 до 5-ти дней
ПОСЛЕ 8 ЧАСОВ
ИМЕЯ ОДНУ СТРУКТУРУ ФАЙЛОВ В ПАПКЕ,
ОДНУ СТРУКТУРУ PSD ФАЙЛОВ,
ОДИН ВИД 3D ФАЙЛОВ,
МОЖНО МАКСИМАЛЬНО ПРОСТО НАСТРОИТЬ
АВТОМАТИЗАЦИЮ С ПОМОШЬЮ СКРИПТОВ
ПРИМЕР WGPM ИНСТРУМЕНТА В PHOTOSHOP
• Написана на HTML CSS
JQUERY
• Возможность
кастомизации панели
• Гибкость настройки
каждой вкладки
• Возможность
добавления вкладок в
зависимости от отдела
(прототипирование,
текстуринг, UI итд)
ПРИМЕРЫ УТИЛИТ ДЛЯ PHOTOSHOP
Вкладка для
изменения типа карты
Утилита изменяет тип
карты одним нажатием
на иконку будь то карта
тропики, пустыня,
Антарктика и т.д.
Вкладка изменения
атласа текстур
С помощью утилиты
можно изменять как
отдельные элементы
атласа так и атлас
полностью
HEAD PAINT
COLOR PALETTE
RENAMER 2
- пишите так, как я
- пишите вместе со мной
- пишите лучше меня
Да пребудет с Вами
сверхскорость джедаев
Спасибо!
Вопросы?
a_andrusevitch@wargaming.net
Skype - dok_off
Alex Andrusevich
Senior level designer

Contenu connexe

Tendances

Web весна 2013 лекция 9
Web весна 2013 лекция 9Web весна 2013 лекция 9
Web весна 2013 лекция 9
Technopark
 
Расширь границы возможного вместе с Gradle
Расширь границы возможного вместе с GradleРасширь границы возможного вместе с Gradle
Расширь границы возможного вместе с Gradle
Aleksandr Tarasov
 
CodeFest 2014. Пугачев С. — Язык TypeScript или JavaScript на стероидах
CodeFest 2014. Пугачев С. — Язык TypeScript или JavaScript на стероидахCodeFest 2014. Пугачев С. — Язык TypeScript или JavaScript на стероидах
CodeFest 2014. Пугачев С. — Язык TypeScript или JavaScript на стероидах
CodeFest
 

Tendances (15)

Web весна 2013 лекция 9
Web весна 2013 лекция 9Web весна 2013 лекция 9
Web весна 2013 лекция 9
 
Расширь границы возможного вместе с Gradle
Расширь границы возможного вместе с GradleРасширь границы возможного вместе с Gradle
Расширь границы возможного вместе с Gradle
 
WinDbg в руках .NET разработчика
WinDbg в руках .NET разработчикаWinDbg в руках .NET разработчика
WinDbg в руках .NET разработчика
 
Ruby exceptions
Ruby exceptionsRuby exceptions
Ruby exceptions
 
Алексей Андросов - Debugger: Отладка кода
Алексей Андросов - Debugger: Отладка кодаАлексей Андросов - Debugger: Отладка кода
Алексей Андросов - Debugger: Отладка кода
 
CodeFest 2014. Пугачев С. — Язык TypeScript или JavaScript на стероидах
CodeFest 2014. Пугачев С. — Язык TypeScript или JavaScript на стероидахCodeFest 2014. Пугачев С. — Язык TypeScript или JavaScript на стероидах
CodeFest 2014. Пугачев С. — Язык TypeScript или JavaScript на стероидах
 
Droidcon Moscow 2015. Android NDK - стоит ли игра свеч Дмитрий Юницкий - Mail...
Droidcon Moscow 2015. Android NDK - стоит ли игра свеч Дмитрий Юницкий - Mail...Droidcon Moscow 2015. Android NDK - стоит ли игра свеч Дмитрий Юницкий - Mail...
Droidcon Moscow 2015. Android NDK - стоит ли игра свеч Дмитрий Юницкий - Mail...
 
User Aggs In As
User Aggs In AsUser Aggs In As
User Aggs In As
 
JavaScript: прошлое, настоящее и будущее.
JavaScript: прошлое, настоящее и будущее.JavaScript: прошлое, настоящее и будущее.
JavaScript: прошлое, настоящее и будущее.
 
Когда в C# не хватает C++
Когда в C# не хватает C++Когда в C# не хватает C++
Когда в C# не хватает C++
 
Когда в C# не хватает C++ . Часть 3.
Когда в C# не хватает C++. Часть 3. Когда в C# не хватает C++. Часть 3.
Когда в C# не хватает C++ . Часть 3.
 
Михаил Щербаков "WinDbg сотоварищи"
Михаил Щербаков "WinDbg сотоварищи"Михаил Щербаков "WinDbg сотоварищи"
Михаил Щербаков "WinDbg сотоварищи"
 
Полный цикл тестирования React-приложений, Алексей Андросов и Наталья Стусь
Полный цикл тестирования React-приложений, Алексей Андросов и Наталья СтусьПолный цикл тестирования React-приложений, Алексей Андросов и Наталья Стусь
Полный цикл тестирования React-приложений, Алексей Андросов и Наталья Стусь
 
Когда в C# не хватает C++ . Часть 2.
Когда в C# не хватает C++. Часть 2.Когда в C# не хватает C++. Часть 2.
Когда в C# не хватает C++ . Часть 2.
 
WinDbg со товарищи
WinDbg со товарищиWinDbg со товарищи
WinDbg со товарищи
 

En vedette

Денис Береговий “Анатомія аутсорсингу: визначаємо структуру вашої іт компанії”
Денис Береговий “Анатомія аутсорсингу: визначаємо структуру вашої іт компанії”Денис Береговий “Анатомія аутсорсингу: визначаємо структуру вашої іт компанії”
Денис Береговий “Анатомія аутсорсингу: визначаємо структуру вашої іт компанії”
Lviv Startup Club
 

En vedette (20)

Lviv Freelance Forum Назар Іваненко “Під лежачий камінь вода не тече”
Lviv Freelance Forum Назар Іваненко “Під лежачий камінь вода не тече”Lviv Freelance Forum Назар Іваненко “Під лежачий камінь вода не тече”
Lviv Freelance Forum Назар Іваненко “Під лежачий камінь вода не тече”
 
Lviv Freelance Forum Анастасія Новікова «Холодні продажі чи фріланс-біржі: що...
Lviv Freelance Forum Анастасія Новікова «Холодні продажі чи фріланс-біржі: що...Lviv Freelance Forum Анастасія Новікова «Холодні продажі чи фріланс-біржі: що...
Lviv Freelance Forum Анастасія Новікова «Холодні продажі чи фріланс-біржі: що...
 
Сергій Каніщев “Soft Launch як запорука успішного розвитку мобільної гри”
Сергій Каніщев “Soft Launch як запорука успішного розвитку мобільної гри”Сергій Каніщев “Soft Launch як запорука успішного розвитку мобільної гри”
Сергій Каніщев “Soft Launch як запорука успішного розвитку мобільної гри”
 
Юрій Мірошник “Красиві і швидкі партікл ефекти в HTML5 (JavaScript)”
Юрій Мірошник “Красиві і швидкі партікл ефекти в HTML5 (JavaScript)”Юрій Мірошник “Красиві і швидкі партікл ефекти в HTML5 (JavaScript)”
Юрій Мірошник “Красиві і швидкі партікл ефекти в HTML5 (JavaScript)”
 
Lviv Outsourcing Forum 2016 Василь Милько “R&D at SoftServe created bunch of ...
Lviv Outsourcing Forum 2016 Василь Милько “R&D at SoftServe created bunch of ...Lviv Outsourcing Forum 2016 Василь Милько “R&D at SoftServe created bunch of ...
Lviv Outsourcing Forum 2016 Василь Милько “R&D at SoftServe created bunch of ...
 
Сергі Поволяшко "Замовник Вас використовує. Що робити?"
Сергі Поволяшко "Замовник Вас використовує. Що робити?"Сергі Поволяшко "Замовник Вас використовує. Що робити?"
Сергі Поволяшко "Замовник Вас використовує. Що робити?"
 
Нестор Дубневич “Темна сторона” інвестицій: як не подарувати юристу одержані ...
Нестор Дубневич “Темна сторона” інвестицій: як не подарувати юристу одержані ...Нестор Дубневич “Темна сторона” інвестицій: як не подарувати юристу одержані ...
Нестор Дубневич “Темна сторона” інвестицій: як не подарувати юристу одержані ...
 
Lviv Outsourcing Forum 2016 Максим Іцкович “iOS & Android : What happened dur...
Lviv Outsourcing Forum 2016 Максим Іцкович “iOS & Android : What happened dur...Lviv Outsourcing Forum 2016 Максим Іцкович “iOS & Android : What happened dur...
Lviv Outsourcing Forum 2016 Максим Іцкович “iOS & Android : What happened dur...
 
Орест Зуб “”Onboarding” або “Як ефективно допомогти клієнту використати придб...
Орест Зуб “”Onboarding” або “Як ефективно допомогти клієнту використати придб...Орест Зуб “”Onboarding” або “Як ефективно допомогти клієнту використати придб...
Орест Зуб “”Onboarding” або “Як ефективно допомогти клієнту використати придб...
 
Майстер-клас від Олексія Єгошина "Маржинальність проекту, або чому вам не під...
Майстер-клас від Олексія Єгошина "Маржинальність проекту, або чому вам не під...Майстер-клас від Олексія Єгошина "Маржинальність проекту, або чому вам не під...
Майстер-клас від Олексія Єгошина "Маржинальність проекту, або чому вам не під...
 
UA Venture Industry in 2015
UA Venture Industry in 2015UA Venture Industry in 2015
UA Venture Industry in 2015
 
Артем Іванов “Як привести клієнтів в свій бізнес з соціальних мереж”
Артем Іванов “Як привести клієнтів в свій бізнес з соціальних мереж”Артем Іванов “Як привести клієнтів в свій бізнес з соціальних мереж”
Артем Іванов “Як привести клієнтів в свій бізнес з соціальних мереж”
 
Lviv Outsourcing Forum 2016 Андрій Горбатюк “Як змусити процес працювати, якщ...
Lviv Outsourcing Forum 2016 Андрій Горбатюк “Як змусити процес працювати, якщ...Lviv Outsourcing Forum 2016 Андрій Горбатюк “Як змусити процес працювати, якщ...
Lviv Outsourcing Forum 2016 Андрій Горбатюк “Як змусити процес працювати, якщ...
 
Євген Сафонов “Чому ви ніколи не зробите ефективний кейс. Фейли в SMM”
Євген Сафонов “Чому ви ніколи не зробите ефективний кейс. Фейли в SMM”Євген Сафонов “Чому ви ніколи не зробите ефективний кейс. Фейли в SMM”
Євген Сафонов “Чому ви ніколи не зробите ефективний кейс. Фейли в SMM”
 
Lviv Freelance Forum Айше Борсеітова «Лайфхаки вивчення англійської»
Lviv Freelance Forum Айше Борсеітова «Лайфхаки вивчення англійської»Lviv Freelance Forum Айше Борсеітова «Лайфхаки вивчення англійської»
Lviv Freelance Forum Айше Борсеітова «Лайфхаки вивчення англійської»
 
Максим Мельник “Ігри на навколополітичні теми”
Максим Мельник “Ігри на навколополітичні теми”Максим Мельник “Ігри на навколополітичні теми”
Максим Мельник “Ігри на навколополітичні теми”
 
Денис Береговий “Анатомія аутсорсингу: визначаємо структуру вашої іт компанії”
Денис Береговий “Анатомія аутсорсингу: визначаємо структуру вашої іт компанії”Денис Береговий “Анатомія аутсорсингу: визначаємо структуру вашої іт компанії”
Денис Береговий “Анатомія аутсорсингу: визначаємо структуру вашої іт компанії”
 
Lviv Freelance Forum Наталія Петрицин «Як успішно провести переговори і не вт...
Lviv Freelance Forum Наталія Петрицин «Як успішно провести переговори і не вт...Lviv Freelance Forum Наталія Петрицин «Як успішно провести переговори і не вт...
Lviv Freelance Forum Наталія Петрицин «Як успішно провести переговори і не вт...
 
Lviv Outsourcing Forum 2016 Сергій Лисак “Dealing with unhappy customers as a...
Lviv Outsourcing Forum 2016 Сергій Лисак “Dealing with unhappy customers as a...Lviv Outsourcing Forum 2016 Сергій Лисак “Dealing with unhappy customers as a...
Lviv Outsourcing Forum 2016 Сергій Лисак “Dealing with unhappy customers as a...
 
Христина Дикун "Відео-контент. Як створювати, де зберігати. Чому відео накращ...
Христина Дикун "Відео-контент. Як створювати, де зберігати. Чому відео накращ...Христина Дикун "Відео-контент. Як створювати, де зберігати. Чому відео накращ...
Христина Дикун "Відео-контент. Як створювати, де зберігати. Чому відео накращ...
 

Similaire à Олексій Андрусевич “Прискорення робочого процесу в Adobe Photoshop за допомогою Javascript”

CodeFest 2010. Столяров С. — Серверный JavaScript: NodeJS и CouchDB
CodeFest 2010. Столяров С. — Серверный JavaScript: NodeJS и CouchDBCodeFest 2010. Столяров С. — Серверный JavaScript: NodeJS и CouchDB
CodeFest 2010. Столяров С. — Серверный JavaScript: NodeJS и CouchDB
CodeFest
 
Серверный JavaScript: NodeJS и CouchDB
Серверный JavaScript: NodeJS и CouchDBСерверный JavaScript: NodeJS и CouchDB
Серверный JavaScript: NodeJS и CouchDB
Stepan Stolyarov
 
Windows Azure & NodeJS Microsoft SWIT 2012
Windows Azure & NodeJS Microsoft SWIT 2012 Windows Azure & NodeJS Microsoft SWIT 2012
Windows Azure & NodeJS Microsoft SWIT 2012
Dmytro Mindra
 
Making Scalable JavaScript Application
Making Scalable JavaScript ApplicationMaking Scalable JavaScript Application
Making Scalable JavaScript Application
Mikhail Davydov
 
МРТ для данных, Frontend Conf 2016
МРТ для данных, Frontend Conf 2016МРТ для данных, Frontend Conf 2016
МРТ для данных, Frontend Conf 2016
Anastasia Goryacheva
 
МРТ для данных / Анастасия Горячева (Avito)
МРТ для данных / Анастасия Горячева (Avito)МРТ для данных / Анастасия Горячева (Avito)
МРТ для данных / Анастасия Горячева (Avito)
Ontico
 

Similaire à Олексій Андрусевич “Прискорення робочого процесу в Adobe Photoshop за допомогою Javascript” (20)

Михаил Давыдов "Масштабируемые JavaScript-приложения"
Михаил Давыдов "Масштабируемые JavaScript-приложения"Михаил Давыдов "Масштабируемые JavaScript-приложения"
Михаил Давыдов "Масштабируемые JavaScript-приложения"
 
DirectX12 Graphics and Performance
DirectX12 Graphics and PerformanceDirectX12 Graphics and Performance
DirectX12 Graphics and Performance
 
CodeFest 2010. Столяров С. — Серверный JavaScript: NodeJS и CouchDB
CodeFest 2010. Столяров С. — Серверный JavaScript: NodeJS и CouchDBCodeFest 2010. Столяров С. — Серверный JavaScript: NodeJS и CouchDB
CodeFest 2010. Столяров С. — Серверный JavaScript: NodeJS и CouchDB
 
Серверный JavaScript: NodeJS и CouchDB
Серверный JavaScript: NodeJS и CouchDBСерверный JavaScript: NodeJS и CouchDB
Серверный JavaScript: NodeJS и CouchDB
 
directx
directxdirectx
directx
 
Windows Azure & NodeJS Microsoft SWIT 2012
Windows Azure & NodeJS Microsoft SWIT 2012 Windows Azure & NodeJS Microsoft SWIT 2012
Windows Azure & NodeJS Microsoft SWIT 2012
 
Александр Тармолов "API Яндекс.Карт"
Александр Тармолов "API Яндекс.Карт"Александр Тармолов "API Яндекс.Карт"
Александр Тармолов "API Яндекс.Карт"
 
Правильная организация клиент-карточного взаимодействия — Антон Корзунов
Правильная организация клиент-карточного взаимодействия — Антон КорзуновПравильная организация клиент-карточного взаимодействия — Антон Корзунов
Правильная организация клиент-карточного взаимодействия — Антон Корзунов
 
Андрей Субботин "Локализация приложений для iOS: как не прострелить себе ногу"
Андрей Субботин "Локализация приложений для iOS: как не прострелить себе ногу"Андрей Субботин "Локализация приложений для iOS: как не прострелить себе ногу"
Андрей Субботин "Локализация приложений для iOS: как не прострелить себе ногу"
 
Руслан Гроховецкий "Как Python стал делать погоду в Яндексе"
Руслан Гроховецкий "Как Python стал делать погоду в Яндексе"Руслан Гроховецкий "Как Python стал делать погоду в Яндексе"
Руслан Гроховецкий "Как Python стал делать погоду в Яндексе"
 
Making Scalable JavaScript Application
Making Scalable JavaScript ApplicationMaking Scalable JavaScript Application
Making Scalable JavaScript Application
 
Spark: нетипичные примеры использования
Spark:  нетипичные примеры использованияSpark:  нетипичные примеры использования
Spark: нетипичные примеры использования
 
Михаил Давыдов "Масштабируемые JavaScript-приложения"
Михаил Давыдов "Масштабируемые JavaScript-приложения"Михаил Давыдов "Масштабируемые JavaScript-приложения"
Михаил Давыдов "Масштабируемые JavaScript-приложения"
 
Суперсилы Chrome DevTools — Роман Сальников, 2ГИС
Суперсилы Chrome DevTools — Роман Сальников, 2ГИССуперсилы Chrome DevTools — Роман Сальников, 2ГИС
Суперсилы Chrome DevTools — Роман Сальников, 2ГИС
 
Expert Fridays Spark Job
Expert Fridays Spark JobExpert Fridays Spark Job
Expert Fridays Spark Job
 
Reinventing the wheel - why do it and how to feel good about it - Julik Tarkh...
Reinventing the wheel - why do it and how to feel good about it - Julik Tarkh...Reinventing the wheel - why do it and how to feel good about it - Julik Tarkh...
Reinventing the wheel - why do it and how to feel good about it - Julik Tarkh...
 
Windows Azure and node js
Windows Azure and node jsWindows Azure and node js
Windows Azure and node js
 
Фёдор Голубев "API Яндекс.Карт"
Фёдор Голубев "API Яндекс.Карт"Фёдор Голубев "API Яндекс.Карт"
Фёдор Голубев "API Яндекс.Карт"
 
МРТ для данных, Frontend Conf 2016
МРТ для данных, Frontend Conf 2016МРТ для данных, Frontend Conf 2016
МРТ для данных, Frontend Conf 2016
 
МРТ для данных / Анастасия Горячева (Avito)
МРТ для данных / Анастасия Горячева (Avito)МРТ для данных / Анастасия Горячева (Avito)
МРТ для данных / Анастасия Горячева (Avito)
 

Plus de Lviv Startup Club

Plus de Lviv Startup Club (20)

Artem Bykovets: 4 Вершники апокаліпсису робочих стосунків (+антидоти до них) ...
Artem Bykovets: 4 Вершники апокаліпсису робочих стосунків (+антидоти до них) ...Artem Bykovets: 4 Вершники апокаліпсису робочих стосунків (+антидоти до них) ...
Artem Bykovets: 4 Вершники апокаліпсису робочих стосунків (+антидоти до них) ...
 
Dmytro Khudenko: Challenges of implementing task managers in the corporate an...
Dmytro Khudenko: Challenges of implementing task managers in the corporate an...Dmytro Khudenko: Challenges of implementing task managers in the corporate an...
Dmytro Khudenko: Challenges of implementing task managers in the corporate an...
 
Sergii Melnichenko: Лідерство в Agile командах: ТОП-5 основних психологічних ...
Sergii Melnichenko: Лідерство в Agile командах: ТОП-5 основних психологічних ...Sergii Melnichenko: Лідерство в Agile командах: ТОП-5 основних психологічних ...
Sergii Melnichenko: Лідерство в Agile командах: ТОП-5 основних психологічних ...
 
Mariia Rashkevych: Підвищення ефективності розроблення та реалізації освітніх...
Mariia Rashkevych: Підвищення ефективності розроблення та реалізації освітніх...Mariia Rashkevych: Підвищення ефективності розроблення та реалізації освітніх...
Mariia Rashkevych: Підвищення ефективності розроблення та реалізації освітніх...
 
Mykhailo Hryhorash: What can be good in a "bad" project? (UA)
Mykhailo Hryhorash: What can be good in a "bad" project? (UA)Mykhailo Hryhorash: What can be good in a "bad" project? (UA)
Mykhailo Hryhorash: What can be good in a "bad" project? (UA)
 
Oleksii Kyselov: Що заважає ПМу зростати? Розбір практичних кейсів (UA)
Oleksii Kyselov: Що заважає ПМу зростати? Розбір практичних кейсів (UA)Oleksii Kyselov: Що заважає ПМу зростати? Розбір практичних кейсів (UA)
Oleksii Kyselov: Що заважає ПМу зростати? Розбір практичних кейсів (UA)
 
Yaroslav Osolikhin: «Неідеальний» проєктний менеджер: People Management під ч...
Yaroslav Osolikhin: «Неідеальний» проєктний менеджер: People Management під ч...Yaroslav Osolikhin: «Неідеальний» проєктний менеджер: People Management під ч...
Yaroslav Osolikhin: «Неідеальний» проєктний менеджер: People Management під ч...
 
Mariya Yeremenko: Вплив Генеративного ШІ на сучасний світ та на особисту ефек...
Mariya Yeremenko: Вплив Генеративного ШІ на сучасний світ та на особисту ефек...Mariya Yeremenko: Вплив Генеративного ШІ на сучасний світ та на особисту ефек...
Mariya Yeremenko: Вплив Генеративного ШІ на сучасний світ та на особисту ефек...
 
Petro Nikolaiev & Dmytro Kisov: ТОП-5 методів дослідження клієнтів для успіху...
Petro Nikolaiev & Dmytro Kisov: ТОП-5 методів дослідження клієнтів для успіху...Petro Nikolaiev & Dmytro Kisov: ТОП-5 методів дослідження клієнтів для успіху...
Petro Nikolaiev & Dmytro Kisov: ТОП-5 методів дослідження клієнтів для успіху...
 
Maksym Stelmakh : Державні електронні послуги та сервіси: чому бізнесу варто ...
Maksym Stelmakh : Державні електронні послуги та сервіси: чому бізнесу варто ...Maksym Stelmakh : Державні електронні послуги та сервіси: чому бізнесу варто ...
Maksym Stelmakh : Державні електронні послуги та сервіси: чому бізнесу варто ...
 
Alexander Marchenko: Проблеми росту продуктової екосистеми (UA)
Alexander Marchenko: Проблеми росту продуктової екосистеми (UA)Alexander Marchenko: Проблеми росту продуктової екосистеми (UA)
Alexander Marchenko: Проблеми росту продуктової екосистеми (UA)
 
Oleksandr Grytsenko: Save your Job або прокачай скіли до Engineering Manageme...
Oleksandr Grytsenko: Save your Job або прокачай скіли до Engineering Manageme...Oleksandr Grytsenko: Save your Job або прокачай скіли до Engineering Manageme...
Oleksandr Grytsenko: Save your Job або прокачай скіли до Engineering Manageme...
 
Yuliia Pieskova: Фідбек: не лише "як", але й "коли" і "навіщо" (UA)
Yuliia Pieskova: Фідбек: не лише "як", але й "коли" і "навіщо" (UA)Yuliia Pieskova: Фідбек: не лише "як", але й "коли" і "навіщо" (UA)
Yuliia Pieskova: Фідбек: не лише "як", але й "коли" і "навіщо" (UA)
 
Nataliya Kryvonis: Essential soft skills to lead your team (UA)
Nataliya Kryvonis: Essential soft skills to lead your team (UA)Nataliya Kryvonis: Essential soft skills to lead your team (UA)
Nataliya Kryvonis: Essential soft skills to lead your team (UA)
 
Volodymyr Salyha: Stakeholder Alchemy: Transforming Analysis into Meaningful ...
Volodymyr Salyha: Stakeholder Alchemy: Transforming Analysis into Meaningful ...Volodymyr Salyha: Stakeholder Alchemy: Transforming Analysis into Meaningful ...
Volodymyr Salyha: Stakeholder Alchemy: Transforming Analysis into Meaningful ...
 
Anna Chalyuk: 7 інструментів та принципів, які допоможуть зробити вашу команд...
Anna Chalyuk: 7 інструментів та принципів, які допоможуть зробити вашу команд...Anna Chalyuk: 7 інструментів та принципів, які допоможуть зробити вашу команд...
Anna Chalyuk: 7 інструментів та принципів, які допоможуть зробити вашу команд...
 
Oksana Smilka: Цінності, цілі та (де) мотивація (UA)
Oksana Smilka: Цінності, цілі та (де) мотивація (UA)Oksana Smilka: Цінності, цілі та (де) мотивація (UA)
Oksana Smilka: Цінності, цілі та (де) мотивація (UA)
 
Yaroslav Rozhankivskyy: Три складові і три передумови максимальної продуктивн...
Yaroslav Rozhankivskyy: Три складові і три передумови максимальної продуктивн...Yaroslav Rozhankivskyy: Три складові і три передумови максимальної продуктивн...
Yaroslav Rozhankivskyy: Три складові і три передумови максимальної продуктивн...
 
Andrii Skoromnyi: Чому не працює методика "5 Чому?" – і яка є альтернатива? (UA)
Andrii Skoromnyi: Чому не працює методика "5 Чому?" – і яка є альтернатива? (UA)Andrii Skoromnyi: Чому не працює методика "5 Чому?" – і яка є альтернатива? (UA)
Andrii Skoromnyi: Чому не працює методика "5 Чому?" – і яка є альтернатива? (UA)
 
Maryna Sokyrko & Oleksandr Chugui: Building Product Passion: Developing AI ch...
Maryna Sokyrko & Oleksandr Chugui: Building Product Passion: Developing AI ch...Maryna Sokyrko & Oleksandr Chugui: Building Product Passion: Developing AI ch...
Maryna Sokyrko & Oleksandr Chugui: Building Product Passion: Developing AI ch...
 

Олексій Андрусевич “Прискорення робочого процесу в Adobe Photoshop за допомогою Javascript”

  • 1.
  • 2. Ускорение рабочего процесса в ADOBE PHOTOSHOP с помощью JAVASCRIPT Andrusevich Alex
  • 5. Вступление Скриптования и примеры моих скриптов Написание и примеры панэлей для Photoshop
  • 6. РУТИНА НЕ ДОЛЖНА ПРИВОДИТЬ К ОШИБКАМ ОТДАЙТЕ ВСЕ «МАШИНЕ»
  • 7. Изучение программирования самостоятельно - тяжелая наука... ...пока не построишь процесс правильно
  • 8. Программист - лучший друг человека)
  • 9.
  • 10.
  • 11. до 4 сек около 2 сек всего 0,5 сек
  • 12. • 20 дней - (66,66)*20 - получим около И ЕТО ТОЛЬКО ИЗ ЗА НЕ ИСНОЛЬЗАВАНИЯ «ХОТКЕЕВ»
  • 13. Кусок кода со ScriptingListenerJS.log // =========== var idMk = charIDToTypeID( "Mk " ); var desc27 = new ActionDescriptor(); var idNw = charIDToTypeID( "Nw " ); var desc28 = new ActionDescriptor(); var idMd = charIDToTypeID( "Md " ); var idRGBM = charIDToTypeID( "RGBM" ); desc28.putClass( idMd, idRGBM ); var idWdth = charIDToTypeID( "Wdth" ); var idRlt = charIDToTypeID( "#Rlt" ); desc28.putUnitDouble( idWdth, idRlt, 512.000000 ); var idHght = charIDToTypeID( "Hght" ); var idRlt = charIDToTypeID( "#Rlt" ); desc28.putUnitDouble( idHght, idRlt, 512.000000 ); var idRslt = charIDToTypeID( "Rslt" ); var idRsl = charIDToTypeID( "#Rsl" ); desc28.putUnitDouble( idRslt, idRsl, 72.000000 ); var idpixelScaleFactor = stringIDToTypeID( "pixelScaleFactor" ); desc28.putDouble( idpixelScaleFactor, 1.000000 ); var idFl = charIDToTypeID( "Fl " ); var idFl = charIDToTypeID( "Fl " ); var idWht = charIDToTypeID( "Wht " ); desc28.putEnumerated( idFl, idFl, idWht ); var idDpth = charIDToTypeID( "Dpth" ); desc28.putInteger( idDpth, 8 ); var idprofile = stringIDToTypeID( "profile" ); desc28.putString( idprofile, """sRGB IEC61966-2.1""" ); var idDcmn = charIDToTypeID( "Dcmn" ); desc27.putObject( idNw, idDcmn, desc28 ); executeAction( idMk, desc27, DialogModes.NO ); //второе - новый слой // ======================================================= var idMk = charIDToTypeID( "Mk " ); var desc29 = new ActionDescriptor(); var idnull = charIDToTypeID( "null" ); var ref12 = new ActionReference(); var idLyr = charIDToTypeID( "Lyr " ); ref12.putClass( idLyr ); desc29.putReference(idnull, ref12 ); executeAction( idMk, desc29, DialogModes.NO ); //третье - переименует данный слой в Test_layer // ======================================================= var idsetd = charIDToTypeID( "setd" ); var desc30 = new ActionDescriptor(); var idnull = charIDToTypeID( "null" ); var ref13 = new ActionReference(); var idLyr = charIDToTypeID( "Lyr " ); var idOrdn = charIDToTypeID( "Ordn" ); var idTrgt = charIDToTypeID( "Trgt" ); ref13.putEnumerated( idLyr, idOrdn, idTrgt ); desc30.putReference(idnull, ref13 ); var idT = charIDToTypeID( "T " ); var desc31 = new ActionDescriptor(); var idNm = charIDToTypeID( "Nm " ); desc31.putString( idNm, """Test_layer""" ); var idLyr = charIDToTypeID( "Lyr " ); desc30.putObject( idT, idLyr, desc31 ); executeAction( idsetd, desc30, DialogModes.NO );
  • 14. Так выглядит простой скрипт, написанный на Javascript app.documents.add() var layerRef = app.activeDocument.artLayers.add() layerRef.name = "Test_Layer"
  • 15. UV_ON_OFF.jsx Включал и отключал одной клавишей слой с именем «UV» …Одной кнопкой? Да… Одной кнопкой?...
  • 16. -30 ЧАСОВ -210 ЧАСОВ На одной карте При переделке всех карт под новую спецификацию
  • 17. около 20 мин ОКОЛО 250 СAМОЛЕТОВ! На одном самолете При работе над всеми самолетами! около 80часов ПОТЕРЬ РАБОЧЕГО ВРЕМЕНИ! Всего
  • 18. - название файла - разрешение - расширение - формат - и т.д. МЫ ЖЕ ЛЮДИ! И ОШИБКУ МОЖЕТ СДЕЛАТЬ КАЖДЫЙ! QA ARTIST! – ПОЙМИ И ПРОСТИ!
  • 20.
  • 21. - Бронированый скелет парящий в горах - Огненный ведьма идущий зимой - Шершавый жук смотрящий в воде Иногда «Бредогинератор»:(
  • 22. - Огненный солдат бегущий в замке - Друид бьющийся на поле боя - Огненный дракон дерущийся в пещере Но бываает интересное:
  • 24.
  • 25. Adobe Configurator - для создания собственных панелей
  • 26. WOWP MAP PROTOTYP - Набор скриптов для Photoshop который позволяет в несколько раз увеличить скорость производства прототипов карт за счет скриптов которые делают за художника рутинную работу
  • 28.
  • 29. 8 K / 8 K 2X 4 K / 4 K R G B R G B
  • 30. ДО ПРИМЕНЕНИЯ WOWP MAP PROTOTYP Прототип карты производилась от 3 до 5-ти дней ПОСЛЕ 8 ЧАСОВ
  • 31. ИМЕЯ ОДНУ СТРУКТУРУ ФАЙЛОВ В ПАПКЕ, ОДНУ СТРУКТУРУ PSD ФАЙЛОВ, ОДИН ВИД 3D ФАЙЛОВ, МОЖНО МАКСИМАЛЬНО ПРОСТО НАСТРОИТЬ АВТОМАТИЗАЦИЮ С ПОМОШЬЮ СКРИПТОВ
  • 32. ПРИМЕР WGPM ИНСТРУМЕНТА В PHOTOSHOP • Написана на HTML CSS JQUERY • Возможность кастомизации панели • Гибкость настройки каждой вкладки • Возможность добавления вкладок в зависимости от отдела (прототипирование, текстуринг, UI итд)
  • 33. ПРИМЕРЫ УТИЛИТ ДЛЯ PHOTOSHOP Вкладка для изменения типа карты Утилита изменяет тип карты одним нажатием на иконку будь то карта тропики, пустыня, Антарктика и т.д.
  • 34. Вкладка изменения атласа текстур С помощью утилиты можно изменять как отдельные элементы атласа так и атлас полностью
  • 38. - пишите так, как я - пишите вместе со мной - пишите лучше меня Да пребудет с Вами сверхскорость джедаев