Обновить
58.25

3D-графика *

It's time to render!

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

Разработка Moba клон Dota 2 [FUN MODE]

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

С наступающим!

В юности, когда я увлекался компьютерными играми, играл в Moba Dota ещё на движке Warcraft III. В редакторе карт с помощью макросов и кода хотел сделать своих героев с уникальными умениями. Было интересно разрабатывать и смотреть как мои фантазии воплощаются в жизнь. Но всё же редактор карт накладывал свои ограничения и не так свободно можно было сгенерировать 3d персонажей и внедрить их в проект.

С появлением Dota 2, герои стали более детализированными, умения героев более эффектными, а карта интереснее. Меня это вдохновило на создания своих игр, я пробывал создавать в Unity, Unreal. Но знаний и времени изучить эти движки не было. А знаний по 3D моделингу вообще не было, поэтому игровые проекты я забросил, так как необходимо было разрабатывать более "приземленные" коммерческие проекты: веб сервисы, мобильны приложения и так далее,

С появлением игрового движка Godot, разработка игр получила вторую жизнь. Игры можно делать сразу на все популярные платформы: PC, Mac, IOS, Android, web. Управление объектами сцены можно полностью через код, что очень подкупало, так как редактировать сцены в 3d редакторе не всегда удобно, тыкая по UI, а можно быстро написать код сцены и объектов ней.

Читать далее

Новости

Система процедурной генерации текстуры для анимации 2D эмоций

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

Реализация системы процедурной генерации текстур, направленной на создание динамических и гибких анимаций для отображения 2D-эмоций персонажей в программе Blender 3D.

Читать далее

Стилизация, часть 3. Превращение в стиль

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

Что объединяет «Как приручить дракона», «Царство падальщиков», «Elden Ring» и «Clair Obscur: Expedition 33»? Они все о вымышленных мирах с фантастическим (а местами фэнтезийным) сеттингом? Там есть драконообразные монстры? Главные герои — люди? Всё так, но есть куда более абстрактный, но важный нюанс: стилизация.

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

Ну и в качестве бонуса, вас ждёт пошаговая инструкция по превращению фотографической картинки в стилизованную без участия нейросетей.

Предыдущие части про стилизацию можно почитать тут: часть 1, часть 2.

Читать далее

Зачем был нужен WinQuake и как он работал

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

Когда изучил историю двоичных файлов Quake, их логика стала мне понятна. quake.exe был первоначальным релизом, который мог работать в DOS и Windows 95. Затем появился vquake.exe для поддержки чипа Vérité 1000 с аппаратным ускорением. Позже выпустили glquake.exe, позволивший использовать аппаратное ускорение любого чипа с драйверами OpenGL. А чтобы совершить революцию в Интернет-deathmatch, id Software выпустила сервер и клиент QuakeWorld (qwsv.exe и qwcl.exe).

Однако я не мог понять смысл winquake.exe... до недавнего времени. В статье я расскажу, что понял, изучив его работу.

Читать далее

Как я уже 5 лет создаю свою макрос-клавиатуру. И почему не бросил этот проект

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

Привет! Меня зовут Нияз, и последние пять лет я веду, пожалуй, самый длинный и упорный личный проект в своей жизни создаю собственную макрос-клавиатуру с нуля: от логотипа до электроники и ПО.

Читать далее

Создание оптимизатора Windows на PowerShell: от идеи до GUI-инструмента

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

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

Читать далее

Как я сделал 3Д-визуализацию интерьера бесплатно (почти)

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

Привет всем. Я снова с вами, чтобы рассказать о следующем этапе нашей эпопеи с перестройкой старого деревенского дома. Моя супруга заявила, что жилье должно быть не только функциональным, но еще красивым и уютным. А если женщина что-то решила, то дело мужчины — подчиниться.

Нет, сначала я пытался сопротивляться. Ну реально - у нас не крутая вилла, а небольшой дачный домик. Так что можно обойтись и без предварительных проектов и 3Д-визуализации интерьера — посидим на сайтах строительных и мебельных магазинов, выберем отделочные материалы, всякие шкафы, кровати и тумбочки. А уж как их расставить, разберемся на месте. Но супруга напомнила, как мы в свое время чуть не развелись, когда я «на глазок» купил гарнитур для спальни. Вроде все померил, а оказалось, что мебель расставить удобно нельзя и тумбочка, стоящая у кровати, мешает открывать шкаф.

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

Читать далее

Техники из 90-х, которые все еще работают, или процесс экспорта карт в Танки Онлайн

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

Привет, меня зовут Артур, и я Unity-разработчик в компании «Альтернатива Гейм». 

В мире геймдева часто кажется, что создание карт — это удел художников и левел-дизайнеров: расставил ассеты, настроил свет, и готово. 

Но что если ваша игра должна работать на двух абсолютно разных клиентах — устаревшем WebGL 1 и современном Unity для консолей — при этом оставаясь одной и той же игрой? Здесь заканчивается чистое искусство и начинается настоящая программистская магия.

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

Читать далее

Проблема Гильберта №24 в геймдеве: Как типобезопасная физика сделала Radiosity легче перышка

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

Вероятно, все знают про 23 проблемы Гильберта, определившие развитие математики XX века. Но мало кто знает, что в черновиках великого немца была 24-я проблема: она касалась критериев простоты доказательства и поиска наиболее прямых методов решения задач.

Читать далее

Хватит моделировать «на глаз»

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

Почему именно 8 вершин стандарт Low-Poly.
Сколько нужно кубу, чтобы он стал наконец правильной сферой.
Зачем UV-сфера убивает ваш шейдинг.

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

Запекаем текстуру в opengl

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

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

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

Итак начнём. У меня движок ещё сырой, так что не ругайте за код, так как я бывает многое переписываю, потому что не учитывал некоторые аспекты того, что требуется.

Первым делом, чтобы проверить, что всё точно работает, я написал вот такой код.

Читать далее

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

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

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

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

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

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

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

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

Читать далее

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

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

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

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