воскресенье, 22 сентября 2019 г.

Конфигурация Sublime Text для работы с Maya и OSL

Система компьютерной графики, анимации и визуализации Autodesk Maya является одним из лидирующих решений, используемым тысячами художников, дизайнеров, аниматоров и технических специалистов, создающих высококачественную компьютерную графику. Одним из ключевых преимуществ Maya является её открытый формат данных и многофункциональный язык сценариев MEL, и поддержка Python.
В своей работе я часто обращаюсь к созданию и редактированию файлов сцен и сценариев MEL или Python. Но стандартного функционала Script Editor недостаточно, когда приходится работать с большим количеством файлов сценариев, внесением правок и вообще, при работе с GitHub и другими сервисами коллективной разработки.
В свое время, мой старый друг порекомендовал мне попробовать редактор Sublime Text. Тогда это была вторая версия данного редактора. Он условно бесплатный, но его ограничение в виде предложения купить лицензию после каждого 20-го сохранения, по своей сути ничтожна, да и цена в $80 тоже достаточно низкая, а вот обширнейшая база расширений и различных функций, позволяет решать большое количество задач. Sublime Text превосходно зарекомендовал себя среди разработчиков в индустрии анимации и визуальных эффектов.
Отправка выделенного блока текста в Maya напрямую из Sublime Text с помощью SublimeMaya
Что позволило создать свою аудиторию среди профессионалов в индустрии CG. В данной небольшой статье я расскажу как можно настроить Sublime Text 3 и Maya для совместной работы посредством командных портов. Вы узнаете о том, как установить расширения для Sublime Text и сконфигурировать их. Порядок действий выстроен следующим образом:
  • Установка Package Control
  • Установка и конфигурация MayaSublime
  • Установка и конфигурация Sublime OSL
Мы осуществим установку и базовую конфигурацию пакетов в Sublime Text и создадим небольшой сценарий в Maya, а также определим глобальные настройки программы.

Установка Package Control

Менеджер пакетов Package Control для Sublime Text очень прост для осуществления поиска, установки и обновления пакетов. Менеджер может быть установлен с помощью специального набора команд, доступных на официальном сайте https://packagecontrol.io/ для получения блока команд, пройдите в раздел Installation и выберите версию Sublime Text 3. Скопируйте блок и введите скопированный блок в консоль Sublime Text ([Ctrl] + [`] или View => Show Console).

Редактор Sublime Text 3 с введенным в консоль блоком команд для установки Package Control.
После того, как менеджер пакетов будет установлен, перезапустите ST3. Когда ST3 будет запущен вновь, доступ к возможностям Package Control можно осуществить с помощью клавиатурной комбинации [Ctrl] + [Shift] + [P], после выполнения которой будет открыта командная строка с возможностью поиска и выполнения команды.
Все установленные пакеты доступны в специальной директории, находящейся в директории пользователя, от имени которого выполняется запуск ST3:
Linux: /home/USER_NAME/.config/sublime-text-3
macOS: /Users/
USER_NAME/Library/Application Support/Sublime Text 3/Packages
Windows: SUBLIME_INSTALL_DIR/Data/Packages

Мы еще обратимся к данным директориям для установки и конфигурации пакета OSL, помимо этого, используйте их для установки и развертывания других расширений.

Установка и конфигурация MayaSublime

За счет своей гибкой расширяемости и удобной модели лицензирования Sublime Text получил хорошее распространение среди технических специалистов в области CG, занимающихся разработкой расширений, сценариев, шейдеров и в процессе работы с сопутствующими данными. Пакет MayaSublime был разработан специально для упрощения работы с текстовыми данными, формируемыми в процессе работы с Maya.
Основные возможности MayaSublime:
  • Дополнительный поток всех данных выводимых редактором Script Editor обратно в консоль Sublime
  • Поддержки команды Undo в Maya
  • Включает подсветку синтаксиса языка MEL в редакторе Sublime
  • Простая отправка сценария или блока выделенного кода с помощью ПКМ и функции Send to Maya
Для установки MayaSublime используйте командную строку Sublime, вызываемую с помощью клавиш [Ctrl] + [Shift] + [P], далее введите команду package control и в списке выберите Package Control: Install Package.
Выбор команды Package Control в списке команд Sublime Text
После того, как будет открыт раздел поиска пакетов, введите команду MayaSublime, или просто Maya. После щелчка по клавише ввода, будет установлен пакет MayaSublime.

Ввод команды MayaSublime для установки одноименного пакета из Package Control
В строке статуса (в нижней области окна Sublime Text 3) в процессе установки будет отображён символ подключения и загрузки пакета. После установки необходимо перезапустить ST3 и сконфигурировать MayaSublime и Maya. Конфигурацию MayaSublime можно выполнить с помощью глобальных настроек пакета, доступ которым вы можете получить с помощью меню Preferences => Package Settings => MayaSublime => Settings — Default.

Вкладка с открытым файлом настроек MayaSublime
Давайте рассмотрим основные параметры пакета MayaSublime. Благо их не много и пакет может быть сконфигурирован достаточно быстро.
Параметр "maya_hostname": "127.0.0.1", определяет имя хост-системы или адрес, по умолчанию это IP-адрес — 127.0.0.1.
Командный порт (commandPort) является очень важным элементом любого профессионального приложения. С его помощью вы можете передавать данные между приложениями, что существенно облегчает удаленную работу или предоставляет возможность использовать дополнительные функции, не реализованные в одном приложении.
Если вы планируете использовать Python, то настройте параметр "python_command_port" : 7002,. Если же вы используете MEL, то введите желаемый порт в параметр "mel_command_port" : 7001,.
При отправке выделенного в ST3 кода в Maya будут исключены комментарии в одну строку, чтобы уменьшить объем отправляемых данных, что в итоге оставит больше места для отправки большего количества кода, используйте параметр "strip_sending_comments": true,. Где true — параметр активен, а falsh — параметр отключен. Причина отключения этой функции заключается в том, что вы полагаетесь на точные номера строк из ошибок в своем коде, сообщаемых редактором сценариев. При отправке целых файлов (ничего не выбрано) комментарии никогда не удаляются.
Параметр "no_collisions": true, позволяет выполнить обертывание кода Python в собственное пространство имен, чтобы избежать конфликтов с основной средой Maya. (Это безопаснее, но если вы объединяете этот модуль с кодом из редактора сценариев, установите для параметра значение false.)
Если параметру "create_undo": присвоено значение false, пакет создает возможность отмены вокруг всего кода, который будет отправлен и выполнен в Maya.
Если параметру "receive_maya_output": присвоено значение true, MayaSublime автоматически подключит редактор Script Editor, чтобы также выводить информацию в консоли Sublime. После изменения этого значения может потребоваться перезапуск Sublime Text. Независимо от этого параметра, вывод из Maya можно включать и выключать с помощью доступных команд в палитре команд. По умолчанию, данному атрибуту присвоено значение false (отключен).
Выполнить конфигурацию commandPort в Maya можно с помощью глобальных параметров программы. Для этого, перейдите в диалоговое окно Preferences (Window => Settings/Preferences => Preferences => Applications).

Диалоговое окно Preferences в Maya. В разделе Applications может быть задан командный порт
Активируйте атрибут Default command port, а в текстовом поле Name, введите номер порта, который вы указали для связи приложений.
Также вы можете воспользоваться командами на языке MEL. Например, если вы хотите открыть commandPort на порт 7002 для Python (порт по умолчанию в конфигурации), вы можете сделать следующее:
# если он уже был открыт под другой конфигурацией
cmds.commandPort(name=":7002", close=True)
# теперь откройте новый порт
cmds.commandPort(name=":7002", sourceType="python")
# или для MEL откройте какой-нибудь случайный порт (убедитесь, что вы также изменили этот порт в файле конфигураций пакета MayaSublime)
cmds.commandPort(name=":10000", sourceType="mel")

Я обычно использую стандартный порт 7001.
Перезапустите Maya, а затем запустите Sublime Text 3 и откройте сценарий. При щелчке ПКМ в области сценария вы можете воспользоваться командой Send to Maya. В Maya должен быть выполнен сценарий, если этого не произойдет, в Command Line отобразится предупреждение о том, что сценарий на выполнен и причина.

Установка и конфигурация Sublime OSL

Язык разработки шейдеров Open Shading Language создан для специалистов Look Development и визуализации. Он позволяет разрабатывать шейдеры материалов, процедурных текстурных карт, освещения и другие. Пакет Sublime OSL можно найти как в Package Control, так и на GitHub. Здесь я сделаю некоторое замечание, просто так, через Pacakge Control, пакет Subline OSL для ST3 не установить. Напрямую через Package Control он недоступен, доступна версия только для ST2. Но пройдя по ссылке на GitHub, перейдите в ветку (Brunch) с именем SublimeText3.

Выбор ветки SublimeText3 для Sublime OSL
Пройдя к ветке для ST3, просто загрузите архив ветки. Для этого в правой области списка файлов  щелкните зеленую кнопку Clone or Download и выберите Download ZIP.

Выбор функции загрузки ZIP-архива в GitHub
Загруженный архив вы можете распаковать в директорию расположения пакетов ST3, описанную выше в разделе Установка Package Control.
Когда вы распакуете архив в директорию пакетов, при запуске ST3 у вас появится ряд новых возможностей. В меню Tools => Build System будут добавлены пункты которые позволяют выполнять сборку и отладку шейдеров OSL.
Добавленные в меню Tools конфигурации для компиляции и сборки шейдеров OSL
Если по какой-то причине, приложение выдает ошибку о том, что сборка шейдера или его проверка не удались, проверьте наличие в переменной среде $PATH пути к директории с компилятором OSL. Обычно, данный путь определен к установленной вами системе визуализации.
Например путь к файлу компилятора OSL (./oslc) реализованного в 3delight, я использовал путь:
/usr/3delight-1.2.8/Linux-x86_64/bin
Также может быть задан путь для Arnold for Maya (MtoA)
/opt/solidangle/mtoa/2018/bin
Компилятор будет выполнять код написанный на языке OSL и сохранять его в файле в формате *.oso, который впоследствии будет импортирован для визуализации в Maya или любой другой редактор и систему визуализации, поддерживающую Open Shading Language.
Процесс компиляции вы можете отслеживать в консоли Sublime Text, а при отладке, сообщения об ошибках и места с ошибками в коде будут отмечены красным выделением.
Пример вывода сообщения об ошибке и информация о ходе компиляции шейдера в консоли Sublime Text 3
Применение сторонних редакторов, но напрямую использующих концепцию командных портов для связи с другими приложениями, позволяет выделить процесс написания программного кода в отдельный процесс, что существенно минимизирует привязку к конкретному приложению. Помимо этого, Sublime Text позволяет организовать проект, применить соответствующий формат файла для каждого из выбранных языков программирования и данных.
Если же Maya преждевременно останавливает свою работу и с ошибкой завершается, то Sublime Text как текстовый редактор может сохранить данные проекта и файлов и быстро их восстановить при перезапуске.

Прямые ссылки на пакеты:

Пакет MayaSublime https://packagecontrol.io/packages/MayaSublime
Пакет Sublime OSL для ST3 https://github.com/roesti77/Sublime-Open-Shading-Language/tree/SublimeText3

четверг, 29 августа 2019 г.

День «Спросите экспертов: Media and Entertainment»

Друзья и коллеги, приглашаем вас к участию в дискуссии на форум Autodesk Communuty. Каждый год эксперты Autodesk и профессиональные пользователи проводят серию мероприятий под общим названием «Спросите экспертов».
В рамках мероприятия «Спросите экспертов» вы можете задать свои вопросы на форуме, представить свои работы, получить профессиональную оценку, рекомендации и помощь.
18 сентября состоится день «Спросите экспертов 3ds Max и Maya». На русскоязычеом форуме Autodesk, вы можете пообщаться с пользователями продуктов Autodesk, задать свои вопросы и получить на них ответы, а также помочь другим участникам.
Мы приглашаем архитекторов, дизайнеров, моделлеров, аниматоров, художников по текстурам и специалистов по визуализации. Если у вас есть вопросы, хотите поделиться своим опытом, а также продемонстрировать свои работы, вы можете воспользоваться возможностями форумов Autodesk.
Отличительной особенностью посещения форумов Autodesk — повлиять на развитие используемых вами инструментов. Так, с помощью площадки Ideas Station, вы можете официально выдвинуть предложение об исправлении или добавлении новых функций.
Задать свои вопросы вы можете по следующим приложениям:
  • Autodesk 3ds max
  • Autodesk Maya
  • Maya Bonus Tools
  • Autodesk Mudbox
  • Autodesk Sketchbook Pro
  • Autodesk Motion Builder
  • Autodesk Smoke
Не забывайте, что система Autodesk Knowledge Network предоставляет возможности полноценного поиска по справочной документации, блогам, каналам на YouTube и другим ресурсам, предоставляющим исчерпывающую информацию по большинству вопросов и ресурсов.
Где задавать вопросы?
Пишите вопросы на форуме Autodesk «3ds Max & Maya - Русский»

Когда будет мероприятие?
Мероприятие будет проходить 18 сентября 2019 с 09:00 до 21:00 по московскому времени.

Кто такие эксперты?
Наши эксперты – это участники программы Autodesk Expert Elite и квалифицированные специалисты в своих отраслях с многолетним стажем:

Дмитрий Чехлов @Dmitry.Chekhlov

Николай Меркулов @vizm.nikolaj

Андрей Плаксин @scionik_andy

пятница, 17 мая 2019 г.

BOTANIC GARDEN commercial reel - Making Of



Ролик о создании одной из сцен с эффектами для презентационного ролика к строящемуся ЖК "Ботанический Сад" в городе Екатеринбург.

Статья, посвященная созданию эффектов в моем блоге на RENDER.RU.

Перезапуск видео-блога и планы на будущее

ГОВОРИМ О CG | ЭПИЗОД 1



ПОГОВРИМ О CG | СЕЗОН 2019 ЭПИЗОД 01 | Возобновление блога
Статья, как мы меняли облик квартала:
https://render.ru/ru/dimson3d/post/15725


Мой персональный блог RENDER.RU: https://render.ru/ru/dimson3d
Моя стриница во ВКонтакте: https://vk.com/dimson3d

вторник, 14 ноября 2017 г.

Мобильные приложения для управления сахарным диабетом: Diabetes:M

Здравствуйте друзья. В одном из своих ранних постов, я уже писал, что на протяжении 16 лет я живу с Сахарным диабетом типа 1 (СД1). Я не отношусь к нему как к болезни, на мой взгляд, эту ошибку совершают многие пациенты, и я проходил через это. В первую очередь, диабет, это особенность работы организма и его всегда необходимо держать под контролем. Вот здесь-то меня и поджидала изначальная ошибка, -   отсутствие должного самоконтроля. С возрастом мы становимся мудрее и отношение к самим себе, в значительной мере, меняется, иногда это достигается с помощью близких друзей и если задуматься о самом себе, посмотрев на самого себя с другой стороны. В своей же истории я посмотрел на себя с другой стороны и прислушался к словам своего близкого друга и врачей.
Ученые и врачи уже давно разработали действенные методы терапии такого заболевания как Сахарный Диабет, отработали методы и сценарии лечения, подготовили множество материалов для обучения и содействия пациентам. И на данный момент важнейшим ключевым фактором для достижения лучшей компенсации, является мотивация самого пациента. Это важно для того чтобы достигнуть хорошей компенсации уровня глюкозы в крови с помощью самоконтроля, следования рекомендациям и соблюдения за диетой и занятий спортом.
Ключевыми моментами в терапии являются следующие цели, ставящиеся перед пациентом:
  • Ведение дневника самоконтроля
  • Удержание уровня глюкозы в крови в установленных целевых приделах
  • Соблюдение диеты
  • Физическая активность
  • Соблюдение приема сахароснижающих препаратов
  • Нормализация гликированного гемоглобина (HbA1c)
Соблюдение рекомендаций и достижение целей в нормализации гликемии, позволяет значительно снизить риски развития осложнений сахарного диабета, затрагивающих практически весь организм. Достижение целей самоконтроля снижает развитие сердечно-сосудистых заболеваний (инфаркт миокарда, ишемическая болезнь сердца), поражений сосудов (микро- и макроангиопатия), поражений глаз (диабетическая ретинопатия, диабетическая катаракта), поражений нервной системы (диабетическая нейропатия), и поражений почек (диабетическая нефропатия, хроническая болезнь почек).
На протяжении двух лет я подбирал подходящий для меня инструментарий для самоконтроля, который может быть использован не только как личный помощник в управлении инсулинотерапией и питанием, но и будет учитывать важные особенности моего образа жизни, тренировки и многое другое.
Я люблю готовить, мне нравится стоять у плиты и что-то варить, тушить, выпекать печенюшки и многие другие прелести, однако, чтобы не выходить из допустимых диетой норм, я всегда должен вести учет того, что съедено мною в процессе приемов пищи, а во время дегустаций всегда найдется «одна лишняя ложка».
Во время общения с доктором мы как-то обсуждали возможности современных мобильных устройств и различных решений на их основе. В свое время я задумался об обновлении телефона и попытке создания единой платформы, с помощью которой я смогу управлять своим диабетом и вести подробный дневник самоконтроля.
Этот поиск породил одну новую и обширную идею, о которой я периодически забывал и вспоминал, возвращаясь к ней. Результатом, стала серия публикаций, посвященная мобильным приложениям для самоконтроля и управления СД как для больных СД Типа 1, так и больных СД Типа 2. Поиск материалов на просторах отечественного Интернета не дал положительных результатов, и подробных обзоров специализированных приложений, к сожалению, у нас ни кто не писал, да и в западных СМИ, материалов не так много. Это первая статья из серии, посвященная приложениям самоконтроля и управления СД.