Tactic Handler - держи файлы в порядке

Дело было два года назад. Решили мы втроём мультик запилить. И мой кореш подумал, что надо бы что-то для упорядочивания файлов сделать. Тулзу, наподобие студийной. А то ведь мультик - дело непростое и комплексное, файлов будет много и за ними надо как-то следить и всячески держать в порядке.

Мультик похоронили, когда второй товарищ уехал и вообще с ним как-то не заладилось. Но то совсем другая история. А вот первый кореш оказался не пальцем деланный - сел, и начал пилить тулзу. Зовут его Леша.
Поначалу я не очень обращал внимание на то, что он там пишет. Хотя мы обсуждали это дело, кто как видит и все такое. Пока для меня это было на бумажке, то заинтересованность была средняя.

Но шло время, и Алексей добавлял потихоньку функционал. И однажды закинул мне билд потестить. Я потестил. Аппетит пришел во время еды. Я на деле увидел потенциал этой штуки и начал пользоваться ею дома. Так я стал тестировщиком Лешиной тулзы. Ну и по связям с общественностью, заодно. И с тех пор заваливаю его хотелками и переделками, которые он терпеливо впиливает. За что ему большое спасибо, ибо теперь без этой тулзы я свой рабочий процесс просто не представляю. Итак, Tactic Handler!


Что такое, этот ваш Tactic Handler?

TH – GUI, основанный на xmlrpc api Тактика. Другими словами, это диалоговая оболочка для работы с базой данных опенсорсного Тактика. А сам Тактик — это фреймворк, написанный на питоне, который нужен тем, кто хочет организовать свою работу, или работу своей конторы, вести задачи, организовывать файловые архивы, вести учет рабочего времени, переписку и т.д. Сам Тактик управляется на сервере через веб интерфейс. Для сижи-артиста ворочать этим неудобно. А для вашего удобства и есть Tactic Handler.


Не понял. Так это не просто скрипт, типа установил, открыл и работаешь?

Нет. TH не завязан на какую-то программу. Он может быть и стендэлоном. С помощью него юзер коммитит (делает записи в базу данных) абсолютно разные файлы из разных программ, с которыми ему приходится рабортать, исходя из пайплайна.


А что нужно, чтобы это юзать?

Вам понадобится сервер, небольшие знания тактика, чтобы сделать шаблон проекта и сам клиент. Сервер может быть и локальным. На нем запускается тактик и хранится база данных. По сути, надо скачать тактик-сервер с сайта тактика, запустить его и закинуть в него шаблон проекта, над которым вы планируете работать. Шаблон, в свою очередь — это схема проекта, весь ваш пайплайн. Т.е. в нем как бы задаются правила, как будут называться файлы, какие процессы будут задействованы (моделирование, текстурирование, композ и т.д.), какие ассеты в нем планируются (props, chars, sets и т.д.). Вобщем, шаблон — это структура проекта, его скелет.


Блин, сложняк. А не проще просто по папочкам файлики вручную сохранять?

Нет. :) По крайней мере за те полтора года, пока Леша пишет, а я тестирую, я для себя с уверенностью это решил. Тем более суть не только в сохранении файлов, а в том, чтобы помнить, где и какая работа велась. Давайте я на примере работы с одним пропсом вам все покажу подробнее и с картинками.

Итак, так выглядит Tactic-Handler.

2019-01-07_184149.png

Сверху можно видеть нескрытые табы блоков проекта, которые тянутся как раз из заранее созданного шаблона. Это то, как мы с Лехой видим структуру комплексного проекта, исходя из работы над подобными вещами в студии. Естественно, каждый в будущем сможет сделать свой шаблон проекта в самом тактике в админке. К сожалению сейчас, как по мне, обычному юзеру непросто будет разобраться с этим шагом. В будущем планируется добавить функционал редактирования шаблона через диалоговое окно, чтобы было доступно всем без особого напряга. Кстати, даже если уже есть начатый проект, под него можно собрать шаблон и править его по ходу дела.

Слева внизу можно разглядеть два таба - это открытые проекты. Можно переключаться между разными проектами (которые могут иметь разные шаблоны) в любой удобный момент. Или скрыть все и оставить только один проект, над которым идет работа.

2019-01-08_143028.png


Так же есть диалоговое окно разбито на три главных части. Но все настраивается и перетаскивается индивидуально. Все блоки плавающие. Слева — список ассетов (в данном случае я открыл пропсы, но это также может быть что угодно: аниматики, сцены, текстуры, сборные локации или сеты). В данный момент "развернут" пропс Opel Blitz. Это грузовик, который я когда-то моделил для себя. У каждого ассета есть свои процессы. Мы решили, что для пропса эти процессы будут: Reference, Sculpting, Modeling, Texturing, Render, Geometry, Rigging. Они отражают этапы работы. Все говорят сами за себя, лишь Geometry было впилено, чтобы коммитить экспортированную геометрию. Бывает ведь, что нужны разные версии обэжэх или чего другого, что есть геометрия.

2019-01-08_143046.png

Остановимся тут ненадолго. Любой процесс может быть разбит на субпроцессы. Ветвление неограничено. Но нафиг кому такое надо будет? Мы решили тормознуть на одной вложенности. К примеру, процесс поиска и сбора референсов (Reference) имеет субпроцессы: Pics (для коммита туда просто разных картинок по сабжекту), Sketches (это если художник спецом нарисовал картинку с конкретным ТЗ) и Blueprints (для коммита чертежей по объекту).

Sourcetex и Textures в данном случае — это своеобразные типы объектов в самом тактике. Их вы могли видеть отдельными табами на первом скрине. В Textures, к примеру, можно создавать отдельные параллельные процессы, над которыми могут работать несколько человек, где каждый будет решать свою задачу. Один рисует текстуры для целого грузовика, другой - сгоревшего. Соответсвенно, в этом типе Textures есть две записи: Clean и Damaged, к примеру. И результат их работы в виде текстурных файлов путем коммита через скрипт попадает в папку именно к этому пропсу. Понимаю, сложно понять на словах, но я хотел бы просто описать в общих чертах возможности скрипта, чтобы у вас было примерное представление о том, как с ним можно организовать свою работу. Так это выглядит:

textures.png

И в самом пропсе существует линк Parent-Child, где Parent - пропс, а Child - процесс текстур.

А так, к примеру, выглядит нынешний фриланс Алексея. Это детский сериальчик. Организовал он его следующим образом:

fcb0b05a-937c-455f-a910-d5b445bbe0dd.png

Эпизод разделен на шоты. В каждом шоте свои процессы и версии файла.

Прежде чем работать с ассетом любого рода, его надо создать. Диалоговое окно создание ассета может выглядеть иначе для разных видов ассетов. Для пропса оно выглядит так.

2019-01-08_165948.png

В дальнейшем можно вести поиск по ключевым словам, по имени и другим параметрам. После создания записи в базе данных, скрипт так же создает структуру там, где вы указали быть проекту. И после все файлы при коммите будут сохраняться в соответствующие папки автоматически.

2019-01-08_170622.png

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

2019-01-08_150521.png

Тут мы видим, что юзер может создать версии своей работы, добавляя контекст при коммите. В данном случае в специальное поле context я добавил следующее: lowpoly, sketchfab01, blocking. Т.е. тем самым я разделил свои майские файлы, т.к. в одном файле у меня геометрия для скетчфаба, в другом начал делать лоупольку, а в третьем был блокинг. И чтобы все в куче это не держать, я разделил это на такие своеобразные этапы, которые преследуют разные цели.

У каждого такого файла есть версии. Они как раз отображаются в соседней части окна, посередине:

2019-01-08_143055.png

Нейминг задается автоматически. Настраивается все в админке Тактика. Если при сохранении создается новый файл, то это версия и она подписывается как Ver.###, если пользователь пересохраняет имеющийся файл, то к версии добавляется пометка Review.### с возможностью оставить новый комментарий, чтобы потом знать, что было сделано при сохранении. Камент писать не обязательно. Local говорит о том, что файл сохранен в локальной директории. В префах скрипта можно указать разные пути, к примеру, для сохранения на сервер или себе на компьютер. Это сделано для командной работы, чтобы у всех был доступ к файлам. Из плюшек - каждый раз делается снапшот, что мне очень нравится.

Справа выводится информация о всех файлах по конкретной записи (по конкретному контексту), также окошко с дескрипшном, который можно поправить или просмотреть полностью, если там много букв.

2019-01-08_143108.png


Drop Plate - крутая штука для коммита извне. Т.е. вы можете закоммитить абсолютно любые файлы, секвенции, юдимы и т.д. Дроп плейт считывает поступающую инфу по своим правилам и распознает, что именно вы хотите ему скормить.

c0ee7ab1-26cb-42b1-a76a-5f856d8dd1fd.png

Лично я пока только коммитил брашевские и мудбоксовские файлы. Очень удобно иметь историю и описание своей работы, чтобы вернувшись к ней позже, сразу понимать что к чему.

Сейчас скрипт потихоньку развивается, и в будущем планируем добавить много чего полезного, попутно допиливая то, что есть. К примеру, форум по каждой задаче, где можно будет предметно общаться, назначать исполнителя и всякое такое.

В этой статье я постарался дать краткую информацию о Tactic Handler'е (думаю, можно назвать его проджект-менеджером), над которым сейчас плотно трудится Алексей и скромно помогаю я :)

Спасибо за внимание. Если есть какие-то вопросы, спрашивайте! С удовольствием будем в каментах на них отвечать. Думаю, сам разработчик подключится, чтобы не было глухого телефона. Также скрипт уже можно качнуть бесплатно и подписаться, если вы видите в этом потенциал: https://github.com/listyque/TACTIC-Handler

572 0 850 5
16
2019-01-08
Михаил, скажите пожалуйста, а чем ваша программа, которую вы пишете, будет отличаться от всех прочих менеджеров проектов которые уже давно и успешно закрепились на рынке? Они есть и бесплатные, и платные, на любой вкус и кошелек.
2019-01-08
e.ovМихаил, скажите пожалуйста, а чем ваша программа, которую вы пишете, будет отличаться от всех прочих менеджеров проектов которые уже давно и успешно закрепились на рынке? Они есть и бесплатные, и платные, на любой вкус и кошелек.
Какие у вас на примете есть из бесплатных?
2019-01-08
Листик Какие у вас на примете есть из бесплатных?
Я очень давно не использовал бесплатные, тк работаю в большой компании. Мы, например, используем Perforce. У него кстати есть бесплатный период. По поводу бесплатных, Bitrix24, Clubhouse, Freedcamp, Hygger, Pivotal, Tracker, Redbooth, Targetprocess, Teamweek... и т.д. Гугль вам выдаст сотни вариантов. Возможно по перечисленным информация устарела, и часть бесплатных стала платными, я не отслеживаю. Знаю наверняка только про "Битрикс" бесплатный до 12 юзеров.
2019-01-08
e.ovЯ очень давно не использовал бесплатные, тк работаю в большой компании. Мы, например, используем Perforce. У него кстати есть бесплатный период. По поводу бесплатных, Bitrix24, Clubhouse, Freedcamp, Hygger, Pivotal, Tracker, Redbooth, Targetprocess, Teamweek... и т.д. Гугль вам выдаст сотни вариантов. Возможно по перечисленным информация устарела, и часть бесплатных стала платными, я не отслеживаю. Знаю наверняка только про "Битрикс" бесплатный до 12 юзеров.
А ответ ожидается по поводу того чем отличается от каждой из перечисленных вами?
2019-01-08
Вот я и спрашивал у ТС в чем же будет отличие от того что есть.
2019-01-08
Когда человек пишет какой-то софт, по идее он должен знать в чем его уникальность против конкурентов. Из описания я этого не вынес, поэтому культурно поинтересовался. Вдруг я что-то упустил.
2019-01-08
e.ovКогда человек пишет какой-то софт, по идее он должен знать в чем его уникальность против конкурентов. Из описания я этого не вынес, поэтому культурно поинтересовался. Вдруг я что-то упустил.
Дело в том, что Вы задали некорректно вопрос. А далее кидаете названия платных проект менеджеров.
2019-01-08
https://drive.google.com/open?id=1o5juv_CqCDm9zEcEPaP93N0QSV7n-HI-
Самая первая колонка "Free Users" означает сколько юзеров могут пользоваться менеджером бесплатно. Надеюсь, я вас убедил что бесплатные менеджеры существуют. Или у вас остались сомнения?
2019-01-09
e.ovhttps://drive.google.com/open?id=1o5juv_CqCDm9zEcEPaP93N0QSV7n-HI-
Самая первая колонка "Free Users" означает сколько юзеров могут пользоваться менеджером бесплатно. Надеюсь, я вас убедил что бесплатные менеджеры существуют. Или у вас остались сомнения?
Суть не только в бесплатности. Хотя из того что вы показали, это все рально пробные версии, небольшая команда даже из 15-20 фрилансеров уже упрутся во все эти "бесплатности", а далее появится резкая необходимость оплачивать за каждого юзера.
Далее, TACTIC это не бесплатно, а OpenSource. Что с этого? OpenSource можно взять за основу и сделать все именно так как хочется именно вам или целой студии. TACTIC не закроется, не отключит сервер, сервер будет ваш. Ваш компьютер может быть сервером или VPS купленный за 1000р в год, и вуаля - у вас свой контент менеджер, с любого компа и одновременно в вашей любимой мае. Так же, не в каждой, а возможно даже в единицах есть реальная интеграция в программы, чаще всего все проект менеджеры - веб бейзовые, здесь же написан именно коннектор, через апи. Согласитесь удобнее нажать горячую клавишу в своей любимой проге и отписав коментарий получить сохраненный файл с нужными именами и версией?
Ну и в конце концов, если есть уже много десятков альтернатив, еще одна альтернатива разве будет лишней ;)
2019-01-09
e.ovhttps://drive.google.com/open?id=1o5juv_CqCDm9zEcEPaP93N0QSV7n-HI-
Самая первая колонка "Free Users" означает сколько юзеров могут пользоваться менеджером бесплатно. Надеюсь, я вас убедил что бесплатные менеджеры существуют. Или у вас остались сомнения?
В качестве альтернативы, я бы назвал удачным PLEX https://github.com/alexanderrichtertd/plex
2019-01-09
Ребята, поддержим вас анонсом в соц.сетях 44 000 подписчиков и рассылкой 78 000 подписчиков.
2019-01-09
Афигенски, спасибо!
2019-01-09
Михаил ФоменкоАфигенски, спасибо!
Михаил, так в чем отличие этой программы от остальных менеджеров проектов?
2019-01-09
На этот вопрос вам лучше сможет ответить Алексей. По техническому всякому, с подробностями - это к нему. Я тут лишь как юзер. Программами, указанными вами выше не пользовался, сравнить не смогу. Думаю, он скоро даст развернутый ответ.
2019-01-09
Михаил ФоменкоНа этот вопрос вам лучше сможет ответить Алексей. По техническому всякому, с подробностями - это к нему. Я тут лишь как юзер. Программами, указанными вами выше не пользовался, сравнить не смогу. Думаю, он скоро даст развернутый ответ.
Спасибо за ответ. Вас понял.
2019-01-09
e.ov Михаил, так в чем отличие этой программы от остальных менеджеров проектов?
Сложно сказать чем отличается, так как не понятно с чем сравниваете. Менеджеров проектов очень много разных. Конкретно ТАКТИК это разработка компании Southpaw которая какоето время была комерческой разработкой, но в последствии авторы приняли решение сделать Оупенсорсный вариант. Полностью выложив исходные коды на Гитхаб они продолжают разработку тактика полным ходом. Они перестроили так сказать свой бизнес. Сам тактик не ограничивает строго направленность проектов, но при этом имеет достаточно большой упор на кино или вфикс. Так же в Тактике есть система контроля версий, позволяющее организовать файловую структуру всего проекта, а не только менеджемент задач и юзеров. Опять же кастомизация, она бесконечна. На любые действия можно написать триггеры, автоматизировать процессы и тд Если интересно про конкретно Тактик я думаю проще гуглануть. Грой этой статьи же попытка адаптировать этот Тактик для работы простым и доступным способом, дополнить возможности работы с Тактиком по части складирования файлов, в первую очередь для командной работы. Ну и все это даром, любой может взять за основу наработки и хоть завтра организовать файловый беспорядок в структуру.
RENDER.RU