Все потоки
Поиск
Написать публикацию
Обновить
29.23

3D-графика *

It's time to render!

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

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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


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

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

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

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

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

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

Читать далее

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

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

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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


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

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

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

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

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

Читать далее

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

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

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


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

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

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

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

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

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

Читать далее

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

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

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

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

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

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

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

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

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

Читать далее

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

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

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

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

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

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

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

Читать далее

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

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


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


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

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

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

Тестирование на скорость рисования 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.

Читать далее

Godot game engine | Введение в оптимизацию

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

Различные принципы, которые должен понимать разработчик, чтобы повысить производительность игры. Многое из перечисленного касается не только движка Godot.

Читать далее

Устанавливаем и пробуем нейросеть для генерации 3D моделей Hunyan3D-2 под Windows в ComfyUI

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

Нейросеть Hunyan3D-2, генерирующая 3D модели по 2D картинкам, от компании Tencent появилась недавно в открытом доступе. Ее рабочая версия в виде «3D студии» существует, но доступна только владельцам китайских мобильных номером (или если у вас есть WeChat). Но также она выложена в виде исходных кодов ее уже «запилили» для использования с ComfyUI. Этот туториал поможет установить враппер модели под Windows 11.

Читать далее

LibGodot позволит встраивать Godot в другие приложения, например, в Blender

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

..или Blender в Godot 🤔 в общем не суть)

История от Miguel de Icaza про встраиваемый игровой движок.

Много лет назад, работая в Xamarin, где мы создавали кроссплатформенные библиотеки для мобильных разработчиков, мы хотели предложить нашим пользователям возможности 2D и 3D игр в виде добавления 2D или 3D контента в их мобильные приложения.

Для 2D мы создали и разработали множество библиотек, вдохновленных Cocos2D.

С 3D ситуация была сложнее. Мы финансировали несколько библиотек в течение нескольких лет, вносили свой вклад в другие, но ничего не вышло (история этого заслуживает отдельного поста).

Примерно в 2013 году мы огляделись вокруг, и на тот момент у нас было два претендента: один — встраиваемый движок с множеством симпатичных функций, но не очень хорошей поддержкой пользовательского интерфейса под названием Urho, а второй — Godot, который имел отличную IDE, но не поддерживал встраивание.

В то время я связался с Juan, чтобы обсудить, можно ли превратить Godot в такой движок. Хотя я обычно веду подробные записи всех своих встреч, эти записи, к сожалению, пропали в результате приобретения Microsoft, но из того, что я помню, Juan сказал мне: «Godot — это не то, что вы ищете» в двух измерениях, не было никаких ближайших планов по превращению его во встраиваемую библиотеку, и он не был таким продвинутым, как Urho, поэтому он рекомендовал мне выбрать Urho.

Подробности

Порталы: как устроен расчёт видимости в Quake, часть 2

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

Часть 1

Итак, теперь у нас есть первая приблизительная оценка видимости листьев из порталов, хранящаяся в массиве mightsee каждого портала. Вычислять, что именно видно через последовательность порталов, сложно, поэтому мы вместо этих вычислений используем «консервативную» оценку. Она ни за что не скроет лист, который должен оставаться видимым.

«Это просто задача отсечения»

Свет внезапно выключается. Вы сидите в огромном конференц-зале. Кто-то включает проектор. На экране сам Майкл Абраш! Похоже, это знаменитый доклад Quake Postmortem с GDC 1997.

Он говорит о порталах.

Мы берём плоскости отсечения, ограничивающие максимальный объём видимого, и отсекаем их по всё более дальним порталам, пока они не пропадут.

Читать далее

Вклад авторов