Обновить
91.88

3D-графика *

It's time to render!

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

Генерируем G-code прямо в браузере: как я написал карманную CAM-систему на JS+WebGL, чтобы не запускать тяжелый CAD

Уровень сложностиСредний
Время на прочтение3 мин
Охват и читатели9.5K

Зачем запускать тяжелый Fusion 360 или ArtCAM, чтобы просто вырезать фланец или прокладку? Я написал свой CAM-процессор на чистом JavaScript и Three.js, который готовит G-code из DXF за пару секунд прямо в браузере.

В статье разбираем архитектуру легковесного инженерного софта: парсинг DXF, визуализацию траекторий на WebGL, алгоритмы оффсетов и опыт парного программирования с нейросетью.

Заглянуть под капот

Новости

Максимальный профит от BIM-модели. Автоматическое формирование схем

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

Привет, дорогие BIM/ТИМ-энтузиасты! Меня зовут Сайыына Колесова, я BIM-координатор в компании КРОК. Я в BIM с 2020 года, реализую проекты для корпоративных задач компании, разрабатываю разные семейства оборудования, арматуры и устройств для корпоративной библиотеки. За это время создала ряд полезных скриптов для проектировщиков и координаторов. В статье расскажу про некоторые из скриптов, а именно, как мы из BIM-модели здания формируем схемы и получаем максимальный профит в программном обеспечении Revit.

Читать далее

Стилизация, часть 2: Границы стилизации. Гротеск

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

Что называют стилем и стилизацией? Какие течения у стилизации существуют и как классифицировать визуальный стиль рендеров? Можно ли уравнять гиперреалистичный шутер Bodycam и бродилку про глиняных человечков The Midnight Walk, пиксельный выживач Rain World и стратегию Heroes of Might and Magic? Отчасти на этот вопрос мы уже ответили в первой части. Кстати, эту самую первую часть с общей историей развития стилизации в играх и биологическими предпосылками восприятия можете почитать здесь.

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

Читать далее

Защитные конструкции от попадания БПЛА: практические вопросы и инженерные решения

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

За последние месяцы наш конструкторский отдел получил большое количество запросов на проектирование защитных ограждающих конструкций (ЗОК) для самых разных объектов: промышленных цехов, технологических площадок, складских комплексов. Спрос растёт, и речь уже идёт не о единичных проектах, а о системном подходе к защите критичной инфраструктуры от беспилотных летательных аппаратов.

Читать далее

Базовая процедурная генерация воксельных виртуальных миров

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

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

Читать далее

Как я разрабатывал игру на своем движке. Часть первая

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

Первым делом пришла идея, я тогда пробовал делать игры только в 2d и пиксель арте. Порисовав в изометрии, я подумал, что графика слишком слабая и я не наберу восторженных отзывов об игре, да и к тому же некоторые симуляторы славятся тем, что после определённого цикла развития, развиваться становится уже некуда и игру приходится заканчивать просто без конечных титров.

В один прекрасный день, как это бывает у меня по цикличности, я вновь загорелся учить электронику, когда увидел книгу "Основы Электричества". Я её купил, а когда начал читать, то в первой теме я всё понимал, но дальше потребовался векторный анализ, который я не знал и тогда я принялся учить линейную алгебру и аналитическую геометрию. Так я прошел и векторный анализ и дошел до того, что захотелось реализовывать каждое знание, которое я подчерпнул из книги.

Таким образом я стал рассуждать, вот 3d, надо пустить луч, я помню, что был способ через матрицы, но не помню какой. Спросив у нейросети и выполнив то, что нужно, я заметил, что алгоритм пересечения сферы с лучем не правильный. Тогда я решил выработать свой способ, ну просто порасчитывать так как мне этого захотелось. Тогда я потратил 5 дней на это и выработал формулу, которая помогает манипулировать фронтом камеры без вычисления обратных матриц. Я обрадовался. Теперь моя функция бросания луча выглядит так.

Читать далее

Фантастические Лутбоксы и где они обитают. Обзор SARDAUCAR

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели7.2K

Всем привет, меня зовут Сергей (SARDAUCAR), я один из авторов GOLDINA Entertainment. Хочу рассказать вам об этом небольшом наборе лутбоксов, созданных мной.

Идея создания была выбрана в стиле Sci-Fi / Future Military, почему два этих стиля? Потому что мне нравится оружие во всем его великолепии, от холодного (мечи, кинжалы, дубины, молоты и т. п.) до футуристичного (бластеры, болтеры, плазмаганы, лазерные и мономолекулярные образчики режущего оружия ближнего боя, и, конечно, BFG 9000).

Читать далее

Альтернативный raycast

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

Всем привет. Недавно я занялся нахождением возможности бросить луч не используя классический метод с перемножением обратных матриц. Меня эта идея зацепила и я стал исследовать, возможно ли как-то сделать то же самое, но без обратных матриц. И вот что получилось. Есть видео и также описание код приложу в туториал.

Читать далее

Closures для 3D-художника? Зачем?! Как сложная концепция сделает ноды проще и мощнее

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

«Опять эти ваши программистские штуки! DI, closures, bundles, декларативная система... Я просто хочу сделать красивую симуляцию частиц, а не изучать Computer Science!»

Если эта мысль промелькнула в голове, когда вы услышали о Closures в Blender — вы не одиноки. Давайте разберёмся, почему разработчики добавляют в ноды сложные концепции и как это в итоге упростит жизнь именно 3D-художникам.

Читать далее

Как устроены зеркала в Sims 4

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

В этой статье нет каких-то революционных открытий, есть только некоторые наблюдения о зеркалах, не совсем очевидные для людей, никогда не создававших эти объекты в играх.

Зеркала в Sims 4 по-настоящему работают! Для этого игре нужно ещё раз рендерить комнату для каждого зеркала в сцене. Разумеется, это затратный процесс.

Читать далее

Как я бросил луч на сцену

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели7.3K

Как бы я ни старался учиться электронике, я нахожу занятным освоить в первую очередь аналитическую геометрию, чтобы виртуозно манипулировать векторами и делать разные расчёты.

Я разрабатываю собственный движок, чтобы отработать математические навыки и подготовиться к математическому анализу. Да, мне уже 37 лет, а я всё ещё не знаю как пользоваться правильно дифференциальными уравнениями, хоть и понимаю из одной книги как это было важно для разных открытий, в том числе и для нахождения площади или длины кривых.

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

Как только я узнаю какую-то формулу или что-то открываю для себя новое, я тут же воодушевляюсь и очень радуюсь, и конечно не забываю добавлять в игровой движок новые знания, подчерпнутые из книг.

Я бы хотел рассказать как я бросил луч в сцену, на создание которого, а он ещё не доделан, я потратил 4 дня. Движок мой на C и поэтому думаю, что будет понятен каждому.

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

Нейросеть мне подсказала, что можно перемножить обратные (матрицу камеры и проекции) и умножить это на вектор и потом получается что-то, с чем я не понимал как работать и пошёл дальше своим путём.

Читать далее

Воксельный движок за выходные

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

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

Введение

Приготовьтесь, мы совершим путь от единственного кубика до целого воксельного движка! Нам понадобится следующее:

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

API рендеринга! Выбирайте что угодно, эта статья — не туториал по рендерингу.

Если в процессе у вас возникнут вопросы, можете связаться со мной на моём сервере Discord или написать на contact@daymare.net.

Читать далее

Проблемы контурных карт: анализ графики Europa Universalis 5

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели20K

Открывая глобальную стратегию, обычно вы ожидаете лёгкую нагрузку для видеокарты, т. к. такие игры никогда не славились выдающейся графикой. Однако, из-за ряда решений, которые скорее всего были приняты для упрощения разработки, мы получаем довольно плохую производительность. Видя низкий фпс, мне стало интересно, а собственно, что здесь занимает столько ресурсов?

Читать далее

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

Захват объектов в формате 4D/6D для виртуальных сред: что с патентами?

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

В компьютерном пространстве 3D — это статичный объект и координаты: x, y, z. 

4D — это 3D + время. Формат 6D означает, что добавляются еще три измерения, описывающие ориентацию объекта в пространстве, что часто называют положение + вращение: как он повёрнут? (углы поворота по осям: тангаж, крен, рыскание / Pitch, Roll, Yaw). Вместе это 6 параметров. 

Читать далее

Определение координат дрона относительно движущегося объекта

Время на прочтение3 мин
Охват и читатели8.7K

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

Читать далее

Координатные пространства/Coordinate Space в компьютерной графике. Объясняю на чайниках

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

1.Что такое пространство?

2.О самых распространенных пространствах

3.Причем тут трансформ и умножение матриц?

4.Как их можно использовать, на примерах шейдеров

Читать далее

Визуализация горного ландшафта на C++ или велосипед для рендеринга

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

Основной целью этой работы было попытаться реализовать реалистичную сцену горного ландшафта с воздушным шаром, используя "чистый" C++ и QT только для вывода пикселей. Мне было интересно превратить код в картинку, не имея других инструментов.

Читать далее

3D-реконструкция древних городов: Теночтитлан/Мехико

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

Сохранилось немало картин и карт из средневековья, но они часто стилизованы и лишены реализма. В результате современные люди слабо представляют то время. Лишь отдельные бытовые мелочи, такие как новгородские берестяные грамоты, дают возможность взглянуть на бытовую сторону жизни цивилизованных новгородцев 12−13 вв.

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

Один из интересных проектов по реалистичной реконструкции древних городов — трёхмерная визуализация Теночтитлана. Так назывался Мехико до брутального пришествия европейцев.

Читать далее

Claw Engine: как студенты из НИУ ВШЭ релизнули MVP игрового движка

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

Claw Engine: как студенты из НИУ ВШЭ релизнули MVP игрового движка

Всем привет! На связи Bear Head Studio, команда Claw Engine. Мы рады сообщить об открытом релизе нашего игрового движка :)

Читать далее

Пишем летающего дрона на Unreal Engine

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

Привет!

В этой статье я объясню как сделать ИИ летающего боевого дрона на движке Unreal Engine с использованием алгоритма A*.

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

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