fa
Feedback
Eugene Melnikov (e.ov) animation blog

Eugene Melnikov (e.ov) animation blog

رفتن به کانال در Telegram

3D animator's blog

نمایش بیشتر
کشور مشخص نشده استدسته بندی مشخص نشده است
330
مشترکین
اطلاعاتی وجود ندارد24 ساعت
+17 روز
+1030 روز
آرشیو پست ها
Завёл страничку для своего бесплатного софта eu-melnikov.github.io Там уже лежат утилиты для Maya и не только: scene review,
Завёл страничку для своего бесплатного софта eu-melnikov.github.io Там уже лежат утилиты для Maya и не только: scene review, swap animation, quick save, camera history и другие. Всё бесплатно, без регистрации. Буду добавлять новые тулзы по мере написания. 👍 Всем добра. =) #vibe_coding #год_2026 #my_scripts

Shake Table (Script for Maya) work in progress Добавил пару фич со слайдерами, например scale теперь из центра. Показалось что так будет нагляднее в какую сторону задавать начальный scale. Вчера его пробовал в работе (на работе) и оказалось есть чего доделать. Также поменял немного математику расчетов. В общем интересная штука. А, еще я подумал зачем вычислять фазы отскоков, когда можно скормить нейронке образец относительно которого она будет делать вычисления. То есть я буквально закинул в нее .ma файл на основании которого она реализовала расчет математики. А еще, добавил разные множители для вращения/перемещения и для масштабирования. Это давно надо было сделать. Ну и будет два режима отскок и пружинка. И, после настройки одного отскока или пружинки, можно будет размножить этот эффект на другие ключевые кадры - там есть поле +frames. Задаем кадры где нужен отскок и скрипт туда это все тоже добавляет. Настройками вроде шума и экспоненты сейчас никого не удивишь, но работает это не для всех слайдеров а для вращения. Пока что. Может быть потом добавлю это и для scale. Посмотрим. 👍 Всем добра. =) #vibe_coding #год_2026 #my_scripts

+1
swap animation (Maya 2019+) Меняет местами анимацию между двумя объектами на выбранном участке таймлайна. Всё что за пределами участка — остаётся нетронутым. Зачем это нужно Исправление мокапа — когда треки перепутались между костями Эксперименты с таймингом — быстро попробовать как будет выглядеть если персонаж A сделает то что делал B Работа с циклами — переставить фазы анимации между объектами Как использовать 1. Выдели 2 объекта 2. Выдели диапазон на таймлайне (Shift+drag) или ключи в Graph Editor 3. Запусти swap_animation Особенности - Работает с translate, rotate, scale - Автоматически ставит граничные ключи чтобы анимация не "уехала" - Поддерживает Undo (Ctrl+Z) - Maya 2019+ / Python 2.7 👍 Всем добра. =) #vibe_coding #год_2026 #my_scripts

Shake Table (Script for Maya) История о том, как немного скучно просто анимировать шейки, тряски и прочий подобный "проходняк". Идея родилась давно, но времени на реализацию как-то не находилось. Возможно, у кого-то это уже есть в каком-то виде, где-то реализовано, я правда не искал. Если есть идея, я сразу открываю студию, "ИИ" и погнал писать. Я человек творческий, и мне интересно делать скрипты под конкретные задачи — это всегда челлендж. В общем, получился интересный прототип. Посмотрю, насколько удобно это будет в работе, и если пройдет испытания — возможно, тоже пойдет в релиз. Начало, во всяком случае, мне нравится. Когда с утра до вечера анимируешь пушки, и качество анимации требуется высокое — волей-неволей задумаешься, как бы так шейкать, чтобы и пузо тряслось, и локти, и плечи, и всё с затуханием и по нужным тебе осям. Да, внимательный зритель увидел там шкалы «вторичные» и «третичные» контролы. В общем, прикольная тулза получилась. 👍 Всем добра. =) #vibe_coding #год_2026 #my_scripts

+1
Решена проблема, которая многих волнует: а не просчиталась бухгалтерия при расчетах... =)) Это петпроект, чисто ради фана. Короче вбиваете аванс и получку что упала на карту, зп в бачах, процент налога - клацаете расчитать / сохранить. - Вы великолепны. Расчет так же падает в папку results которая автоматически создается при первом расчете. Зп в баксах, налог, и курс бакса - переживают перезагрузку и хранятся здесь же в папке data. 👍 Всем добра. =) #vibe_coding #год_2026 #my_scripts

#vibe_coding #год_2026 #my_scripts

Выпустил обновление для "scene_review_tool". Скрипт стал более компактным и почти не занимает места на экране. Отличный инстр
Выпустил обновление для "scene_review_tool". Скрипт стал более компактным и почти не занимает места на экране. Отличный инструмент для потокового отсмотра входящей работы аутсорса и не только. Воркфлоу: выбрать папку, выбрать нужно ли учитывать подпапки, выбрать формат который будем смотреть. Нажать Start. Далее, next-next-next-next. Если надоело можно нажать stop. Суть - каждый файл открывается только один раз. Не запутаетесь - что смотрели а что нет. UPD - добавлен .ma формат 👍 Всем добра. =) #vibe_coding #год_2026 #my_scripts

https://render.ru/ru/emelnikov/post/27826 Моя новая статья на Render.ru о работе над скриптом QuickAnimaPicker Вайбокдинг - это просто, говорили они... 👍 Всем добра. =) #vibe_coding #год_2026

Бывает ситуация, когда работаешь с анимационными слоями или в Trax Editor, и в какой-то момент нужно запечь анимацию в клип или на слой. Если просто выделить все кости и добавить в клип или слой, то запечётся вообще всё, включая кости которые сидят на констрейнтах - какие-нибудь запястья, авто-плечи, обвес и подобные. А это плохо. потому что констрейнты перестанут работать. Вот для этого и нужен скрипт. Выделяешь корень скелета (любой родительский объект), запускаешь - и он выбирает только те кости, которые ничем не управляются. Их можно смело печь, а кости с констрейнтами останутся как были. Скрипт бывает выручает нужно схлопнуть слои в один, или вытащить анимацию из клипа в обычные ключи, или что-то подобное. Скрипт выделяет только joints и ничего кроме joints. Применение: кинуть скрипт на полку (питон), выделить родительский объект, ткнуть кнопку скрипта = вы великолепны! Maya 2019-2026 👍 Всем добра. =) #vibe_coding #год_2026 #my_scripts

Новая цель. Прототип "на коленках" уже собран, погнали разбираться дальше. Честно говоря, меня уже не столько сам инструмент интересует, сколько процесс работы с ИИ. Где граница моих возможностей объяснить задачу? Что нейронка не сможет понять, как бы я ни формулировал? Где тот предел нашего общения? Это как челлендж - найти границы коллаборации человек-ИИ на реальной технической задаче. 👍 Всем добра. =) #vibe_coding #год_2026 #my_scripts

FreeMotionTrail_v1.22.3 (For Maya) Пилю свой бесплатный motion trail плагин для Maya и хочу немного рассказать про процесс. Идея простая: стандартный motion trail в Maya это здорово, но AnimBot-овский лучше, но это платно. Я хотел для себя trail, который можно закинуть в сцену одной кнопкой, и чтобы он просто работал. Красиво, быстро, без танцев с бубном. И бесплатно. Начал с базы — VP2-нода на Python, кеширование позиций, subframe sampling для гладких кривых. Потом обвесил фичами: spacing dots, orientation frets по осям, transparency falloff. Сделал Qt-менюшку в стиле Maya — тёмная, компактная, с сабменю. А дальше понеслось. Добавил три стиля отображения — Dashed, Dots, Thick — и каждый со своей логикой рисования. Dashed рисует прямые палочки кадр-к-кадру с чередованием цветов. Dots — тонкие линии + жирные точки на каждом кадре. Thick — классический гладкий сплайн. Плюс Custom mode поверх любого стиля, где можно крутить толщину, размер точек, цвета. Последнее крутое — Temperature coloring. Четыре режима подсветки trail'а: — Spacing — где быстро, где медленно — Gimbal Lock — подсвечивает зоны близкие к гимбал-локу — Noise — показывает jitter и дрожание в анимации — Depth — раскраска по удалённости от камеры Ещё есть Object Space — trail рисуется относительно другого объекта (например root-контроллера), и Vertex Offset — можно повесить trail не на пивот, а на конкретную вершину меша. Весь плагин — два файла: нода + UI. Кидаешь в папку, загружаешь, работает. Никаких зависимостей. Пока только для Maya2024, но как закончу его видимо перенесу в другие версии. Было интересно попробовать реализовать это все самому с помощью нейронки. Потратил пару вечеров. И результатом доволен. Самым сложным была отрисовка X-Ray траектории поверх объекта. С этим дольше всего провозился. 👍 Всем добра. =) #vibe_coding #год_2026 #my_scripts

eu_anim_curve_tools Продолжаю ковыряться с инструментами animbot, которые меня зацепили. Прикольные математические задачки на работу с кривыми, и при этом реально полезные для повседневной анимации. Построил ядро, к нему понемногу прикручиваю скрипты, которые делают похожие вещи. Пока идёт очень легко и быстро. За выходные запилил свой UI, накидал уже 16 инструментов. Нет, всё подряд конечно делать не планирую — только то что мне реально нужно или просто интересно с точки зрения инженерии и математики. 👍 Всем добра. =) #vibe_coding #год_2026 #my_scripts

Здесь free for use два интересных инструмента, которые часто использую в работе. easy_in_out_slider.py pull_push_slider.py 👍 Всем добра. =) #vibe_coding #год_2026 #my_scripts

Я немного покопался в устройстве инструментов работы с анимационными кривыми на примере pull/push и easy in/out - из любопытства, как это устроено “под капотом”. Было интересно посмотреть на логику ядра, на то, как инструменты опираются не только на выделенные ключи, но и на соседние - как на опорные точки сегмента. Оказалось, что ощущение «магии» таких тулов во многом строится на довольно элегантной математике: нормализация времени внутри сегмента, интерполяционная база и ремап весов. Попробовал воспроизвести поведение в небольших прототипах - со слайдером, живым обновлением кривой и корректным undo-чанком. Особенно любопытно было поймать artist-feel: где нужно усилить push, где ease должен быть агрессивнее, чем простая степенная функция. В процессе стало лучше понятно, почему “простые” на вид инструменты так сильно ускоряют полировку анимации - там очень точно подобрана математика отклика. В итоге это превратилось в маленькое исследование curve-алгоритмов и хорошее упражнение на инженерию поведения инструментов. Ниже free for use два интересных инструмента, которые часто использую в работе. easy_in_out_slider.py pull_push_slider.py 👍 Всем добра. =) #vibe_coding #год_2026 #my_scripts

Как я сделал себе загрузчик анимаций за выходные (UPD) История одного pet project'а Знаете это чувство, когда каждый день думаешь: "Эх, было бы здорово если бы тут была вот эта кнопочка..." У меня была такая ситуация с загрузчиком анимаций на проекте. Рабочий инструмент с прошлого проекта, но под мой конкретный workflow не совсем заточен. Программисты заняты более важными вещами - багфиксы, новые фичи, оптимизация. Переделывать легаси под каждого аниматора - не в приоритетах. И правильно. А мне стало интересно: что если попробовать сделать свое? Не для замены, а как эксперимент. С AI-помощниками даже аниматор без программерского бэкграунда может что-то накодить. Ну и руки чесались. Что добавилось Работа с удалёнными аниматорами У нас периодически фрилансеры. Давать полный доступ к проекту - не вариант. Пересылать архивы - тоже. Решение: копируем структуру папок с анимациями куда угодно - хоть на флешку, хоть в облако. Человек подключается и видит наше дерево анимаций. Работает, создает новые. Потом отдаёт файлы - мы подставляем в проект. Безопасно и удобно. Пресеты для частых наборов Каждый день одни и те же комбинации: "боевка с пистолетом", "перемещения", "прыжки"... Находишь, выделяешь, грузишь. По сто раз. Теперь: выделил → ПКМ → "Сохранить пресет". Завтра одним кликом загружаю весь набор. Мелочь, а экономит кучу времени. Быстрое создание новых анимаций Хотелось просто: нашёл папку → ПКМ → "Создать анимацию" → имя и тайминг → готово. Так и сделал. Когда заводишь десятки анимаций, это заметно ускоряет процесс. Автоматический рендер превьюшек Закончил работу - нужны превизы с разных ракурсов. Раньше вручную. Теперь кнопка "Render previews" - скрипт сам всё отрендерит и сохранит с правильными именами. Пошёл за кофе - всё готово. Как делалось Честно - я не программист. Совсем. Весь код с помощью AI: я объяснял что хочу, он предлагал решения, я тестировал, мы итерировали. Вайб-кодинг 😄 Уложился в 6 часов за выходные. Код там наверняка кривой, но работает для моих задач. Итог Получился инструмент под мой workflow. Использую каждый день, экономит время. Это не замена основному скрипту - альтернатива для моих кейсов. Баги есть (это альфа), но стабильно работает. Если коллегам зайдёт - поделюсь исходниками. Несколько выводов: AI помогает - не нужно быть Senior Developer'ом для автоматизации. Свой костыль лучше идеального ожидания - программисты заняты важным, можно попробовать самому. Pet project'ы - весело - интересный опыт плюс польза. Не обязательно идеально - для personal use достаточно "работает" P.S. История про аниматора с нулевым опытом в программировании, который попробовал сделать удобную штуку. Не претендую на звание программиста. Просто делюсь опытом - может вдохновит попробовать что-то своё 😊 Зачем нужны выходные, если не доделать то, что давно хотел? 🚀 👍 Всем добра. =) #vibe_coding #год_2026 #my_scripts

Как я написал batch видео-загрузчик. Решил сделать программу для скачивания видосов с YouTube и т.д. Просто в образовательных
Как я написал batch видео-загрузчик. Решил сделать программу для скачивания видосов с YouTube и т.д. Просто в образовательных целях, было интересно. Задачка на вечер, казалось бы. Ничто не предвещало... Написал интерфейс, прикрутил yt-dlp, запустил. Скачал одно видео - работает. Скачал пять видео, ну красота! Но вы же понимаете, скачивать видео по одной штуке – это слишком скучно, обычно, ctrl+C - Ctrl+V. Добавил возможность скачать плейлист. Затем, подумал, плейлист хорошо, а по списку ссылок из txt файла – еще лучше. Прикрутил и эту фичу. Затем, подумал, у меня же есть браузер, у которого есть избранное со ссылками на какие-то там видосы. Хм, интересно, а можно ли подрубиться к избранному в браузере, выбрать папку, и загрузить все оттуда? Оказалось можно и не сложно, тк избранное браузера это такая уязвимая дыра на json-ах, в общем не сложно и увлекательно. А можно ли прикрутить многопоточность, чтобы качать быстрее - выше - сильнее и не словить бан? Можно, если осторожно =) И вот тут началось. Попробовал скачать 300+ видео из списка. Программа молча закрылась где-то на десятом. Просто - пуф, и нет окна. Добавил детальное логирование. Запустил снова. Лог оборвался на середине строки. Оказалось, что на некоторых ссылках программа падает не из-за моего кода, а где-то в недрах библиотек. Пришлось оборачивать каждое видео в защиту — теперь если одно не качается, программа просто пропускает его и идёт дальше. Далее пока копался, нашёл интересное. В одной функции после return висело 190 строк кода. Я когда-то переписал логику, а старую забыл удалить. Python это проглотил без единого предупреждения. Ещё веселее был try-except, который открылся и не закрылся. Дальше начинался второй try, и все ошибки между ними улетали куда-то. То работает, то не работает… Божественный рандом какой-то. А самой жесткой проблемой оказался прогресс-бар. Я его обновлял прямо из потока загрузки. Иногда работало, иногда нет, иногда программа просто падала. Оказывается, в Qt библиотеке для интерфейсов категорически нельзя трогать окна и кнопки из фонового потока. Пришлось переделать через систему сигналов, фоновый поток отправляет сообщение, а главный поток обновляет интерфейс. После этого краши прекратились. Для таймаутов я использовал механизм, который работает только на Linux. На Windows программа просто зависала на битых ссылках. Переписал на другой подход — теперь работает везде одинаково. И потом была еще небольшая проблема с Firefox и его закладками. Браузер блокирует свою базу данных, пока работает. Пришлось копировать базу во временный файл, читать оттуда и аккуратно удалять за собой. Ну и финальная сборка в exe. Упаковка программы в один файл тоже был квест. Забыл указать одну библиотеку и программа падает при запуске. Забыл другую - падает при первом скачивании. Пути к файлам работают по-разному в разработке и в готовой программе. Иконка должна существовать, иначе сборка валится. В итоге, из затеи на один вчера программа получилась на три вечера, на 2200 строк, которая качает видео с 1800+ сайтов, показывает прогресс, работает с плейлистами, текстовыми файлами со ссылками, импортирует закладки из Firefox и не падает на битых ссылках. Для теста качнул лист с примерно 1500 файлами - полет нормальный, ничего не упало. В общем, эксперимент удался. Главное, что я понял - логирование всему голова. Без детальных логов ты просто гадаешь. Многопоточность еще одно минное поле, один неправильный вызов и всё летит. То, что работает на Linux, может не работать на Windows. И мёртвый код — это не просто мусор, он прячет реальные баги. Можно было просто пользоваться консольным yt-dlp. Но где в этом веселье? На вопрос - зачем я это делаю? Ответ простой - это здорово развивает голову, формат мышления, логику, ну и азарт конечно. З.Ы. Вот говорят что вайбкодинг – это просто. Что нейронка все сама за тебя пишет. Ха-Ха! Как говорится: «да», но «нет». 👍 Всем добра. =) #vibe_coding #год_2026 #my_scripts

Всем привет. Записал небольшой обзор на свой новый инструмент Playback & AnimationSpeedControl Это идея из копилки идей от подписчиков (ссылка на пост) Если кому надо - цена вопроса 2к денег. Писать в личку 👍 Всем добра. =) #vibe_coding #год_2026 #my_scripts

Astra SmartVideoConverter Записал небольшой видеообзор на свою новую программу. 👍 Всем добра. =) #vibe_coding #год_2026 #my_scripts

Закончил работу над Astra SmartVideoConverter - это профессиональный инструмент для пакетной конвертации видео MOV/MP4 в опти
+1
Закончил работу над Astra SmartVideoConverter - это профессиональный инструмент для пакетной конвертации видео MOV/MP4 в оптимизированный MP4 с поддержкой GPU-ускорения и распределённой обработки на нескольких компьютерах. Ключевые возможности ✓ Пакетная конвертация неограниченного количества файлов ✓ GPU-ускорение: NVIDIA NVENC, Intel QSV, AMD AMF ✓ Smart Mix Mode — GPU + CPU одновременно (+45% скорости) ✓ Сетевой режим — распределённая конвертация (N компьютеров = N× быстрее) ✓ Queue Manager — сохранение и загрузка очередей конвертации ✓ Автоматическая конвертация Slow-Motion (240fps → 30fps) ✓ Сохранение метаданных и структуры каталогов ✓ Lazy loading — мгновенная работа с 10,000+ файлов Подробнее можно прочитать тут: https://telegra.ph/Astra-SmartVideoConverter-01-10 или тут: https://render.ru/ru/emelnikov/post/27705 👍 Всем добра. =) #vibe_coding #год_2026 #my_scripts

Нейронка сегодня выдала: "KISS принцип (Keep It Simple, Stupid). Зачем усложнять программу дополнительными зависимостями и кодом, если есть готовое специализированное решение?" Это было в контексте... Сижу, никого не трогаю, пишу вычислительный комплекс для мультипотокового кодирования... И подумал, что надо бы прикрутить сюда параметрию напряжения, температуры CPU/GPU, может еще FUNs добавить для контроля. И тут она выдает KISS... Ну вы поняли. Отправила меня к OpenHardwareMonitor. Кстати, я не знал об этой штуке, всегда пользовался AID-ой, но она громоздкая под мои задачи. Напомню, я простой аниматор, а вайбкодинг это просто баловство и вайб. =) #vibe_coding #год_2026