P08: SCULPTING BASICS
Create organic high poly models using Blender's sculpting tools with Dyntopo and Multires
📝 Промпты ⭐⭐ 9 блоков кода обновлено 2026-10-01
ID: P08 | Cluster: Geometry Basics | Difficulty: ⭐⭐ | Tags: #sculpting #dyntopo #brushes #multires #highpoly
🎯 GOAL
Create organic high-poly models using Blender's sculpting tools with Dyntopo and Multires
📝 PROMPT (RUS)
Создай высокополигональный скulpt "[OBJECT_NAME]" из "[BASE_MESH]":
Режим: DYNTOPO (динамическая топология) / MULTIRES (подделение)
Кисти: DRAW, CLAY, SMOOTH, GRAB, INFLATE, CREASE, LAYER
Детализация: [DETAIL_LEVEL]
📝 PROMPT (ENG)
Sculpt high-poly "[OBJECT_NAME]" from "[BASE_MESH]":
Mode: DYNTOPO (dynamic topology) / MULTIRES (subdivision)
Brushes: DRAW, CLAY, SMOOTH, GRAB, INFLATE, CREASE, LAYER
Detail level: [DETAIL_LEVEL]
🔧 MCP: execute_blender_code
DYNTOPO SETUP
import bpy
obj = bpy.data.objects.get("Base_Mesh")
if not obj:
raise ValueError("Base mesh not found")
# Подготовка
bpy.context.view_layer.objects.active = obj
bpy.ops.object.mode_set(mode='SCULPT')
# Включить Dyntopo
bpy.context.scene.tool_settings.sculpt.dyntopo = True
bpy.context.scene.tool_settings.sculpt.detail_type = 'CONSTANT'
bpy.context.scene.tool_settings.sculpt.constant_detail = 12 # Размер детали
bpy.context.scene.tool_settings.sculpt.detail_refine_method = 'SUBDIVIDE_EDGES'
bpy.context.scene.tool_settings.sculpt.detail_size = 0.01 # Relative
# Симметрия
bpy.context.scene.tool_settings.sculpt.use_symmetry_x = True
bpy.context.scene.tool_settings.sculpt.use_symmetry_y = False
bpy.context.scene.tool_settings.sculpt.use_symmetry_z = False
print("Dyntopo enabled. Enter Sculpt mode manually.")
MULTIRES SETUP (Для анимации)
obj = bpy.data.objects.get("Base_Mesh")
# Добавить Multires
multires = obj.modifiers.new("Multires", 'MULTIRES')
bpy.ops.object.mode_set(mode='SCULPT')
# Подразделить
for i in range(4):
bpy.ops.object.multires_subdivide(modifier="Multires", mode='CATMULL_CLARK')
# Уровень скulpting
obj.modifiers["Multires"].sculpt_level = 3
print(f"Multires levels: {len(obj.modifiers['Multires'].levels)}")
КЛЮЧЕВЫЕ КИСТИ И НАСТРОЙКИ
import bpy
tool_settings = bpy.context.scene.tool_settings
brush = tool_settings.sculpt.brush
# Настроить кисть программно
def set_brush(name, strength=0.5, radius=50, autosmooth=0.0):
brush = bpy.data.brushes.get(name)
if brush:
tool_settings.sculpt.brush = brush
brush.strength = strength
brush.size = radius
brush.use_autosmooth = autosmooth > 0
brush.autosmooth_factor = autosmooth
# Основные кисти
BRUSHES = {
'DRAW': {'strength': 0.3, 'radius': 80}, # Базовая отрисовка
'CLAY': {'strength': 0.4, 'radius': 100}, # Добавление объёма
'CLAY_STRIPS': {'strength': 0.35, 'radius': 80}, # Полоски глины
'SMOOTH': {'strength': 0.5, 'radius': 100}, # Сглаживание (Shift)
'GRAB': {'strength': 0.5, 'radius': 120}, # Перетаскивание (G)
'INFLATE': {'strength': 0.3, 'radius': 80}, # Надувание
'CREASE': {'strength': 0.4, 'radius': 40}, # Уточнение краёв
'LAYER': {'strength': 0.3, 'radius': 60}, # Слои (высота)
'SCRAPE': {'strength': 0.3, 'radius': 60}, # Скребливание
'PINCH': {'strength': 0.4, 'radius': 40}, # Сжатие краёв
}
for bname, params in BRUSHES.items():
set_brush(bname, **params)
MASKING И HIDING
# Маска (Ctrl+I инверсия)
bpy.ops.sculpt.mask_clear()
# Нарисовать маску кистью MASK
# Скрыть маскированное: H
# Показать всё: Alt+H
# Face Sets (Blender 3.0+)
bpy.ops.sculpt.face_set_init()
# Разные цвета для разных частей
📊 DYNTOPO vs MULTIRES
| Характеристика | DYNTOPO | MULTIRES |
|---|---|---|
| Топология | Динамическая, меняется | Фиксированная, поделена |
| Анимация | Нет (нужен ретопо) | Да (базовая топология сохранена) |
| Память | Эффективна | Выше (все уровни в RAM) |
| Детализация | Любая, локально | Ограничена уровнем подделения |
| Симметрия | Полная | Полная |
| Export | Нужен ретопо | Можно экспортировать уровень |
💡 ПРО ТИПЫ
Matcap для удобства
# В Viewport Shading → Matcap
# Рекомендуемые: clay, clay_brown, skin
Lazy Stroke для плавных линий
brush = bpy.data.brushes['DRAW']
brush.use_lazy_stroke = True
brush.lazy_radius = 20
Face Sets для изоляции
# Создать Face Set
bpy.ops.sculpt.face_set_create(name="Eyes")
# Изолировать: Select Face Set → H
⚠️ ЧАСТЫЕ ПРОБЛЕМЫ
| Проблема | Решение |
|---|---|
| Лаги при Dyntopo | Увеличь detail_size, уменьши constant_detail |
| Артефакты симметрии | Проверь центр объекта, примени Object > Set Origin > Center of Mass |
| Потеря деталей при Multires | Не скачивай уровни выше sculpt_level |
| Дырки в меше | Mesh > Clean Up > Fill Holes или Make Manifold |
🔗 СВЯЗИ
- Прочие в категории «Промпты»: P12: TEXTURE PAINTING, P01: PRIMITIVE CREATION BASICS, P02: BOOLEAN OPERATIONS, P03: MODIFIERS STACK, P04: MESH EDITING (BMESH)
- По темам: P05: UV UNWRAPPING STRATEGIES, P06: RETOPOLOGY WORKFLOW, P07: INSTANCING & ARRAYS
- Теги: #brushes, #dyntopo, #highpoly, #multires, #prompt, #sculpt, #sculpting
Связанные материалы
Подобраны по тегам и категории.