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

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

It's time to render!

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

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

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

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


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

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

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

Новости

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

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

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

Читать далее

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

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


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


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

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

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

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

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

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

Читать далее

Истории

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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


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

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

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

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

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

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

Читать далее

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

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

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

Сегодня я хочу поделиться с вами советами по использованию 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.1K


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

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

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

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

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

Читать далее

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

25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань
20 – 22 июня
Летняя айти-тусовка Summer Merge
Ульяновская область

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

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

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


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

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

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

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

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

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

Читать далее

Лентикулярная печать, интегральные изображения, дисплеи светового поля и немного ещё

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров7.7K
Картинка Youtube-канал «Howseography»

Что вспоминается в первую очередь, когда думаешь о детских годах? Лично для меня — это переливающиеся 3D-открытки, которые раньше продавались почти в каждом киоске.

Помните такие? Поворачиваешь под разными углами — и появляются разные изображения.

В детстве мы даже не задумывались о том, что их можно сделать самостоятельно. Казалось, что это что-то слишком сложное.

Но, как выяснилось, такие картинки вполне реально создать самому, и результат практически не отличается от заводского!
Читать дальше →

Конструктор «Улёт»

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

Концепт альтернативной версии старого советского конструктора - своеобразный "Полёт 2.0", ремейк классики на новый лад.

Читать далее

Куда уехал цирк, или почему больше не снимают 3D кино

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

Disclaimer: Эта статья написана человеком. В ходе создания статьи ни один ИИ не пострадал.

Недавно, разбирая старые вещи, я наткнулся на 3D-очки, которые шли в придачу к телевизору Samsung, купленному в очень далеком уже 2011 году, когда трава была зеленее, Дмитрий Медведев - президентом, а iPhone - четвертым. Наткнулся и задумался: как так получилось, что мы больше не ходим на 3D фильмы в кино, да и на новых телеках нет лейбла "3D enabled"? Куда пропала технология, столь широко распиаренная, что появлялись целые телеканалы, вещавшие в режиме 3D? Что ж, давайте разбираться.

В первую очередь я решил удостовериться в том, что отсутствие 3D фильмов - это не аберрация моего восприятия. Несмотря на то, что Сиддхартха Гаутама еще 2500 лет назад рассказал, что все нами воспринимаемое (включая то самое я, которое воспринимает) есть ничто как аберрация, аберрация моего я каждый раз возражает и постоянно пытается в этом усомниться, толкая меня под руку =)

Несмотря на это, я таки нагуглил несколько ресурсов, которые могли бы дать мне конкретный ответ в цифрах, но только один из них смог удовлетворить мою страсть к знанию; правда, пришлось вручную набивать данные в табличку, на основе которой была составлена следующая диаграмма.

Читать далее

3D для каждого: DIY-текстуры 

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


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


Настал 2025 год, прошлый был не самым легким, и в новом году мы все надеемся на лучшее. Но, как говорится, на богов надейся, но порох всегда держи сухим. И в связи с некоторыми трудностями порой встает вопрос с добычей ресурсов. Я уже немного рассказывала, как сделать непосредственно меш  на саму 3D-модель, но процесс работы с текстурами требует чуть больше усилий, чем с объектами.
Читать дальше →

Python 2D графика. Визуализация данных в реальном времени. Matplotlib, PyQTGraph, pyOpenGL, VisPy, Bokeh и др. FPS 200?

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

Тестирование на скорость рисования 2D графиков и измерение fps популярных графических пакетов (Mayavi 3D, PyVista, Matplotlib, PyQTGraph, Plotly, PyGame, Arcade, pyOpenGL, VisPy, Bokeh) Возможно ли на слабом железе получить FPS=50? А FPS=1000? Да, но есть нюансы: VSync=Off

Для 8 графических пакетов в статье приведены 8 максимально коротких и простых специфичных для каждого пакета кода на python, отображающий на экране с максимально возможным FPS для данного пакета график sin()+noise.

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