LoRA для персонажа: лицо, тело, одежда, поза
Урок «lora-character» в группе Картинки: приёмы списка уроков. Шагов: 13.
Сначала согласие
LoRA реального человека можно использовать только с его согласия: рисовать так можно только того, кто на это согласен. Сначала получите это согласие. См. Правила содержимого.
Чему вы научитесь
Три LoRA на одной картинке, каждая настроена отдельно, и лицо держится, пока работает LoRA тела или одежды.
Что понадобится
- Урок продолжает LoRA для картинок. Карточка говорит об этом; это подсказка, а не замок.
- Ноды: Load Checkpoint, CLIP Text Encode (Prompt), KSampler, VAE Decode, Save Image / Preview Image, Load LoRA.
- Приложение ничего не скачивает и не устанавливает. Тексты шагов ниже говорят, какие файлы, в какие папки и какой шаблон ComfyUI их называет.
Шаги
Слова каждого шага, как их показывает урок. Имена нод выделены.
О чём этот урок (чтение)
Персонажа часто собирают из нескольких LoRA: одна для человека, одна для телосложения, одна для одежды, одна для стиля. Каждая тянет картинку в свою сторону, и вместе они спорят. Урок показывает, как их различать, как увидеть, что делает каждая, и как удержать лицо.
Свои файлы LoRA вы приносите сами и слова пишете сами. LoRA реального человека можно использовать только с его согласия: рисовать так можно только того, кто на это согласен. Сначала получите это согласие. Персонажи взрослые.
Урок продолжает «LoRA для картинок» и добавляет третий загрузчик.
Нужен граф с двумя LoRA
На холсте должен быть граф с картинкой, а в нём Load LoRA и Load LoRA цепочкой после Load Checkpoint, как их оставил урок «LoRA для картинок».
Если их нет, сначала пройдите тот урок.
Виды LoRA (чтение)
- LoRA персонажа: один человек или фигура, прежде всего лицо.
- LoRA тела: телосложение, пропорции, анатомия.
- LoRA одежды: один наряд или вид одежды.
- LoRA позы: как стоять, сидеть или двигаться.
- LoRA стиля: манера рисунка, вид света, облик плёнки.
- LoRA деталей: больше или меньше мелких деталей, чётче кожа и ткань.
- LoRA ускорения: та же картинка за меньшее число шагов; у неё своё число шагов и свой
cfg.
LoRA позы даёт позу приблизительно. Точная поза приходит от ControlNet; об этом шаг о позе дальше.
Как понять, какого вида файл (чтение)
Имени файла мало. Смотрите в трёх местах:
- карточка файла на вкладке «Модели»: базовая модель, слова-триггеры и заметки, которые автор записал в файл;
- страница, откуда файл взят: на чём его учили, какую силу советует автор, картинки, сделанные с ним;
- ComfyUI-Lora-Manager, если он установлен: он хранит страницу, картинки и слова каждой LoRA, и приложение читает их оттуда.
LoRA, у которой автор не назвал ни вида, ни слов, сначала пробуют одну, на средней силе, и смотрят.
Добавьте третью LoRA
Добавьте третью ноду Load LoRA после Load LoRA: выходы
MODELиCLIPноды Load LoRA в её входы, её выходы туда, куда шли выходы Load LoRA, в сэмплер и оба текста. Вlora_nameвыберите LoRA тела или одежды.LoRA персонажа остаётся в Load LoRA, стиль или вторая LoRA в Load LoRA.
Начните новую LoRA с малого
Поставьте
strength_modelноды Load LoRA на 0.5.Изменения всех LoRA складываются. Третья на полной силе поверх двух других обычно ломает картинку. Поднимайте её на 0.1 за раз, пока её часть видна, а остальное держится.
strength_clipговорит, насколько LoRA меняет чтение слов. Опустите её, когда слова одной LoRA начинают тянуть другие: при 0 её слова значат то, что они значат для модели без неё.Впишите слова всех трёх
Допишите слова-триггеры каждой LoRA в
textноды CLIP Text Encode (Prompt).LoRA без своих слов часто делает мало. Слова LoRA, которой нет в графе, ничего не дают или уводят модель не туда: держите в описании только слова тех LoRA, что стоят в графе.
Посмотрите, что делает каждая LoRA (чтение)
Под полем
seedноды KSampler поставьте «control after generate» вfixed. Затем сделайте четыре запуска с однимseed:- все три LoRA;
- без Load LoRA: поставьте её
strength_modelиstrength_clipна 0; - без Load LoRA, так же;
- без Load LoRA.
После каждого запуска верните значения. Положите четыре картинки рядом: то, что пропало без LoRA, и есть то, что она делает. В ComfyUI ноду можно и выключить на запуск через Bypass (Ctrl+B).
В каком порядке настраивать (чтение)
Настраивайте по одной LoRA, остальные на 0:
- сначала персонажа, пока лицо не станет верным;
- потом тело или одежду, на самой малой силе, где они видны;
- потом стиль, последним и часто слабее всех.
Место загрузчика в цепочке почти ничего не меняет: изменения LoRA складываются в любом порядке. Решает сила каждой.
Почему LoRA тела меняет лицо и как его удержать (чтение)
LoRA тела или одежды учили на картинках людей, вместе с их лицами. Она выучила и лица и тянет к ним любое лицо.
Что держит лицо:
- меньший
strength_modelу LoRA тела или одежды; strength_clipэтой LoRA ниже еёstrength_model, чтобы её слова тянули слабее;- LoRA персонажа чуть сильнее остальных;
- проход по лицу после, с LoRA персонажа в модели: смотрите урок «Исправление лиц и рук детейлером».
- Тело и поза вместе (чтение)
LoRA тела даёт телосложение, а не точную позу. Чтобы было и то и другое, пусть каждое приходит из своего места:
- поза из управляющей картинки, скелета OpenPose или карты глубины человека, стоящего как нужно, через ControlNet: смотрите урок «ControlNet по карте глубины»;
- телосложение из LoRA тела, на силе, где она не спорит с управлением.
Когда они спорят, сначала опустите силу ControlNet, а потом LoRA. Руки и анатомию, которые вышли неверно, исправляют после: детейлером с искателем рук или инпейнтингом руки.
- LoRA для другой модели (чтение)
LoRA делается для одного семейства. На другом она ничего не делает или ломает картинку шумом и странными цветами: LoRA для SD 1.5 на SDXL, LoRA для SDXL на Flux. Pony и Illustrious выросли из SDXL; их LoRA друг на друге загружаются, но действуют слабее или странно.
Карточка файла на вкладке «Модели» говорит его семейство.
- Граф готов (чтение)
Сохраните граф через «Файл ▸ Сохранить workflow для ComfyUI…», откройте файл в ComfyUI и запустите там. Само приложение в ComfyUI ничего не запускает.
Что попробовать: четыре запуска сравнения; потом LoRA тела на 0.3 и на 0.7 с одним seed, глядя только на лицо.
Что проверяет урок
Шаг для чтения сделан, когда вы нажимаете Понятно, дальше. Шаг с делом отмечается сам, когда на холсте есть:
- Шаг 2, Нужен граф с двумя LoRA:
- нода Load Checkpoint.
- нода CLIP Text Encode (Prompt).
- нода CLIP Text Encode (Prompt).
- нода KSampler.
- нода VAE Decode.
- нода Save Image или Preview Image.
- нода Load LoRA.
- нода Load LoRA.
CLIPноды Load Checkpoint во входclipноды CLIP Text Encode (Prompt) (промпт) (можно через Load LoRA или CLIP Set Last Layer).CLIPноды Load Checkpoint во входclipноды CLIP Text Encode (Prompt) (негатив) (можно через Load LoRA или CLIP Set Last Layer).MODELноды Load Checkpoint во входmodelноды KSampler (можно через Load LoRA или LoraLoaderModelOnly или DifferentialDiffusion или ModelSamplingAuraFlow или ModelSamplingFlux или CFGNorm или IPAdapter Unified Loader или IPAdapter или IPAdapterAdvanced или IPAdapterStyleComposition).CONDITIONINGноды CLIP Text Encode (Prompt) (промпт) во входpositiveноды KSampler (можно через Apply ControlNet или InpaintModelConditioning или Conditioning (Combine) или ConditioningSetArea или ConditioningSetAreaPercentage или ConditioningSetMask или Apply Style Model или FluxGuidance или ConditioningZeroOut или FluxKontextMultiReferenceLatentMethod).CONDITIONINGноды CLIP Text Encode (Prompt) (негатив) во входnegativeноды KSampler (можно через Apply ControlNet или InpaintModelConditioning или Conditioning (Combine) или ConditioningSetArea или ConditioningSetAreaPercentage или ConditioningSetMask или Apply Style Model или FluxGuidance или ConditioningZeroOut или FluxKontextMultiReferenceLatentMethod).LATENTноды KSampler во входsamplesноды VAE Decode.VAEноды Load Checkpoint во входvaeноды VAE Decode.IMAGEноды VAE Decode во входimagesноды Save Image или Preview Image.MODELноды Load Checkpoint во входmodelноды Load LoRA (первая LoRA).MODELноды Load LoRA (первая LoRA) во входmodelноды Load LoRA (вторая LoRA).CLIPноды Load LoRA (первая LoRA) во входclipноды Load LoRA (вторая LoRA).
- Шаг 5, Добавьте третью LoRA:
- нода Load LoRA.
MODELноды Load LoRA (вторая LoRA) во входmodelноды Load LoRA (третья LoRA).CLIPноды Load LoRA (вторая LoRA) во входclipноды Load LoRA (третья LoRA).MODELноды Load LoRA (третья LoRA) во входmodelноды KSampler (можно через Load LoRA или LoraLoaderModelOnly или DifferentialDiffusion или ModelSamplingAuraFlow или ModelSamplingFlux или CFGNorm или IPAdapter Unified Loader или IPAdapter или IPAdapterAdvanced или IPAdapterStyleComposition).CLIPноды Load LoRA (третья LoRA) во входclipноды CLIP Text Encode (Prompt) (промпт) (можно через Load LoRA или CLIP Set Last Layer).CLIPноды Load LoRA (третья LoRA) во входclipноды CLIP Text Encode (Prompt) (негатив) (можно через Load LoRA или CLIP Set Last Layer).lora_nameноды Load LoRA (третья LoRA): не тот же файл, что в полеlora_nameноды Load LoRA (вторая LoRA).- файл в поле
lora_nameноды Load LoRA (третья LoRA) сделан для семейства файла из поляckpt_nameноды Load Checkpoint. Почему: loRA и ControlNet работают только с тем семейством моделей, для которого сделаны; с другим они ничего не дают или портят картинку.
- Шаг 6, Начните новую LoRA с малого:
strength_modelноды Load LoRA (третья LoRA): от 0.2 до 0.7; «Сделать за меня» ставит 0.5.
- Шаг 7, Впишите слова всех трёх:
textноды CLIP Text Encode (Prompt) (промпт): есть слово-триггер файла из поляlora_nameноды Load LoRA (первая LoRA) илиlora_nameноды Load LoRA (вторая LoRA) илиlora_nameноды Load LoRA (третья LoRA), если описание файла их называет.