Бюст штурмовика создан при помощи Dall-E и tripo3d.
Астрологи объявили взрывной рост объемов 3D-контента — только за последние месяцы опубликовано 13 статей про генерацию трехмерных объектов из текста и изображений.
SV3D: Stability AI показала новую модель для реконструкции изображения в 3D с высоким разрешением.
LATTE3D от NVIDIA: новый метод преобразования текста в 3D, позволяющий генерировать текстурированные сетки из текста всего за 400 мс.
Isotropic3D: генерация изображения в 3D на основе создания многоракурсных плоских изображений.
MVControl: преобразование текста в 3D с управлением по типу ControlNet (резкость, глубина и т. д.).
Make-Your-3D: преобразование изображения в 3D с возможностью управления генерацией с помощью текстовых подсказок.
MVEdit: поддерживает преобразование текста в 3D, изображения в 3D и 3D в 3D с генерацией текстур.
VFusion3D: преобразование изображения в 3D на базе предварительно обученных моделей видеодиффузии.
GVGEN: преобразование текста в 3D с объемным представлением.
GRM: эффективное преобразование текста в 3D и изображения в 3D за 100 мс.
FDGaussian: преобразование изображения в 3D с предварительной генерацией разных ракурсов в 2D.
Ultraman: преобразование изображения в 3D с упором на человеческие аватары.
ComboVerse: преобразование картинок в 3D с комбинированием моделей и созданием сцен.
Не везде доступен код, так что сравнивать сложно, но первые результаты уже есть. Я сравнил восемь image-to-3d нейронок на картинках, сгенерированных в Dall-E. Все модели созданы при настройках по умолчанию.
Самые слабые - GRM и dreamgaussian не справляются реконструкцией невидимых на картинке деталей и оставляют сквозные отверстия. Они создают деформированные, непригодные для дальнейшей обработки модели.
У второй категории решений: TripoSR, CRM, mvedit, InstantMesh - наблюдаются сложности с созданием симметричных моделей, мелкие артефакты, например, каверны и искаженные текстуры. Под ними - грязные сетки и сглаженные болванки-обмылки.
3d.csm tripo3d - лучше создают текстуры, додумывают детали на невидимых частях объекта. Хотя tripo3d умеет в ретопологию, генерациям все еще недостает выраженного рельефа. Большая часть деталей остается на текстуре.
Пока что технология image-to-3d находится в зачаточном состоянии и напоминает результаты, которые выдавали первые версии stable diffusion. Реконструкции поддаются только сравнительно простые изображения монолитных предметов.
Да, сравнивать 3d.csm, tripo3d с демо на huggingface нечестно, так как это демонстрационные версии коммерческих сервисов, которые используют более сложные пайплайны и генерируют в несколько этапов. Однако сейчас именно они юзабельнее. Более детальные текстуры - заметное преимущество, так как их можно преобразовать в карту высот и перенести часть деталей в меш.
Вряд ли результаты их работы подойдут для нужд 3D-художников, однако уже сейчас они могут быть основой для скульптинга и годятся для распечатки на FDM-принтере. Буду продолжать эксперименты в телеграм.
Мы постарались сделать каждый город, с которого начинается еженедельный заед в нашей новой игре, по-настоящему уникальным. Оценить можно на странице совместной игры Torero и Пикабу.
Для ЛЛ: Длинный пост с кучей картинок про моделирование сапогов в 3D.
Дошёл до того, чтобы занаться моделингом персонажей. Попробовав пару раз сделать тело человека, понял, что приобрёл бесценный опыт, но мне пока рано изобретать велосипед, и скачал готовую модельку какого-то мужика. Благо, что в сети куча подобных бесплатных штуковин.
Вот такой серьёзный дядька
Теперь можно приниматься за моделирование одежды. Начать решил с обуви, а конкретно - берцы. Используя модификаторы обтягивание и подразделение поверхности. Когда дошёл до подошвы, применил модификатор обтягивания, и дальше уже добивал вручную. Так увлёеся, что забыл сделать скрины в процессе, каюсь.
Вот такой сапог получился
Пока это похоже на калошу, но основная форма есть, осталось добавить детали. Также используя обтягивание, но уже по сапогу, а не по ноге, добавляю две полосочки, которые...на которых... куда шнурки будут вставляться, короче. Хз, как они зовутся, я не обувщик.
Уже меньше напоминает калоши, но теперь выглядит как сраная пластилиновая лепнина
Далее, с тем же обтягиванием, но уже с бОльшим расстоянием от поверхности сапога делаю полосочки, которые будут шнурками. Делаю их плоскими, добавляю объемность через одноимённый модификатор.
Шнуровка а-ля две тысячи седьмой. Во первых, так проще, а во-вторых, сам так всё время шнуруюсь
После этого создаю такую шайбочку-лепёшку, клонирую её, и уже ручками, безо всяких натягиваний, дабы не испортить форму круга, начинаю лепить их туда, где шнурок входит в отверстие (которого нет)
Это будет вместо таких металлических колечек, в которые вдеваются шнурки, нувыпонели
Затем включаю симметрию, и зеркалю этот сапог на вторую ногу. Заодно включаю сетку для любителей спрашивать в комментах "чё там по сетке"
Сетка без учета подразделения поверхности
Сетка, когда субдивизион сурфаке включен
Теперь осталось навесить текстуры. Вешаю на основу сапога два слота материалов: один для кожи, второй для резины на подошву. Ковыряю ноды, и вот:
Предпросмотр материала
А теперь смотрим, как это выглядит на рендере:
Собственно, боты готовы. Если кто-то прочитал заголовок, мог задаться вопросом "почему для бота?". Потому что персонаж, которого я сейчас делаю - это киборг. Но об этом чуть позже.
CUDA теперь может использовать аппаратную трассировку лучей RTX с помощью библиотеки OptiX. Выигрыш в скорости рендеринга зависит от сложности сцены (чем больше треугольников в сцене, тем больше ускорение).
1/3
1. простая сцена: прирост производительности 2% | 2. сцена средней сложности - 4 миллиона треугольников: прирост производительности 18% | 3. сложная сцена - 10 миллионов треугольников: прирост производительности 604%
Преимущество этого метода заключается в том, что BVH строится на GPU и использует меньше памяти на GPU (около 40 %):
CUDA: использовано 6,1 Гбайт
OptiX: используется 4,5 ГБ
Примечание: BVH (Иерархия ограничивающих объемов) - это структура дерева с набором геометрических объектов. Все геометрические объекты, образующие листовые узлы дерева, заключены в ограничивающие объемы . Эти узлы затем группируются в небольшие наборы и заключаются в более крупные ограничивающие объемы.
В аддоне Blender OptiX автоматически используется на совместимых GPU RTX при выборе CUDA.
Неоднородное боке камеры.
Глубина резкости теперь поддерживает неоднородное распределение боке, включая пользовательские изображения. Кроме того, боке теперь можно сжимать и растягивать анизотропно для имитации анаморфотных линз.
1/5
1. Глубина резкости отключена. 2. Равномерное боке (старое). 3. Равномерное распределение с 6 лопастями. 4. Обратное экспоненциальное распределение с 6 лепестками. 5. Пользовательское изображение используется для распределения.
Новые материалы
Опция Holdout в узле Material Output
С помощью опции Holdout можно сделать прозрачными участки объекта, на который наложен материал.
Материал Two-Sided
Узел Two-Sided позволяет наносить разные материалы на внешнюю и внутреннюю стороны сетки.
Новые текстуры
Текстура Wireframe
Текстура Distort
Текстура Distort - это, по сути, упрощенный вариант текстурного отображения, который позволяет только трансформировать входную текстуру. Однако изменение положения текстуры может быть задано другой текстурой (что невозможно в обычном текстурном отображении). Таким образом, она может быть использована для трансформации одной текстуры другой.
1/4
1. Исходная неискаженная текстура. 2. Текстура со смещением искажения. 3. Искажение текстуры - сила искажения 0,15. 4. Сила искажения 0,5
В Blender его можно найти в разделе Add Node > Utils > Distort.
Текстура Brick
Текстура Brick теперь с псевдослучайным окрашиванием каждой плитки.
Текстура Bombing
Новая текстура «Bombing» может использоваться для распределения трафаретной карты по фону с различными вариантами рандомизации.
Рандомизированный тайлинг для карт изображений
Текстуры изображений теперь поддерживают «рандомизированный тайлинг для карт изображений» Брента Берли (статья). Если эта функция включена, изображение будет выкладываться не в виде сетки, а в случайном порядке, что поможет разнообразить повторяющиеся узоры.
1/6
Тайлинг по умолчанию/ романизированный
Обратите внимание, что с одними текстурами он работает лучше, а с другими - хуже. Текстура должна быть очень однородной, без выдающихся деталей. На текстурах, требующих точного выравнивания, таких как кирпичи ниже, он может вообще не работать:
Отображение текстур теперь имеет режим рандомизации, в котором вращение, смещение и масштаб могут быть заданы для разных объектов. В качестве входа для изменения может использоваться либо идентификатор объекта (который по умолчанию назначается случайным образом), либо идентификатор острова сетки.
Новые АОV (произвольные выходные переменные)
Более подробные AOV для рассеянных/глянцевых/зеркальных отражений
Прямые/непрямые рассеянных/глянцевых/зеркальных AOV теперь имеют варианты, которые объединяют только отраженный или только пропущенный свет. Раньше, например, можно было получить только «непрямой зеркальный» AOV, который содержал как отраженный, так и проходящий свет - теперь он разделен на две части, так что вы можете, например, регулировать яркость отражения отдельно в композитинге, не затрагивая проходящий свет.
В сцене ниже показаны сферы со следующими материалами: матовый полупрозрачный (слева), глянцевый полупрозрачный (посередине), стекло (справа) и матовый (пол/стены).
Каустики, которые были отрисованы с помощью трассировки света в движке Path, теперь доступны в отдельном AOV. Обратите внимание, что этот AOV не содержит каустики, отрисованные через кэш PhotonGI caustics.
Наш вьюпорт теперь поддерживает быстрый шумодав OptiX. Когда он включен, он применяется к рендеренному превью непрерывно.
Новый редактор групп света
Яркость и цвет группы света теперь можно редактировать в группе нод композинга. Это позволяет легко создавать несколько настроений освещения в одном рендере и автоматически сохранять их после каждой итерации рендеринга с помощью узлов вывода файлов.
Вы можете увидеть, что возможно с группами света LuxCore в этом видео от Sharlybg:
Меньшие возможности
Выводится предупреждение, если модификатор подразделения включен во вьюпорте, но отключен в финальном рендере, или если уровень подразделения во вьюпорте выше, чем в финальном рендере
Добавлена кнопка «Стоп» для остановки рендера и запуска композитинга (находится в разделе LuxCore на N-панели в редакторе изображений)
Сэмплы, полученные при трассировке света, теперь отделены от образцов, отслеженных камерой, что значительно упрощает правильную установку условия остановки образцов при включенной трассировке света
Теперь снова можно использовать разные вычислительные устройства для видового экрана и финального рендера (по умолчанию для видового экрана: CPU), поскольку пользователи могут предпочесть более низкую задержку предварительного рендера на CPU, при использовании GPU для финального рендера
Считыватель узлов Cycles
Теперь можно использовать ввод нормали узлов материалов
Добавлена базовая поддержка узла бампа
Теперь поддерживаются шейдеры Holdout
Настройка температуры для света
В свойствах света теперь есть ползунок температуры.
Поддержка пользовательских нормалей в любой версии Blender
Добавлен более медленный вариант для пользовательских нормалей, без поддержки C++, для любой версии Blender. Если это увеличивает время экспорта сетки более чем на 0,3 секунды, выдается предупреждение, и пользователь может отключить пользовательские нормали для сетки, если они слишком сильно увеличивают время экспорта и не нужны.
Это делает поддержку пользовательских нормалей в нашем аддоне Blender более надежной и перспективной.
Больше примеров сцен
Ознакомьтесь с недавними дополнениями к нашим примерам сцен, «Lynx Spider» и «Oil Puddle»: