Как стать автором
Обновить
45.54

Работа с 3D-графикой *

It's time to render!

Сначала показывать
Порог рейтинга
Уровень сложности

DiffSplat: генерация 3D-объектов с помощью диффузионных моделей изображений

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров1.7K

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

Авторы DiffSplat предлагают подход, который решает эти проблемы элегантно и, что более важно, быстро! Вместо того чтобы создавать 3D-модели с нуля, создатели используют уже предобученные text-to-image модели. И просто «перепрофилируют» их для работы с 3D-гауссовыми сплатами.  

Читать далее

Новости

Разбор рендера фейковых теней (и не только) в Танки Онлайн

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров4.3K

Привет! Меня зовут Артур, я работаю разработчиком в команде Unity компании Альтернатива Гейм. В этой статье я расскажу, как мы реализовали технику фейковых blob-теней в нашей игре Танки Онлайн на Nintendo Switch, используя проекционные меши, а также о том, какие еще применения мы нашли для этой техники.

Читать далее

Взаимодействие с CAD в Lazarus IDE

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров1.8K

Продолжая тему работы с 3D-моделями в Lazarus IDE, стоит отдельно рассказать о взаимодействии с CAD-системами. Здесь интерес представляет как построение 2D-графики на чертеже, так и создание или редактирование 3D-моделей.

Читать далее

Конфигурируемая тайловая разрезка: ускоряем отрисовку карты изменением данных

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров2.2K

Привет, меня зовут Сергей Загребин, я из команды разработки графического движка 2ГИС. Кроме рендеринга, мы также отвечаем за формат доставляемых офлайн- и онлайн-данных. В этой статье расскажу, как мы игрались со способом разбиения картографических данных на тайлы и искали баланс между размером офлайн-пакетов и производительностью в рантайме.

Надеюсь, этот материал будет полезен не только тем, кто занимается доставкой картографических данных, но и всем, кому интересно, как работает карта 2ГИС.

Читать далее

Истории

3D для каждого. Оптимизация модели. Часть 2, практическая

Уровень сложностиСредний
Время на прочтение14 мин
Количество просмотров3.6K


Доброго времени суток, господа и господарочки!


Прошлая статья знакомила вас с одной из фундаментальных проблем современного 3D-моделирования и игростроения — с оптимизацией. Мы разбирали причины непомерного объема игровых файлов и архивов с моделями и то, к чему это приводит.

Теперь же мы переходим непосредственно к практике оптимизации. Каждый, кто хочет войти в индустрию 3D-графония и геймдева в частности, должен как минимум иметь представление о том, как содержать архивы (личные и рабочие) в порядке, да еще так, чтобы они не занимали лишнего пространства и с ними было удобно работать. Конечно, некоторые, кто прочел предыдущую часть, уже поняли, как это можно сделать. Однако не сочтите за дерзость и дайте мне шанс прояснить некоторые моменты.
Читать дальше →

Я мучился с Git, поэтому создал про него игру

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров25K

Прошло два года...


… с тех пор, как я разработал и выпустил Git-Sim — бесплатный опенсорсный инструмент для визуализации команд Git непосредственно в репозиториях пользователя.

Самым важным выводом для меня стало то, что существует достаточно большой спрос на визуальных помощников в кодинге.

Через несколько недель после релиза я задумался… Визуализация и симуляция вывода команд Git при помощи удобных диаграмм — это, конечно, здорово, но стало понятно, что они помогают только тем, кто уже в той или иной степени знакомы с Git.
Читать дальше →

Straight Skeleton 2D — один из красивейших алгоритмов. Создание и визуализация

Время на прочтение11 мин
Количество просмотров5.1K

Straight Skeleton 2D является очень красивым алгоритмом в компьютерной графике. На основе простых составляющих можно создавать разнообразные геометрические формы и придавать им фантастический вид в дизайне, архитектуре, ювелирном деле, компьютерных играх и др. Предлагаю вам познакомиться с ним.

Читать далее

3D для каждого: Оптимизация модели. Часть 1, объяснительная

Уровень сложностиСредний
Время на прочтение15 мин
Количество просмотров4.1K


Доброго времени суток, хабражители и хабражительницы!


В прошлых статьях (например, раз и двас) я не раз касалась темы оптимизации моделей. Однако какими именно методами оптимизируют модели и зачем?

В современном мире оптимизация преследует нас повсюду. Оптимизация производства, оптимизация времени, оптимизация логистики… И 3D-художников оптимизация тоже преследует чуть ли не с основания 3D как искусства.
Читать дальше →

Мечтают ли диффузионки о 3D-алайнменте, или что мы планируем рассказать на грядущей ICLR

Уровень сложностиСложный
Время на прочтение4 мин
Количество просмотров735

Привет, Хабр! Меня зовут Нина, я работаю инженером исследователем в AIRI, где мы с моими коллегами активно исследуем возможности генеративного ИИ. Особое место в нашей рабочей повестке занимает применение диффузионных моделей к различным задачам.

Не так давно мы получили приятную новость: нашу статью по семантическое выравнивание при генерации 3D‑моделей приняли на ICLR. В ней мы нашли способ, как построить выровненную генерацию 3D‑объектов, используя гайданс предобученной диффузионной модели, чтобы сделать редактирование или гибридизацию более надёжными. В этой статье хотелось бы кратко пересказать суть нашей работы.

Читать далее

Взаимодействие C3D Solver с приложением на примере моделирования сборки

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров387

С3D Solver – это инструмент для разработчиков, работающих с 2D и 3D-моделированием. Он позволяет создавать параметрические сборки из твёрдых тел и эскизы, накладывая на них связи (ограничения). Мы остановимся непосредственно на трёхмерном решателе, чтобы на его примере ответить на возникающие у разработчиков приложений вопросы, которые и послужили толчком к написанию данной статьи. Например, расскажем о значении синхронизации представлений геометрических объектов – это наиболее распространенная проблема, возникающая при использовании трёхмерного решателя. А также в рамках статьи погрузимся в основные аспекты работы программиста конечного приложения с С3D Solver, рассмотрим функциональность математической библиотеки и пройдём путь от клика по иконке до сопряжения геометрических объектов на конкретном примере.

Чтобы лучше ориентироваться в предметной области и терминах, которые будут упоминаться, начнём с краткого описания базовых понятий. В статье рассмотрим три представления твёрдых тел. Изображение модели, которую пользователь видит на экране, мы будем называть графическим представлением. Следующее представление – модельное. Оно включает в себя описание топологии моделируемого объекта, связей элементов геометрической модели, историю её построения и атрибуты элементов. За него отвечает геометрическое ядро C3D Modeler. Наконец, есть параметрическое представление, которое обеспечивает взаимосвязь элементов модели, позволяя редактировать её, синхронно изменяя положение тел. Воплощается оно в системе геометрических ограничений GCM_System под управлением C3D Solver, который не имеет прямой связи с твёрдыми телами модельного представления. Отсюда возникает важная особенность – необходимость синхронизации представлений.

Читать далее

Handpaint 3d-модели своими силами

Время на прочтение6 мин
Количество просмотров5.9K

Несколько game-ready low-poly моделей, которые делал вручную с применением разделённой покраски: цвет и монохром отдельно. Используется Blender, без каких-то дополнительных штук.

Читать далее

Новинки КОМПАС-3D v23 Home

Уровень сложностиСредний
Время на прочтение28 мин
Количество просмотров12K

В начале сентября прошлого года мы выпустили новую версию системы КОМПАС-3D Home для любительского 3D-моделирования и домашнего использования. Мейкерам, умельцам, 3D-печатникам, домашним мастерам и блогерам доступны все возможности профессиональной САПР.

Что же интересного появилось в КОМПАС-3D v23 Home?


Осторожно, трафик!

(Статья довольно объёмная, поэтому в начале добавлено оглавление для упрощения изучения)

Узнать о новинках КОМПАС-3D v23 Home

IFC-Ассоциации или как подружить элементы и документы пятью строками кода

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров725

Применение формата IFC продолжает расширятся. Некоторые IFC-Вьюверы после недавнего обновления обрели возможность указывать документ со списком элементов модели, которые этот документ охватывает. Вторая интересная возможность – увидеть процедуру согласования вместе с элементами модели, которые её проходят.

Читать далее

Ближайшие события

4 – 5 апреля
Геймтон «DatsCity»
Онлайн
8 апреля
Конференция TEAMLY WORK MANAGEMENT 2025
МоскваОнлайн
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань
20 – 22 июня
Летняя айти-тусовка Summer Merge
Ульяновская область

Three.js с нуля на практике: как за несколько часов создать аркадную 3D-игру. Часть 1

Уровень сложностиПростой
Время на прочтение31 мин
Количество просмотров11K

Привет! На связи Кристина, фронтенд-разработчик в отделе рекламных спецпроектов KTS.

Наша команда создает визуально эффектные проекты, цель которых — привлечь внимание пользователей. Мы постоянно экспериментируем с разными технологиями и подходами, и вот, наконец, добрались до 3D-анимаций. Недавно я начала изучать Three.js и хочу поделиться своим опытом.

В сети есть множество статей и уроков по Three.js для начинающих, но большинство из них — это теоретический материал. Я же хочу показать, как создавать 3D-анимации на практике. Эта статья будет первой в цикле о разработке простой игры, в которой нужно строить башню из блоков.

Для успешного прохождения туториала достаточно владеть JavaScript и ООП. Каждый этап сопровождается ссылкой на codepen с комментариями в коде. А в конце вас ждет играбельный codepen-блок: вы можете сразу посмотреть на промежуточный результат, в котором уже реализована базовая игровая механика. В статье же я пошагово разберу, как к этому результату прийти.

Читать далее

5 способов нарисовать обводку

Уровень сложностиПростой
Время на прочтение13 мин
Количество просмотров6K

Рендеринг обводки (контуров) — это техника, часто используемая в играх или из эстетических, или из геймплейных соображений. Например, в игре Sable контуры применяются для создания стиля, напоминающего комиксы, а Last of Us контуры используются для выделения врагов, когда игрок переходит в режим скрытности.

В этом посте мы расскажем о пяти способах рендеринга контура вокруг объекта.

Читать далее

Udim? Текстурные сеты? Texel Density? Что это и зачем оно? Разбор от А до Я

Уровень сложностиСложный
Время на прочтение20 мин
Количество просмотров3.1K

Сегодня я хочу поделиться с вами советами по использованию Udim, текстурных сетов, texel density, padding, mipmapping и других техник в различных ситуациях и при возникновении ошибок.

Этот материал создан автором самостоятельно, однако в него также включена информация, полученная из других источников.

Редактор и создатель идеи: Daniil Lipin (lipa_l1).
Благодарю за помощь в написании статьи замечательных художников высокого уровня: _Shelest_, Titan_Fair, Alexey Yarmola, nikiost, trasnik.
Отдельное спасибо:
Dmitriy Bogumil — за предоставление файлов/скринов модели монстра.
gRen — за предоставление скринов с ошибками запекания карт id на оружии.

Сайты, откуда была взята маленькая часть информации:
1) https://www.youtube.com/watch?v=55sGQLX7iho
2) https://www.artstation.com/artwork/Xg3reL
3) http://wiki.polycount.com/wiki/Edge_padding
4) https://dtf.ru/gamedev/202100-kak-uluchshit-kachestvo-tekstur-razbor-metodov-optimizacii-uv
5) https://en.wikipedia.org/wiki/File:Mipmap_Aliasing_Comparison.png
6) https://gtaforums.com/topic/750681-skygfx-ps2-xbox-and-mobile-graphics-for-pc/page/287/
7) https://vk.com/@anatolii994-teksel-prostoi-universalnyi-metod
8) https://www.artstation.com/artwork/x3B5YX

Буду признателен, если вы поможете мне исправить опечатки, а ещё, если есть вопросы, пишите, пожалуйста, на почту: lipindan2003@gmail.com, в телеграмм — @lipa_l1, в дискорд — @lipa_l1.

«Все материалы данного сайта являются объектами авторского права (в том числе дизайн). Запрещается копирование, распространение или любое иное использование информации и объектов без предварительного согласия правообладателя»

Читать далее

3D-для каждого. Путеводитель для вольного копейщика

Уровень сложностиСредний
Время на прочтение19 мин
Количество просмотров7.5K


Добрый день, дорогие хабражители! В связи с непреодолимыми обстоятельствами перерывы между статьями становятся все больше, а моя продуктивность все меньше. Но несмотря на то, что большая часть потенциального рынка применения моих вторичных навыков отгородилась от нас правовыми и экономическими барьерами, совсем без работы я не осталась.

Проще говоря, заказов все меньше, а те, что есть, становятся все сложнее, а платят за них все меньше. Однако подобные трудности — не мое личное горе. С ними и многими другими препонами рано или поздно сталкивается любой, кто пройдет по этому пути. И сегодня я хочу немножко рассказать о том, что вас ждет. Возможно, это будет смешно читать профессионалам с многолетним стажем, но новичкам и тем, кто только планирует свое будущее, это может помочь.
Читать дальше →

Разработка трёхмерного движка для Dendy/NES. Часть 1

Уровень сложностиСредний
Время на прочтение18 мин
Количество просмотров15K

В этой статье мы поговорим о разработке простого трёхмерного движка для консоли Dendy (NES/Famicom), который позволит выводить полигональные трёхмерные модели и проводить над ними базовые манипуляции (вращение, перемещение, трансформация, заливка полигонов и т. д.). В первом части мы обсудим реализацию вывода двумерных примитивов и организацию памяти в условиях ограничений NES.

Читать далее

От ASCII к ASIC: портируем donut.c на крошечный кремниевый срез

Время на прочтение10 мин
Количество просмотров1.7K

Прошло много лет с тех пор, как я написал donut.c, и всё это время я не раз задумывался, можно ли как-то упростить этот проект. Например, может быть, нашёлся бы способ очертить пончик лучами, дописав для этого немного кода. В октябре 2023 года я написал твит о совершенно внезапном просветлении, позволившем мне найти новый подход к этой проблеме — без привлечения памяти, без каких-либо синусов, косинусов, без квадратных корней, деления, строго говоря, даже без умножения. Всё нужное можно отобразить с помощью одних только сдвигов и сложений. Вот обновлённая версия на C.


Читать дальше →

Начальная анимация

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров1.3K

Всем привет. Сегодня будет заключительная статья на тему программирования в мире 3D, как вводная во все возможные темы.

В 3D помимо статических обьектов и поверхностей, по которым можно ходить хотябы камерой. Нужны еще анимированные модели - такие как персонажи, еффекты, детали, которыми можно описывать какие-то наблюдаемые явления, частицы. Всё это можно создавать в программном инструменте Blender, Maya и тд.

Хочу продемонстрировать простенький подход минимального болванчика.

Читать далее
1
23 ...