Промты, которые превращают Blender и Maya в конвейер: моделлинг, риггинг и рендер без ручной рутины

Промты, которые превращают Blender и Maya в конвейер: моделлинг, риггинг и рендер без ручной рутины

Большинство 3D-художников используют нейросети как «умный поиск»: спрашивают, как сделать bevel, получают ссылку на документацию и идут читать её руками. Гораздо полезнее другой сценарий — просить модель сгенерировать готовый Python-скрипт под Blender API или MEL-команду для Maya, вставить его в редактор скриптов и сразу запустить. Это не замена художнику, а ускоритель рутины: массовое переименование объектов, процедурная геометрия, автоматический риггинг по маркерам, пакетный рендер.

Ниже — реальные промты, которые я использую в работе. Каждый даёт на выходе рабочий код, а не абстрактный совет. Важно понимать: LLM не «видит» вашу сцену, поэтому в промте нужно явно указывать версию софта, имена объектов и ожидаемую структуру. Чем конкретнее входные данные — тем меньше правок после генерации.

Официальные источники, на которые стоит опираться при проверке кода: документация Blender Python API, справочник MEL-команд Autodesk Maya, а также PEP 8 для стиля Python-кода.

1. Процедурная генерация геометрии по текстовому описанию

Самый частый запрос — «сделай мне процедурный объект». Промт должен фиксировать: тип объекта, параметры, топологию и способ создания через bmesh, а не через операторы, чтобы скрипт работал без активного 3D-курсора.

Промт:

Ты — технический художник по Blender 4.x. Напиши Python-скрипт для Blender Python API, который создаёт процедурную спиральную башню: N витков, радиус r, высота h, сегментов на виток s. Используй bmesh, не операторы. Добавь модификатор Subdivision Surface уровня 2. В конце выведи в консоль количество вершин и полигонов. Комментируй ключевые шаги.

Что получаем на выходе (фрагмент, который реально запускается):

import bpy, bmesh, math

N, r, h, s = 5, 2.0, 6.0, 24
bm = bmesh.new()
prev = None
for i in range(N * s + 1):
    a = 2 * math.pi * i / s
    z = h * i / (N * s)
    v = bm.verts.new((r * math.cos(a), r * math.sin(a), z))
    if prev:
        bm.edges.new((prev, v))
    prev = v

mesh = bpy.data.meshes.new("SpiralTower")
bm.to_mesh(mesh)
bm.free()
obj = bpy.data.objects.new("SpiralTower", mesh)
bpy.context.collection.objects.link(obj)
obj.modifiers.new("Subsurf", 'SUBSURF').levels = 2
print(len(mesh.vertices), len(mesh.polygons))

Такой скрипт — стартовая точка. Дальше можно попросить добавить скручивание (twist) или массив по кривой.

2. Автоматический риггинг по маркерам

Риггинг — самая дорогая часть пайплайна. Если у вас уже есть маркеры (empty или joint), LLM может собрать армтуру по именам.

Промт:

В сцене Blender есть набор empty-объектов с префиксом «MRK_»: MRK_hips, MRK_spine, MRK_head, MRK_arm_L, MRK_arm_R, MRK_leg_L, MRK_leg_R. Напиши скрипт, который создаёт армтуру Armature, добавляет кости между соответствующими парами маркеров и привязывает меш тела через модификатор Armature. Используй edit_bones. Проверь, что кости не имеют нулевой длины.

Результат — готовый скелет, который можно дошлифовать в Pose Mode. Для Maya аналогичная задача решается через joint -p x y z и skinCluster.

3. MEL-скрипт для массового переименования в Maya

Художники в Maya часто получают сцены с именами вида pCube1, pCube2, pSphere37. Ручное переименование — часы работы.

Промт:

Напиши MEL-скрипт для Maya 2026, который переименовывает все трансформы в выделении по шаблону: <префикс>_<номер с ведущими нулями>. Префикс спроси через promptDialog. Номера начинаются с 001. Сохрани порядок объектов таким, каким он был в outliner. Добавь проверку на дубликаты имён.

Ядро скрипта:

string $prefix = `promptDialog -title "Rename" -message "Prefix:" -button "OK" -default "asset"`;
string $sel[] = `ls -sl`;
int $i = 1;
for ($obj in $sel) {
    string $newName = $prefix + "_" + `format "%03d" $i`;
    if (`objExists $newName`) { warning ($newName + " exists"); continue; }
    rename $obj $newName;
    $i++;
}

4. Оптимизация UV: развёртка и упаковка

UV-развёртка вручную — это боль. В Blender есть bpy.ops.uv.smart_project() и bpy.ops.uv.pack_islands(). Промт помогает настроить параметры и пройтись по всем объектам коллекции.

Промт:

Напиши Blender Python-скрипт, который для каждого меша в коллекции «Assets» переходит в Edit Mode, выделяет всё, вызывает smart_project с angle_limit=66°, island_margin=0.02, затем pack_islands с rotate=True и margin=0.005. Выведи на каждый объект процент использованной UV-площади (посчитай через bmesh). Учти, что объекты могут быть скрыты — пропускай их.

Такой скрипт экономит десятки минут на каждой партии ассетов.

5. Настройка освещения по референсу

Промт про свет работает лучше, если задать желаемую схему словами: «tri-point», «soft box сверху + rim справа», «HDRI + area fill».

Промт:

В Blender 4.x настрой трёхточечное освещение для портретного рендера: key — Area 200W сверху-слева, fill — Area 80W справа, rim — Area 150W сзади. Все источники поверни на пустой Empty «LookAt» в центре сцены через Track To. Добавь World с HDRI, подключив ноду Environment Texture. Задай color management Filmic. Верни список созданных объектов.

6. Пакетный рендер с логированием

Пакетный рендер — классическая задача автоматизации. LLM отлично справляется, если указать формат вывода, движок и сколько кадров.

Промт:

Напиши Blender Python-скрипт для пакетного рендера всех объектов сцены по очереди: скрыть все, кроме одного, отрендерить в PNG 1920×1080, сохранить в /renders/<имя_объекта>.png. Движок — EEVEE Next, samples=64. По завершении каждого кадра пиши строку в /renders/log.txt с именем и временем. Обработай исключения так, чтобы падение на одном объекте не останавливало очередь.

Скелет:

import bpy, os, time
out = "/renders"
os.makedirs(out, exist_ok=True)
bpy.context.scene.render.image_settings.file_format = 'PNG'
bpy.context.scene.render.resolution_x = 1920
bpy.context.scene.render.resolution_y = 1080
for obj in [o for o in bpy.data.objects if o.type == 'MESH']:
    for o in bpy.data.objects:
        if o.type == 'MESH':
            o.hide_render = (o != obj)
    bpy.context.scene.render.filepath = os.path.join(out, obj.name + ".png")
    t = time.time()
    try:
        bpy.ops.render.render(write_still=True)
        with open(os.path.join(out, "log.txt"), "a") as f:
            f.write(f"{obj.name}\t{time.time()-t:.1f}s\n")
    except Exception as e:
        print("fail", obj.name, e)

7. Деформация меша по кривой

Промт:

Blender Python: возьми активный меш и Curve-объект «Path». Добавь модификатор Curve с этой кривой. Установи use_curve_radius=False. Примени модификатор через bpy.ops.object.modifier_apply. Проверь, что меш имеет достаточное количество сегментов вдоль оси деформации, иначе выведи предупреждение.

8. Материалы на нодах: PBR-сетап пакетно

Промт:

Напиши Blender Python-скрипт, который создаёт Principled BSDF-материал и подключает три текстуры (BaseColor, Roughness, Normal) из папки /textures//. Для Normal поставь Non-Color colorspace. Пропиши материал каждому мешу в коллекции, имя материала = имя меша + «_mat».

9. Maya: автоматическая привязка контроллеров к ригу

Промт:

Maya 2026 MEL: создай NURBS-кривые-контроллеры (круг) для каждой кости скелета, расположи их в позиции joint, задай orient constraint на соответствующую кость, добавь атрибут «Follow» типа bool. Сделай префикс «CTRL_». Пропусти кости с именем, содержащим «end».

10. Проверка сцены на «мусор»

Промт:

Blender Python: пройди по сцене и выведи отчёт: объекты без материалов, меши с нулевыми полигонами, текстуры с отсутствующими файлами, дубликаты имён, объекты вне видимости камеры. Отчёт — в CSV.

11. Экспорт в glTF/OBJ с проверкой

Промт:

Blender Python: экспортируй все выделенные объекты в glTF 2.0 с параметрами export_format='GLB', export_apply=True, export_yup=True. Перед экспортом примени все модификаторы. После экспорта проверь, что файл существует и больше 1 КБ, иначе выведи ошибку.

12. Генерация превью-рендера для ассетов

Промт:

Blender Python: для каждого объекта в коллекции «Props» сделай рендер-превью 512×512 с камеры, которая автоматически подстраивается под bounding box объекта (расстояние = 2×max_dim). Фон — нейтральный серый. Сохраняй в /thumbs/.png.

Как проверить сгенерированный код

LLM иногда путают API между версиями Blender (например, bpy.ops.object.select_all vs контекстные переопределения в 4.x). Мини-чеклист:

Что проверить Как
Версия API Сверить с docs.blender.org/api/current
Контекст операторов В 4.x использовать with bpy.context.temp_override(...)
Типы данных bpy.types.Mesh.vertices — не список, а коллекция
MEL-команды Сверить в Maya Command Reference
Исключения Обернуть в try/except и логировать

Что это даёт на практике

Автоматизация через промты не заменяет художника, но снимает рутину: переименование, UV, экспорт, пакетный рендер, превью. По моему опыту, на типовой сцене из 30–50 объектов экономится несколько часов в день — особенно на повторяющихся операциях. LLM хорошо справляется с шаблонным кодом, но требует проверки: API меняется, а модель может выдать устаревший вызов. Правило простое: генерируй, читай, запускай на копии сцены.

Если хотите копнуть глубже — начните с двух-трёх промтов из этой подборки, адаптируйте их под свой пайплайн и заведите папку со скриптами. Через неделю у вас будет личная библиотека автоматизации, которая работает быстрее любого туториала.

← Все статьи

Комментарии

Читайте также

Английский язык с AI: как нейросети меняют изучение языка в 2026 году и почему я выбрал этот курс

13 сентября 2026

Промты для Rust и Go: как в одиночку тянуть высоконагруженный бэкенд, пока команда из трёх разработчиков тонет в созвонах

13 сентября 2026

Data Science для бизнеса: как освоить A/B-тестирование, продуктовые метрики и оптимизацию конверсии в 2026 году

13 сентября 2026

Flutter vs React Native: 12 промтов, которые превращают хаос нативных багов в работающий MVP за выходные

13 сентября 2026

Создание MCP-серверов: как подключить ИИ-агентов к реальным API — и почему этот навык востребован

13 сентября 2026

Промпт-инъекции и защита LLM: как курс «Промпт-инжиниринг ПРО (Prompt Engineering Pro)» учит строить безопасные AI-приложения

13 сентября 2026

RAG-системы с нуля: обзор курса и прогнозы развития технологии до 2027 года

13 сентября 2026

System Design Interview: как подготовиться к FAANG в 2026 году и какие тренды учитывать

12 сентября 2026

Flutter и React Native в 2026: 12 промтов, которые реально экономят часы разработки

12 сентября 2026