Олексій Андрусевич “Прискорення робочого процесу в...

39
ЭКОНОМИТЬ ОКОЛО 20 ЧАСОВ В МЕСЯЦ?!!!

Upload: lviv-startup-club

Post on 12-Apr-2017

344 views

Category:

Business


3 download

TRANSCRIPT

ЭКОНОМИТЬОКОЛО

20 ЧАСОВ В МЕСЯЦ?!!!

Ускорение рабочего процесса в ADOBE PHOTOSHOP

с помощью JAVASCRIPT

Andrusevich Alex

Алексей АндрусевичSenior level designer

И многие другие

ВступлениеСкриптования и примеры моих скриптовНаписание и примеры панэлей для Photoshop

РУТИНА НЕ ДОЛЖНА ПРИВОДИТЬ К ОШИБКАМ

ОТДАЙТЕ ВСЕ «МАШИНЕ»

Изучение программирования самостоятельно - тяжелая наука...

...пока не построишь процесс правильно

Программист - лучший друг человека)

Alex Andrusevich
Слайд для того чтобы сказать что проблема состоит в том что программеры во многом не понимают процесс художников а хцдожники в свою очередь не понимають что можно напрограмить

HOTKEYS

PANELS

SCRIPTS

ACTIONS

Alex Andrusevich
При использовании скриптов в работе возможно экономить сотни ато и тысячи человеко часов зависимо от масштаба компани

Layer>New>Layer>OK

Дотянутся к пиктограмки create a

new layer

Ctrl+Shift+Alt+N

до 4 сек

около 2 сек

всего 0,5 сек

• 20 дней - (66,66)*20 - получим около

ОКОЛО20 ЧАСОВ В МЕСЯЦ!!!

И ЕТО ТОЛЬКО ИЗ ЗА НЕ ИСНОЛЬЗАВАНИЯ «ХОТКЕЕВ»

Alex Andrusevich

Кусок кодасо

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

Моё детище ;)

ЗАДУМКА КАРТЫ

ТЭСТ ПРОТОТИПА

Пара кнопок в панэли1-2-3-4

Около 10 разных расширения

файлов

Разные директории сохранения

Определенное именование

файлов

Разные форматов файлов

При экспорте в одном файле в каналах разные

материалы

8 K / 8 K 2X 4 K / 4 K

RGBRGB

ДО ПРИМЕНЕНИЯ WOWP MAP PROTOTYP

Прототип карты производилась от 3 до 5-ти дней

ПОСЛЕ 8 ЧАСОВ

ИМЕЯ ОДНУ СТРУКТУРУ ФАЙЛОВ В ПАПКЕ,

ОДНУ СТРУКТУРУ PSD ФАЙЛОВ,

ОДИН ВИД 3D ФАЙЛОВ,

МОЖНО МАКСИМАЛЬНО ПРОСТО НАСТРОИТЬ АВТОМАТИЗАЦИЮ С

ПОМОШЬЮ СКРИПТОВ

ПРИМЕР WGPM ИНСТРУМЕНТА В PHOTOSHOP

• Написана на HTML CSS JQUERY • Возможность кастомизации панели• Гибкость настройки каждой вкладки• Возможность добавления вкладок в зависимости от отдела (прототипирование, текстуринг, UI итд)

ПРИМЕРЫ УТИЛИТ ДЛЯ PHOTOSHOP

Вкладка для изменения типа

карты

Утилита изменяет тип карты одним нажатием на иконку будь то карта тропики, пустыня, Антарктика и т.д.

Вкладка изменения атласа

текстур

С помощью утилиты можно изменять как отдельные элементы атласа так и атлас полностью

HEAD PAINT

COLOR PALETTE

RENAMER 2

- пишите так, как я- пишите вместе со

мной- пишите лучше меня

Да пребудет с Вамисверхскорость джедаев

Спасибо!Вопросы?

[email protected]

Skype - dok_offAlex Andrusevich

Senior level designer