Обновить
128K+

3D-графика *

It's time to render!

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

Steering Behaviors: навигация в 3D-лабиринте под водой

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

Я разработал свою первую 3D-игру на Unity: подводный лабиринт в духе PacMan, где игрок управляет субмариной и взаимодействует с разными типами рыб. В какой-то момент, я столкнулся с вопросом: как сделать поведение агентов не просто рабочим, а живым и правдоподобным?

В статье разберем:

• что такое Steering Behaviors и в чем суть этого подхода
• основные типы поведения: seek, pursue, evade, wander, avoidance
• как из простых правил собрать более сложную модель поведения агента
• как этот подход был применен в моей игре

Читать далее

Новости

Как проходят реальные рабочие встречи в геймдеве (с примерами)

Уровень сложностиСложный
Время на прочтение1 мин
Охват и читатели5.8K

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

Читать далее

Как я рендерю 3D-квартиры в браузере: Next.js + Three.js, процедурная мебель и мультиплеер на WebSocket

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

Привет, Хабр. Расскажу, как устроен мой сайд-проект — пиксельная аркада Прикольня, где у каждой компании друзей своя 3D-квартира с мебелью, аватарами и контентом на стенах. Под капотом — Next.js 16, Three.js через React Three Fiber, WebSocket-мультиплеер и PWA. Без единого .glTF файла — вся мебель процедурная.

Читать далее

3D для каждого: Как игры врут про физику — и почему это сложнее, чем кажется

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

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

Плащ героя развевается на ветру, мяч отскакивает от пола, дракон при падении смешно кувыркается. Всё это выглядит как физика — но движок давно научился врать убедительно. За каждым красивым эффектом стоит выбор: честно просчитать или ловко сымитировать. Разбираемся, как виртуальный мир притворяется настоящим — и почему это искусство не менее сложное, чем сама физика.

Забегая вперед: да, физика груди Леди Димитреску и сочные ягодицы героини Stellar Blade — тоже обман.

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

На очереди разбора — физические законы виртуального мира

Читать далее

Реверс-инжиниринг в КОМПАС-3D. Основы и примеры

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

Тема обратного (реверс-) инжиниринга становится всё более популярной в инженерной среде. А для некоторых проектно-конструкторских организаций такая деятельность вообще является основной специализацией. Причины здесь на поверхности - санкции , которые приводят к отказу в поставках, например, ремонтных изделий и запчастей; нарушения устоявшихся цепочек логистики вплоть до их полного разрыва либо существенного увеличения сроков поставки. Основная задача реверса – воспроизведение готового изделия (от ремонтно-восстановительных работ до полного копирования конструкции) – всецело помогает обходить указанные проблемы.

На практике есть несколько сценариев, по которым работает конструктор, занимающийся реверсом. Мы рассмотрим наиболее прогрессивный – с подготовкой трехмерной модели в САПР и дальнейшей работой с ней. Здесь можно выделить несколько основных этапов:

Читать далее

Duckstation: трёхмерные скриншоты игр PS1

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

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

Недавно наткнулся на информацию о том, что существует форк известного эмулятора Sony Playstation 1 — Duckstation, в котором энтузиасты сделали возможность «выдёргивать» трёхмерную геометрическую информацию и текстуры в виде obj файла, пригодного для импортирования в большое количество трехмерных редакторов.

Читать далее

Как я часами смотрел на голубей в слоумо: мой опыт создания 3D-анимации для веба

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

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

Привет! Меня зовут Алексей Нибо, я дизайн-директор в Атвинте. Это история о том, как я собирал интерактивные 3D-модели для сайта архитектурного бюро.

Читать далее

Как рисовать игровые облака для чайников

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

Ты — начинающий художник, который дорвался до Unreal Engine 5 и даже создал по гайду свою первую локацию. Но вот незадача: небо! Оно пустое и совсем не такое, как тебе хочется. А хочется, чтобы всё было «по красоте». Перерыв весь YouTube, ты нашёл кучу плохих роликов и парочку видео, где на протяжении 100 500 часов монотонный хмырь рассказывает художественную базу, от которой уши вянут.

Давай начнём с простого. Открываем Photoshop и создаём сцену 2048 x 2048 (можно и больше, тут стесняться не надо). Дальше нам нужно скачать два набора кистей. Вообще, их можно купить или найти официально, но мы — люди находчивые, поэтому ищем на «зелёном Ютубе под пиратским флагом».

Читать далее

Как делают игры в Индии | Как работает художник с кинопродюсерами в международных компаниях — Подкаст

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

Первая часть

VK
https://vkvideo.ru/video-232855073_456239024?sh=4&list=ln-NzKXonuWglV3UzFcrK

Телеграмм канал

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

Спикеры: Юрий Романюк — арт‑директор

Сайт: romanyukart.com
Портфолио и контакты: romanyukart.com/about/
Email: romanyukyury@gmail.com

Сергей Мусин — арт‑директор, художник

Сайт: samfx.com
IMDb: imdb.com/name/nm2621923/

Email samfxi@gmail.com

Читать и Смотреть

Не биты, а тетраэдры: как я построил геометрический движок состояний и ускорил точную задачу в 555 раз

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

Мы привыкли думать о вычислениях как о битах, регистрах и арифметике. А что, если базовой единицей вычисления сделать не бит, а локальную геометрическую конфигурацию тетраэдров? В этой статье я покажу дискретный тетраэдрический движок состояний, симметрийную канонизацию, аттракторы, иерархические jump-таблицы и реальные замеры на RTX 3090 — с измеренным exact-ускорением в 554.92 раза на одной и той же задаче.

Читать далее

Более быстрый asin()

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

Когда я пишу эту статью, то чувствую себя довольно глупо. На самом деле, это история с моралью «Прежде, чем действовать, изучи вопрос и понимай, в чём заключается твоя цель, потому что иначе потеряешь много времени».

Я продолжаю работать над проектом PSRayTracing. Как ни стараюсь я положить его на полку, время от времени слышу о чём-то «новом» и задаюсь вопросом: «а можно ли засунуть это в мой трассировщик лучей, чтобы выжать из него ещё немного скорости?». На этот раз такой темой стали аппроксимации Паде. Моя цель заключалась в обеспечении более быстрых (и точных) тригонометрических аппроксимаций.

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

Читать далее

Создание процедурной карты шестиугольников при помощи коллапса волновой функции

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

Я был одержим процедурными картами с ещё детства, когда кидал кубики на таблицы случайных подземелий из AD&D Dungeon Master's Guide. В этом есть что-то волшебное — ты не проектируешь подземелье, а исследуешь его, помещение за помещением, а кубики решают, попадёшь ли ты в сокровищницу или в тупик с кучей крыс.

Спустя годы я решил создать собственный генератор карт. Он создаёт маленькие средневековые островные миры с дорогами, реками, побережьями, горами, лесами и деревьями. И всё это полностью процедурным образом. Генератор написан на Three.js WebGPU с TSL-шейдерами, примерно 4100 шестиугольников в 19 сетках генерируются за ~20 секунд.

Читать далее

Что такое OpenUSD, или Как подружить Blender и Git

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

Недавно автор решил попробовать что-то помоделить в Blender. На данный момент он ещё только начинает осваиваться в 3D, но имеет небольшой опыт в разработке ПО, преимущественно с использованием Git, потому хотел бы и тут избежать версионирования проектов в духе "projectN_final5_20260305_fix3.blend", который подразумевается при "инкрементальном" сохранении.

На первый взгляд ничего сложного тут быть не должно: в Blender работа ведётся с набором точек-координат-чисел и их связей, настроек модификаторов, ссылок на текстуры и референсы и т.п.; потому всё это должно иметь некоторую стандартизированную структуру, возможно упакованную в ZIP-архив. Файл проекта .blend же является таким ZIP-архивом, ведь так? Распакуем его и просто занесём в Git? Неправильно!

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

Читать далее

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

Как в Unreal Engine генерируется Hierarchical Z Buffer

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

В этой статье разберём, как Unreal Engine строит Hierarchical Z Buffer (HZB).

Покажем, как вычисляются размеры mip-уровней, зачем нужно специальное округление float, как используются функции Gather, батчинг нескольких mip-уровней за один Dispatch, groupshared память, wave-операции и Morton Z Curve.

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

Читать далее

Неплоский мир: как мы делаем рельеф настоящим

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

Когда вы прокладываете маршрут в горах в 2ГИС или рассматриваете вид на дом в 3D, вы вряд ли задумываетесь, что под капотом карты происходит серьёзная вычислительная работа. За каждой формой рельефа — тысячи треугольников, интерполяции и алгоритмы, которые превращают цифровую модель местности в реалистичную поверхность.

Впервые рельеф мы добавили в веб‑версию 2ГИС в 2022 году. С тех пор мы не останавливались на достигнутом: доработали алгоритмы, улучшили качество исходных данных, научили дороги и здания влиять на поверхность. А недавно мы выкатили рельеф и в мобильное приложение.

В этой статье расскажем, как мы пересмотрели подход к данным, зачем нам понадобился нерегулярный меш, что общего у RTIN с Делоне и почему даже рельеф иногда приходится «чинить».

Читать далее

Одна формула, позволяющая понять 3D-графику

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

Учась в школе, я обнаружил очень простую математическую формулу, о которой не перестаю думать и сегодня. Смысл её в следующем: представьте, что у вас есть 3D-точка в воображаемом 3D-пространстве за экраном. Для проецирования этой 3D-точки на экран нужно взять её координату X, поделённую на Z, и аналогично её Y / Z. И в результате вы получите проекцию точки на экран: x'=\frac{x}{z} и y'=\frac{y}{z}. А если у вас есть множество точек в этом 3D-пространстве за экраном, и вы начнёте их анимировать и вращать их, а потом воспользуетесь этой формулой для рендеринга всех точек на экране, то это будет выглядеть, как 3D-сцена или 3D-объект. Давайте попробуем эту формулу в деле.

Читать далее

3D-шейдер реального времени на Game Boy Color

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

Я написал игру для Game Boy Color, которая рендерит изображения в реальном времени. Игрок управляет источником света и вращает объект.

Поиграть в неё можно здесь: https://blog.otterstack.com/posts/202512-gbshader/data/teapot.html

Посмотреть код и скачать ROM можно здесь: https://github.com/nukep/gbshader

Читать далее

Cвой Fusion 360! Как я делал свою САПР за новогодние выходные

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

Почему-то в последние пару лет я упорно не замечал, что Autodesk ушел из России (шутка), но постоянно обновлял свой любимый Fusion 360 через боль и страдания. Параллельно со мной страдали некоторые мои товарищи, практически все мои обучающиеся, да и много кто ещё. Дополнительной проблемой стал перевод пары учебных аудитории на Ubuntu, а Fusion 360 существует исключительно для Windows, и костыли через wine работают криво. Даже младшие классы пострадали, т.к. разрабатывали у нас модели в Tinkercad. Единственная бюджетная (бесплатная) альтернатива, это FreeCAD, но интерфейс у него не самый дружелюбный, особенно для школьников.

Идея появилась совершенно случайно, за разговором с коллегами. А почему бы на коленке не набросать простенький 3D-редактор для моделирования под 3D-печать. С простым интерфейсом и работой прямо в браузере. Естественно, это будет не полноценный САПР, но для обучения и простенького проектирования функционала должно хватать.

Целился я в нечто среднее между Tinkercad и Fusion360. Одной из задач было обойтись без сервера, т.е. работа на стороне клиента. В качестве основы я выбрал популярную библиотеку 3D графики Three.js.

Накидал пробный интерфейс и тут началось...

Читать далее

Лучшие инструменты для 3D‑графики в 2026 году

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

За последние два года инструменты обновились быстрее, чем успели адаптироваться многие рабочие процессы: в DCC‑пакеты встроились генеративные функции, игровые движки получили новые рендер‑технологии, а студии начали переходить на гибридные пайплайны, где классические методы сочетаются с автоматизацией на основе ИИ. Художникам, техническим артистам и инди‑разработчикам приходится выбирать не просто программу, а целую связку инструментов, которая выдержит требования продакшена.

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

Читать далее

3D-мозаики и скульптуры из кубиков Рубика

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

С начала 1980-х годов в среде энтузиастов кубика Рубика обсуждались алгоритмы сборки, поиск оптимальных решений и «числа Бога», симметрии и паттерны. Но до конца 1990-х годов на повестке дня практически не обсуждалась тема мозаик из кубиков Рубика. В 1997 году доктор теоретической физики Хана Байзек из Иллинойса опубликовала книгу Mathematics of the Rubik’s Cube Design, где рассматривала кубики Рубика в качестве модулей для трехмерного художественно-математического проектирования. В книге была изложена концепция управления цветами, симметрией и ориентацией кубов при построении 3D-мозаик и скульптур, отличавшихся от обычных плоских мозаик, с которыми в то время уже начали экспериментировать некоторые любители кубика.

В этой статье я расскажу о наследии Байзек и современных экспериментах с 3D-мозаиками и скульптурами из кубиков Рубика.

Крутить далее...
1
23 ...