Простое преобразование файлов JPG, PNG, GIF в векторы PDF, SVG, EPS
Быстро подготовьте свои работы к печати, вышивке, вырезанию и многому другому с помощью лучшего в мире полноцветного автоматического трассировщика!
Анимация, показывающая, как Vector Magic преобразует растровое изображение JPG, PNG, BMP или GIF в векторное изображение SVG, PDF, EPS, AI или DXF.
Нажмите, чтобы повторить просмотр
Онлайн
Автоматически конвертируйте растровые изображения JPG, PNG, BMP и GIF в настоящие векторные изображения SVG, EPS и PDF онлайн простой загрузкой в программу. Настоящая полноцветная трассировка без установки программного обеспечения и результаты готовы мгновенно!
Сбросить изображение для загрузки
Перетащить изображение сюда
Выбрать изображение для загрузки
Ctrl + V Бета
File Picker
Компьютер
Автономное компьютерное приложение для преобразования растровых изображений в векторные изображения вне сети. Поддерживает все форматы файлов онлайн-версии, а также вывод в AI и DXF. Безупречно работает с Illustrator, Corel и другими программами. Компьютерное приложение
Применение
Подготовка к печати
Нужно подготовить изображения для печати, вырезания или вышивки? Vector Magic может помочь вам справиться с потоком изображений. Сократите время выполнения заказа, сведите к минимуму проблемы с подготовкой к печати и сократите свои расходы!
Логотип представляет ваш бренд и используется на разных носителях информации: на вашем веб-сайте, визитных карточках, листовках, баннерах и т.д. Обеспечьте единообразное и четкое изображение во всех контекстах, используя векторный формат.
Графический дизайн
Быстро вставляйте исходный растровый материал в векторные композиции, что создает целый диапазон творческих возможностей. Или действуйте традиционно и нарисуйте что-нибудь на бумаге, а затем отсканируйте, векторизуйте и улучшите свое творение.
Придавайте художественный вид своим фотографиям, векторизуйте графики или карты, превращайте отсканированные изображения во что-то более гибкое и многое другое. Попробуйте сегодня!
Как конвертировать изображения в JPG, PNG, GIF в векторные файлы PDF, SVG, EPS
1. Загрузить
Загрузите растровое изображение, и мы автоматически определим, какие настройки использовать, и сделаем трассировку за вас.

2. Проверить и редактировать
Вы можете просмотреть векторный результат, настроить параметры и даже отредактировать результат с помощью одного и того же инструмента.

3. Скачать
Результат предоставляется в форматах SVG, EPS и PDF. Компьютерная версия также поддерживает AI и DXF.
Просто лучший в мире автоматический трассировщик

Полностью автоматическая векторизация
Vector Magic анализирует ваше изображение и автоматически определяет подходящие настройки для его векторизации, а затем трассирует базовые формы в полном цвете. Это намного упрощает начало работы — просто загрузите изображение и готово, результат для просмотра! Естественно, вы можете изменить настройки автоматического определения. Vector Magic предлагает вам содержательные настройки, понятные не только для машины, но и для людей, и их можно легко изменить. Прочитайте полное учебное пособие »
Нужно конвертировать JPG в SVG? Воспользуйтесь Vector Magic, чтобы получить лучший из возможных результатов.
![]()
Субпиксельная точность
Vector Magic тщательно трассирует каждый бит информации вашего изображения, срезая каждый краевой пиксель точно в нужном месте, чтобы воссоздать замысел вашего оригинала. Это позволяет нам выявлять мелкие детали, которых не замечают другие инструменты, расширяя возможности того, до какого уровня детализации вы можете дойти прежде чем потерять нюансы оригинала.
Клиенты часто предоставляют свои логотипы в формате PNG, но чтобы их напечатать, вам может потребоваться преобразование в SVG. Перерисовка может занять несколько часов. Вместо этого воспользуйтесь Vector Magic, часто за считанные секунды вы можете получить отличные результаты.

Нужное количество узлов
Если вы раньше использовали другие инструменты автоматической трассировки, вы, возможно, заметили, какое огромное количество узлов они используют для создания результата и как странно они их размещают. Vector Magic — это как глоток свежего воздуха, он грамотно выбирает нужное количество узлов и размещает их в удачных местах. Это значительно упрощает работу с результатами и уменьшает размер файлов.
Vector Magic — это однозначно лучший в мире конвертер PNG в SVG. Если вам нужно преобразовать PNG в SVG, вы обратились по адресу.

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

Трассировка

Внедрение
Трассировка, а не внедрение
Vector Magic всегда трассирует ваше растровое изображение, тщательно выделяя его базовые формы, и создает для вас настоящее векторное изображение со всеми его преимуществами. В то же время в Интернете можно увидеть множество сервисов, которые претендуют на преобразование растровых изображений в векторы, а на самом деле просто внедряют пиксели, не трассируя их в векторных формах. В результате вы получите файл, который останется размытым при увеличении, и его нельзя будет использовать для резки, шитья, лазерной гравировки или других целей, требующих настоящего векторного изображения. Избавьте себя от разочарований и воспользуйтесь Vector Magic для настоящей векторизации!
Графическим дизайнерам часто требуется конвертировать JPG в SVG. Чтобы быстро справиться с этой задачей, используйте Vector Magic.
Классный ресурс . мне нравится интерфейс и простота
R. Deshler, Gannon Design
Vector Magic стал одним из моих наиболее часто (и тайно . ) используемых инструментов. Он оказал мне бесценную помощь во многих проектах, мне нравится простота использования и точность. Отличная работа и спасибо!
J. Wilson, Jimzip Productions
Он просто супер и работает отлично. Я использую его для работы, учебы и своих собственных небольших проектов.
A. Carback, Web Designer
Я не знаю, ребята, как передать, как я люблю ваш продукт! Он работает отлично! В первую неделю работы я смог по-настоящему впечатлить своего босса с помощью этого инструмента! Я часто использую его дома и на работе. Спасибо, вы молодцы!
J. Hasty, Ketchikan SIGN PRO
Преимущества
Vector Magic превращает сложную и утомительную задачу по ручной трассировке растрового изображения в простой процесс щелканья мышью. Верните контроль над своими изображениями!
Если вы сравните результаты с другими инструментами, вы заметите, что Vector Magic создает векторные изображения, лучше отвечающие исходному растровому изображению. Это часто делает их пригодными для немедленного использования, а если очистка и требуется, то в гораздо меньшем объеме.
Из-за высокой стоимости аутсорсинга и количества времени, необходимого на ручную трассировку, Vector Magic окупается даже при минимальном использовании. А поскольку использование неограничено, всегда имеет смысл попробовать его на любом изображении, которое вы хотите векторизовать.
Зачем зря тратить время? Vector Magic немедленно выдает результаты и позволяет вам продолжить свой день и заняться тем, что действительно важно.
Растровые и векторные изображения
В чем разница между изображениями в JPG, PNG, GIF и файлами SVG, EPS, PDF, AI, DXF?
Векторные изображения состоят из кругов, прямоугольников, линий и кривых, в то время как растровые изображения, также известные как точечные, состоят из сетки пикселей. Векторизация или трассировка — это процесс повторной отрисовки растрового изображения как векторного.
Формы в векторных изображениях позволяют компьютерам делать то, что невозможно сделать с растровыми изображениями, например масштабировать их до любого размера без потери качества и использовать их, например, для вырезания, шитья, покраски и гравировки лазером.
Растр
Решетка
Пиксели
Вектор
Основные фигуры
Векторное изображение
Форматы файлов растровых изображений
Существует большое количество различных форматов растровых изображений. Вот некоторые из наиболее распространенных: JPEG, PNG, GIF, BMP и TIFF. Вообще говоря, они делятся на две категории: Форматы с потерями Они имеют меньший размер файла, но не сохраняют точную копию изображения. Лучше всего подходят для фотографий и других изображений, где безупречная точность не важна. Также часто используются в Интернете для экономии трафика. JPEG/JPG Один из наиболее широко используемых форматов изображений. Обладает превосходными характеристиками сжатия и имеет удобную функцию, когда пользователь может указать желаемый уровень сжатия, жертвуя точностью в зависимости от размера файла. Мы не рекомендуем использовать файлы JPEG для растрированной векторной графики, поскольку артефакты сжатия существенно ухудшают качество изображения по краям. Форматы без потерь Они хранят точное попиксельное представление изображения, но требуют больше места. Больше подходят для таких вещей, как логотипы. PNG Лучший из форматов изображений без потерь называется PNG (Portable Network Graphics). Этот формат широко поддерживается веб-браузерами и программами просмотра/редактирования изображений. Vector Magic рекомендует использовать формат PNG для сохранения логотипов в виде растровых изображений. BMP На самом деле существует несколько форматов BMP (BitMaP). Windows и Macintosh имеют свои собственные форматы, оба из которых называются BMP. Большинство современных инструментов редактирования изображений могут читать и то, и другое. В любом случае, по возможности следует избегать всех вариантов BMP, поскольку они практически не используют сжатие и, следовательно, имеют излишне большие размеры файлов.
Форматы файлов векторных изображений
EPS Формат Adobe EPS (инкапсулированный PostScript) является, пожалуй, самым распространенным форматом векторных изображений. Это стандартный формат обмена в полиграфической отрасли. Он широко поддерживается как формат экспорта, но из-за сложности спецификации полного формата не все программы, которые заявляют о поддержке EPS, могут импортировать все его варианты. Adobe Illustrator и последние версии CorelDRAW очень хорошо поддерживают чтение и запись в формате EPS. Ghostview может его очень хорошо читать, но не имеет возможности редактировать. Inkscape может только экспортировать его. SVG Стандартный формат векторных изображений W3C называется SVG (масштабируемая векторная графика). Inkscape и последние версии Adobe Illustrator и CorelDRAW хорошо поддерживают чтение и запись SVG. Дополнительную информацию о формате SVG можно найти на официальном веб-сайте SVG. PDF Формат Adobe PDF (машинонезависимый формат файлов) очень широко используется в качестве независимого от платформы формата документа общего назначения. Это очень хороший формат для векторных изображений, хотя он используется и в других целях. Adobe бесплатно предоставляет Acrobat PDF reader, но продает инструменты, необходимые для создания файлов PDF (продаются также инструменты других фирм, которые выполняют ту же задачу). Эти инструменты работают с любой программой, способной печатать. Поддержка чтения и редактирования файлов PDF гораздо более ограничена. AI Собственный формат Adobe Illustrator — это формат AI (Adobe Illustrator Artwork), модифицированная версия старого формата EPS. Формат AI довольно широко поддерживается, но он менее распространен, чем формат EPS, и большинство программ, которые читают AI, также могут читать EPS. DXF Формат обмена чертежами. Формат САПР от Autodesk, используемый инструментами САПР от многих различных поставщиков. Некоторые программы испытывают трудности с чтением файлов DXF со сплайнами (кривыми), поэтому Desktop Edition поддерживает режимы вывода «линия + сплайн», а также режим вывода «только линия». Существует множество других векторных форматов, например, CDR — это собственный формат CorelDRAW, а XAR — это собственный формат Xara Xtreme.
Как экспортировать нарисованный объект из CorelDRAW в Adobe After Effects?

Данная инструкция расскажет, как полноценно, без потери качества и глюков, изображение нарисованное в CorelDRAW, отправить в Adobe After Effects,чтобы в дальнейшем его анимировать. Т.к попытки напрямую из CorelDRAW, экспортировать в Adobe After Effects, минуя Adobe illustrator, проваливаются.
1. Откройте в CorelDraw файл содержимого которого, вы хотите перенести в Adobe After Effects.
2. Выделите нужный объект(или его часть), и копируйте его в буфер обмена, нажав в верхнем меню — ПРАВКА — КОПИРОВАТЬ или нажав сочетание клавиш Ctrl+C .
Если в вашей композиции CorelDraw, есть текст, то сначала надо его Преобразовать в кривую. Для этого нажмите правой кнопкой мыши по тексту, и найдите там этот пункт.
3. Откройте Adobe illustrator, и выполните команду Правка-Вставить, или нажмите сочетание клавиш Ctrl+V,чтобы вставился ваш объект из CorelDraw.
4. Сохраните файл в формате Ai. Нажав в меню — Файл -Сохранить как, и выбрав формат Ai.
5. Переносим из Проводника в окно Adobe After Effects , ваш Ai файл.
Кликаете правой кнопкой мыши( в панели Композиция1,под заголовком Имя источника) по вашему файлу ,и в всплывшем меню выбираете Создать-Создать фигуры из векторного слоя.
Появится новый элемент с тем же названием файла, но в его названии добавится слово -Кривые.
Элемент в панели Композиция 1, с расширением ai,можете удалить, чтобы он вас не путал, т.к он больше тут не нужен.






310 постов 1.3K подписчика
Подписаться Добавить пост
Правила сообщества
Очень желательно оставлять ссылку на векторный исходник вашей работы.
1 год назад
попытки напрямую из CorelDRAW, экспортировать в Adobe After Effects, минуя Adobe illustrator, проваливаются
А сохранить из корела как *.ai пробовал?
раскрыть ветку
Похожие посты
28 дней назад
Основные моменты с конференции Adobe MAX 2023 про Adobe
Adobe во время Adobe MAX 2023 представили мощные обновления
Firefly
Начнем с ИИ-продуктов для дизайнеров — Firefly для Illustrator создает векторные изображения по тексту с нуля, и с его помощью можно генерить рекламные макеты, логотипы и принты:
Firefly Vector
Firefly Vector — “первая генеративная модель для создания векторной графики»:

Firefly Design
Firefly Design нарисует макеты для рекламы по промпту:

Firefly Image Model 2
Firefly Image Model 2 — улучшенный генератор изображений, отлично генерит людей и понимает ваши картинки в качестве референсов:

Firefly Image Model 2
Попробовать Firefly можно здесь
Что еще крутого выкатили Adobe
Adobe Project Fast Fill
Adobe Project Fast Fill — Generation Fill для видео, В Adobe Premiere добавили возможность убирать и дорисовывать предметы и менять фон по текстовому промпту:
Adobe утверждает, что это работает даже в сложных сценах с меняющимся освещением. Парню из видео легко сменили галстук и перекрасили рубашку:
Project Draw & Delight
Project Draw & Delight — можно нарисовать эскиз и добавить текстовую подсказку, а ИИ Adobe с помощью Firefly для Illustrator (с которого я начала) преобразует эскиз в векторный рисунок:
Project Poseable
Project Poseable — инструмент, с помощью которого пользователи смогут использовать модели генерации изображений для быстрого рендеринга 3D-сцен с персонажами:
Project Primrose
Project Primrose — умный материал для одежды, который меняет свой цвет и рисунок по нажатию кнопки. Пока что Project Primrose не продается, но компания уже запатентовала материал, так что в скором времени нас ждет новый модный материал:
Project Stardust
Project Stardust — позволяет выделять объекты в новый слой. Объекты можно менять на что угодно с помощью встроенной нейросети:
Хотите узнавать первыми о полезных сервисах с искусственным интеллектом для работы, учебы и упрощения жизни? Подпишитесь на мой тг НейроProfit, там я рассказываю, как использовать нейросети для бизнеса
Показать полностью 3 7
Поддержать
1 месяц назад

Стань героем мемов! Делаем гифки со своим лицом с помощью нейросетей
Друзья, всем привет, сегодня я научу вас как создавать шикарные мемные гифки с вашим лицом с помощью дипфейк нейросети FaceFusion.
Все мы любим гифки, они веселые, эмоциональные, у каждого из нас в телеграме сохранена добрая пачка таких анимаций из любимых фильмов и сериалов.
Но что, если вы сами будете главным героем этих сцен? Я попробовал и мне очень понравилось, уверен, что к концу этой статьи вы тоже захотите пак собственных уникальных гифок. Приступим к магии.
Нам понадобится приложение FaceFusion, вы можете скачать его из официального гита разработчика , но установка мягко говоря геморойная. Есть версия для Google Collab.
Я использую локально портативную версию FaceFusion от моего товарища с канала Neurogen, так же советую поступить и вам, архив достаточно распаковать в любую удобную папку, больше ничего не требуется. Важно: в путях и названиях файлов не должно быть кириллицы!
После распаковки, кликаем start_portable_nvidia.bat
Откроется окно терминала, дождитесь пока в нем появится строка Running on local URL: http://127.0.0.1:7860, выделите адрес, скопируйте нажав ctrl + c, вставьте в адресную строку вашего браузера. Готово
А почему нельзя было сделать, чтобы адрес открывался сам? Ответ вы знаете.

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

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

Если у вас видеокарта NVidia, то поздравляю, все пройдет легко и безболезненно. Мои настройки для видеокарты RTX 4090 на скрине выше, если у вас карта по слабее, просто понизьте все настройки в два раза и повышайте понемногу, пока не начнут появляется ошибки Out of memory. Выявить максимальные настройки для лучшего быстродействия можно только экспериментальным путем.
Если у вас слабая видеокарта, можно попробовать режим CPU, но это будет значительно медленное чем на хорошем видеоадаптере.
Дальше идут настройки сохранения временных кадров и видео.

Тут все просто, ползунки ставим на 100, остальное можно не трогать. Галки внизу отвечают за поддержание того же фпс, как в оригинале, следующая за сохранение скорости видео, и последняя позволяет пропустить аудио и не добавлять его в итоговый файл. Идем дальше.
В центре страницы три больших окошка, в первое — Source мы загружаем наше лицо, ну или то лицо, на которое будем менять.
Второе — Target, это видеофайл с которым мы работаем.
Третий — Output появится по завершению работы программы.
В OUTPUT PATH указываем адрес папки сохранения итоговых видео.
Теперь самое интересное, настройка замены лиц, ведь менять можно как все лица в видео на одно и тоже, так и только определенные. Для примера я выбрал отрезок из известного художественного фильма.

В Preview мы уже видим предпросмотр того, что получится, навигация по кадрам осуществляется с помощью ползунка PREVIEW FRAME.
С помощью ползунков TRIM FRAME START и END можно обрезать начала или конец видео. Но это еще не все, дальше будет блок с анализом и заменой лиц.

У нас есть два режима замены лиц, режим many — заменит все лица в кадре, но вы можете указать пол и возраст лиц, которые будут проанализированы с помощью FACE ANALYSER AGE и FACE ANALYSER GENDER, например так можно менять только лица взрослых мужчин. Но работает это не идеально, бывают сбои.
В режиме reference мы мы двигаем ползунок PREVIEW FRAME и кликаем на те лица, которые нужно заменять в REFERENCE FACE. Если в процессе видео лицо которое мы заменяем перемещается в кадре слишком сильно или пропадает — отслеживание может сбиваться, поэтому прокрутите ползунком все кадры и проверьте везде ли лицо определяется правильно.
Единственное что я так и не понял, это как снять выделение у уже выбранного лица, можно только переключить на другое. Поэтому если в кадре несколько лиц и одно потом исчезает из кадра, то самое которое мы заменяли. То, чтобы алгоритм не перепрыгнул на соседние лицо автоматически можно отрегулировать REFERENCE FACE DISTANCE, это расстояние до лица, лица которые ближе или дальше будут игнорироваться. Это легко подобрать опытным путем ориентируясь на превью.
Вроде разобрались. Ура, у нас все готово к работе, но где взять сами гифки?
Мне понравились сайты giphy.com и gifer.com , тут без особых сложностей можно найти любую гифку и зачастую они идеально закольцованы.
Найдите гифку которая нравится, кликайте на неё правой кнопкой мыши и выбирайте сохранить видео, так анимация сохранится в формате mp4, и работать с ней будет немного удобнее чем с gif.

Ну а как действовать дальше вы уже знаете, запускаете и уже буквально через минуту получаете гифку с вашим лицом.
Что будет работать плохо или не будет работать вообще?
- Если лицо в кадре не полностью, или слишком близко, обрезан лоб или подбородок, такие лица чаще всего плохо определяются или не определяются совсем.
- Лица на которых есть очки будут заменяться плохо, особенно если на вашем фото очков нет. Кадры где что-то закрывает лицо, например рука или какие-то объекты, тоже будут давать артефакты.
- Быстрые смены ракурса, плохое освещение, дым, вспышки, могут приводить к артефактам.
- Лицо с бородой заменять на лицо без бороды, тоже плохая идея, касается и лысых.
- Естественно лицо белого гетеросексуального мужчины средних лет плохо ляжет на персонажа другой расы, телосложения, гендера и, возможно, ориентации.
Где еще взять классные гифки для экспериментов? Конечно в телеграм, и они сразу в удобном формате mp4, сохраняйте и экспериментируйте.
К сожалению любимые всеми анимированные гаччи стикеры не подойдут, их придется пере конвертировать из формата webm в mp4. Я для этого использую бесплатный онлайн конвертор загрузите в него скаченный из телеги анимированный стикер и на выходе получите мп4, с которым уже можно работать.
Сконвертировать mp4 в гифки, если они вам по какой-то причине нужны, можно там же на сайте в секции MP4 в GIF. Большинство мессенджеров и социальных сетей сами переводят короткие мп4 без звука в гиф, и проигрывают автоматически.
Друзья, а на этом у меня все, теперь вы знаете как создать классные мемные гифки со своим лицом с помощью DeepFake нейросети FaceFusion и станете грозой всех чатов и комментариев.
Но помните, что только на вас лежит ответственность за использованием таких технологий, не применяйте их во вред, соблюдайте нормы этики и морали и просто будьте людьми.
Скидывайте то что у вас получится в наш чатик и в комментарии, а если что-то осталось непонятно, то приходите на стрим, разберемся, ближайший пройдет уже в пятницу, 13 октября на Бусти в 20:00, вход как и всегда свободный.
А в следующий раз расскажу как можно создавать вот такую уникальную анимацию самому, а не использовать готовые гифки, а потом наложить сверху свое лицо.
Еще я рассказываю про нейросети у себя на YouTube, в телеграм, на Бусти, подписывайтесь, будет интересно.
Показать полностью 7 11
Поддержать
1 месяц назад

Реддитор показал эволюцию до ИИ с помощью видеоряда
1 месяц назад

Такая разная Макима — AI Анимация
1 месяц назад

Сам написал, сам погонял: Как я написал 3D-гонки «на жигулях» за неделю, полностью с нуля?

Статьи про инди-разработку игр — это всегда интересно и занимательно. Но статьи про разработку игр с нуля, без каких-либо игровых движков — ещё интереснее! У меня есть небольшой фетиш, заключающийся в разработке минимально играбельных 3D-демок, которые нормально работали бы даже на железе 20-летней давности. Полтора года назад, в мае 2022 года, я написал демку гоночной игры с очень знакомым всем нам сеттингом — жигули, девятки, десятки, и всё это даже с тюнингом! В этой статье я расскажу вам о разработке 3D-игр практически с нуля: рендерер, менеджер ресурсов, загрузка уровней и граф сцены, 3D-звук, ввод и интеграция физического движка. Интересна подробнейшая статья формата «старого Пикабу» о разработке игры с нуля? Тогда добро пожаловать!
❯ Предыстория
На момент написания статьи, я всё ещё остаюсь достаточно юным — буквально 5 дней назад мне исполнилось 22 года. Но если откатиться на 4 года назад и вспомнить момент наступления моего совершеннолетия, то на ум приходят сразу два значимых события: отец приходит в один день и говорит «открывай юлито, будем смотреть авто за 40 тыщ рублей». Понятное дело, что за эту сумму (~700$ по тому курсу) особо не разгуляешься, поэтому мой выбор пал на карбюраторную «семерочку», свою ровесницу (2001 год) синего цвета. Приехали с батькой смотреть на машину, обкатали и приняли решение — надо брать!

С тех пор я ездил на своем «тазе» и горя не знал — машинка не ломалась, ни разу не подводила, вложений в себя не требовала, а я начал все больше увлекаться автомобилями и изучать тематический материал. Со временем я полюбил и другие российские модели автомобилей, но особенно мне нравился АвтоВАЗ. В один момент, вспомнив про популярный и провальный некогдаLada Racing Club, мне захотелось написать «гоночки на жигулях» самому, причём полностью с нуля. А поскольку нормального арта для города у меня не было, игру я решил назвать просто и понятно: «Ралли-кубок ТАЗов» 🙂

Поём всем Хабром!
Но с чего начинать писать такой объемный проект самому? Тут нам, конечно же, нужен план. У меня уже был готовый самопальный 3D-фреймворк для игрушек, который я использовал в одной из прошлых демок: арена-шутер от первого лица с модельками из модов для Quake. Фреймворк был вполне рабочим, но требовал некоторой доработки для использования в «кубке тазов».

На момент начала разработки гоночки у меня уже были готовы следующие фишки:
- Рендерер: Direct3D9, причём полностью FFP — для того, чтобы игра запускалась даже на встройках Intel, где нормальной поддержки шейдеров до HD-серии вообще не было. Практически все текстурные техники работали через комбайнеры — дальний предок пиксельных шейдеров, где программист оперировал целыми стадиями пиксельного конвейера, а не писал программу напрямую, что накладывало множество ограничений. Поддерживались: многослойные материалы, однопроходной сплат-маппинг для плавного текстурирования ландшафтов, отражения в кубмапах, плавный морфинг (вершинная анимация) с линейной интерполяцией между кадрами, MSAA (это заслуга GAPI), отсечение невидимой геометрии по пирамиде видимости и примитивный альфа-блендинг с ручной сортировкой.
- Звук: 3D-звук на DirectSound с позиционированием относительно источника звука, ускорением и т. п. Тут моей заслуги особо нет, кроме загрузчика wav-файлов я ничего не писал.
- Ввод: WinAPI + DirectInput. Клавиатура опрашивалась с помощью классического GetAsyncKeyState, в то время как геймпады с помощью DirectInput. Была и абстракция осей ввода — дабы не адаптировать управление под кучу разных контроллеров.
- Менеджер ресурсов: достаточно примитивен. К менеджеру ресурсов я отнесу и загрузчики — фреймворк поддерживал модели в форматах SMD (не анимированные меши, формат Half-life) и MD2 (анимированные меши, формат Quake 2, строго один материал на один меш), звуки — wav и простенький самопальный формат конфигов. Стандартный набор: трекинг ресурсов на слабых ссылках, пул ассетов для исключения дублирующейся загрузки и т. п.
Фреймворк выдавал не слишком крутую графику:

Зато был очень простым «под капотом», имел довольно неплохую расширяемую архитектуру и в целом, на нем можно было запилить что-то прикольное. Где-то за неделю я запилил вот такую демку шутера от первого лица:
Игрушка даже на VIA UniChrome работала — последователе всем известного S3 Savage/S3 Virge!
Минимальное приложение выглядело примерно так:

Приведённый выше код нарисует модельку с текстурой перед лицом игрока. Всё просто и понятно. Однако, как это всё работает «под капотом»? Давайте попробуем разобраться:
❯ Основа и рендерер
В своих играх я стараюсь придерживаться одной архитектуры: есть условный класс Engine, который управляет созданием платформозависимых окон, организацией главного цикла игры и инициализацией подсистем. Поскольку в одном процессе обычно запущен только один экземпляр игры (исключение — выделенные авторитарные серверы с комнатами, на манер Left 4 Dead), сам по себе Engine является синглтоном и содержит в себе ссылки на все необходимые подмодули.
Как я уже говорил выше, сам по себе рендерер построен на базе графического API Direct3D9. Выбор DX9 обусловлен его распространенностью на железе прошлых лет, хорошей совместимостью (DX9 легко запускается на железе времен DX8 и даже DX7) и иногда лучшей производительностью на видеочипах от ATI. По сути, всё начинается с создания контекста или устройства в терминологии DirectX: в параметрах создания контекста указывается ширина и высота вторичного буфера, желаемый уровень сглаживания MSAA, видеорежим и частота желаемая частота обновления экрана.
При создании контекста есть свои нюансы, которые необходимо учитывать — например, большинство встроенных видеокарт не поддерживают аппаратную обработку вершин (D3DCREATE_HARDWARE_VERTEXPROCESSING), из-за чего создание контекста будет заканчиваться ошибкой без соответствующего флага, разные видеокарты поддерживают разные форматы буфера глубины и трафарета (сейчас видеокарты нативно даже 24х-битный RGB для рендертаргетов не умеют использовать, только выравненный XRGB), а видеокарты до GF5xxx-GF6xxx не поддерживали Pure режим D3D, который предполагает, что программист возлагает всю обработку ошибок на себя, при этом количество проверок в самом GAPI уменьшается, благодаря чему мы получаем небольшой выигрыш в производительности.
Важно так же отметить такой аспект, как управление ресурсами. К ресурсам видеокарты в терминологии старых GAPI относятся текстуры и буферы (как вершинные, так и индексные). В OpenGL особо нет такого понятия, как Device Lost. Если пользователь сворачивает ваше приложение из полноэкранного режима, или, например, видеодрайвер крашится — то GL сам должен позаботится о перезагрузке ресурсов обратно в видеопамять (исключение — Android и iOS, на мобилках контекст не уничтожится, но ресурсы будут выгружены и их хендлы станут некорректными). У D3D есть событие Lost, которое вызывается при потенциальной потере контекста — и его тоже нужно грамотно обрабатывать. Поэтому в D3D есть несколько пулов:
- Managed: D3D9 сам сохраняет копию текстуры или геометрии в ОЗУ, а затем при потере контекста пересоздаёт аппаратные буферы и перезагружает нужные данные сам.
- Default: данные загружаются напрямую в видеопамять (в терминологии D3D — AGP memory), или, если видеопамяти не хватает — в ОЗУ, если видеокарта, конечно, поддерживает Shared Memory Architecture.
- System: загрузка ресурсов только в ОЗУ. Этот пул обычно не используется в играх — слишком медленно.
И грузить данные желательно в пул Default. Иначе при относительно большом количестве ресурсов, игра начнет «жрать» ОЗУ не в себя (пример — Civilization 5). При потере контекста, ресурсы нужно перезагружать с диска «на горячую»!
Переходим к самому важному — отрисовке геометрии. Для задания внешнего вида объектов на экране, используются так называемые материалы, которые содержат в себе данные о том, какая текстура должна быть наложена на объект, насколько объект отражает свет, какая техника должна использоваться и т. п. В современных движках система материалов обычно гибкая, поскольку шейдеры могут принимать самые разные параметры. В нашем случае шейдеров нет вообще, набор параметров фиксирован и зависит от видеокарты: стандартные техники типа повершинного затенения по Фонгу/Гуро, цвет объекта, туман и т. п.
Формат материалов в фреймворке выглядит вот так:

Однако даже без шейдеров была возможность сделать относительно гибкую систему материалов — с помощью комбайнеров, как это делала Quake 3. Самые первые 3D-ускорители не поддерживали смешивание нескольких текстур за один вызов отрисовки, поэтому некоторые игры шли на ухищрение: к примеру Quake вручную сортировал геометрию по отдаленности без использования буфера глубины, он просто… накладывал альфа-блендингом ту же самую геометрию с затененной текстурой освещения (лайтмапа). Это называется многопроходной рендеринг. Комбайнеры, которые появились ближе к концу 90-х, позволяли смешивать несколько текстур с помощью различных операций (Add, Sub, Mul, Xor и т. п.), а также умножать финальный цвет на определенный коэффициент. Именно комбайнеры я использовал в своём фреймворке для реализации некоторых относительно сложных эффектов — например, плавное смешивание текстур на ландшафте:
Основная проблема комбайнеров — каша из стейтов, поэтому код выглядит не особо презентабельно. Входная текстура-маска выглядит вот так:

Переходим к отрисовке. По сути, за рисование полигональной геометрии отвечает один метод — DrawMesh, с несколькими перегрузками (в идеале — основной должен принимать матрицу трансформации, а остальные принимать обычные World-space координаты, из которых будет построена матрица трансформации). В оригинале метод рисует геометрию с помощью DIPUP, поскольку практически вся геометрия в игре была анимирована (и анимация, само собой, обрабатывалась для каждой вершины софтварно, на ЦПУ, поэтому я не видел разницы между перезаливкой геометрии на GPU каждый кадр и DIPUP), однако в одном из бранчей фреймворка я переписал отрисовку статику на обычный DIP. Обратите внимание, что DIPUP для комплексной геометрии на старых GPU будет слишком медленным — когда-то этим страдал графический движок Irrlicht.
В более позднем бранче добавилось отсечение по дистанции от «глаз» игрока и по пирамиде видимости.
Переходим к анимации. Есть три основных метода анимации геометрии в играх:
- Скиннинг: анимация вершин относительно скелета модели. Очень хорошо подходит для различных персонажей. Весь скелет является иерархией, где каждый элемент трансформируется относительно позиции родителя, что позволяет легко интегрировать «скелетку» в граф-сцены самого движка (Unity — самый яркий пример). Иногда скелетку используют и для «неоживленных» предметов — например, анимация подвески авто.
- Морфинг: классический способ анимации суть которого заключается в «запекании» всех кадров в виде множества мешей. Затем игра интерполирует вершины между кадрами анимации, благодаря чему достигается эффект плавности.
- Object-Transform: классический метод иерархической анимации, очень похож на скиннинг, только трансформируются не сами вершины, а привязанные к ним объекты. Применялась, например, во многих играх на PS1 и в GTA III (замечали отсутствие плавности в местах сочленений персонажей — это и есть OT).
Я не умею нормально работать с скиннингом моделей в 3D-редакторах и обычно не юзаю скиннинг в своих игрушках — для небольших демок хватает обычного морфинга с интерполяцией. Если интерполяцию не использовать, то анимация будет выглядеть топорно (в Quake 1 при отключении CVar’а такая и была):
Растровые и векторные изображения
Для начала, нужно знать, что существует два типа 2D графики — растровая и векторная. Очень важно понимать разницу между этими типами изображений.
От вида графики зависит выбор возможной технологии печати.
Давайте начнем с более распространенного типа графики – с растровых изображений.
Понятие растрового изображения
Растровые изображения это изображения, которые состоят из очень маленьких прямоугольников — пикселей разного цвета.
У каждого пикселя есть свое место на рисунке и свой собственный цвет.

Каждое изображение имеет фиксированное количество пикселов. Их вы можете видеть на экране монитора, большинство из которых отображают примерно от 70 до 100 пикселей на 1 дюйм (2,54 см) фактическое количество зависит от вашего монитора и настройки самого экрана.
Размер изображения и его разрешение
Растровые изображения зависят от разрешения. Разрешение изображения это число пикселей в изображении на единицу длины. Оно является мерой четкости деталей растрового изображения и обычно обозначается как dpi (точек на дюйм) или ppi (пикселей на дюйм). Эти термины в некотором смысле синонимы, только ppi относится к изображениям, а dpi — к устройствам вывода. Именно поэтому dpi вы можете встретить в описании мониторов, цифровых фотоаппаратов и т. д.
Чем больше разрешение, тем меньше размер пикселя и тем больше их приходится на 1 дюйм, и соответственно, тем лучше качество картинки.
Разрешение каждого изображения подбирается в зависимости от того, где вы планируете его использовать:
- Для размещения в интернете достаточно 72 ppi, поскольку они быстрее загружаются. НО при растягивании картинки с вконтакте размером 5х5см на футболку во всю грудь мы получим все прелести сжатия изображения. Детали пропадут и появятся артефакты.
Так выглядит фото с интернета после нескольких пересохранений:

- Так, для того чтобы напечатать изображение в хорошем качестве, разрешение должно быть не ниже 300 ppi. Это основное требование для цифровой печати. Предоставлять изображение свыше 600 ppi как правило нет смысла, так как разницы при печати не будет видно.
Так выглядит картинка пригодная для полноцветной печати:

Как говорилось выше, растровые изображения очень зависят от их разрешения. Именно поэтому при масштабировании, в силу своей пиксельной природы, такие изображения всегда теряют в качестве.
Форматы растровых изображений
К самым распространенным форматам растровых изображений относятся:
Файлы форматов PNG, TIFF, PSD поддерживают прозрачность фона. При этом не стоит забывать , что прозрачный фон не будет таковым, если изображение пересохранить в формат не поддерживающий прозрачность, например PNG в JPEG.
Самые популярные программы для работы с растровой графикой это Adobe Photoshop, Gimp, Corel Photo-Paint, Corel Paint Shop Pro.
Что такое векторные изображения
Векторные это изображения, состоящие из множества отдельных, масштабируемых объектов (линий и кривых), которые определены с помощью математических уравнений.
Изображение цветка в векторном формате. Увеличить его можно до любого размера
Объекты могут состоять из линий, кривых и фигур. При этом изменение атрибутов векторного объекта не влияет на сам объект, т.е. Вы можете свободно менять любое количество атрибутов объекта, не разрушая при этом основной объект.
В векторной графике качество изображения не зависит от разрешения так как векторные объекты описываются математическими уравнениями. Поэтому при масштабировании они пересчитываются и не теряют в качестве. Исходя из этого, вы можете увеличивать или уменьшать размер до любой степени, и ваше изображение останется таким же четким и резким. Это будет видно как на экране монитора, так и при печати. Таким образом, вектор – это лучший выбор для иллюстраций, выводимых на различные носители и размер которых приходится часто изменять, например логотипы.
На сегодняшний день векторные изображения становятся все более фотореалистичными, это происходит за счет постоянной разработки и внедрения в программы различных инструментов, например, таких как градиентная сетка.
Векторные изображения, как правило, создаются с помощью специальных программ. Вы не можете отсканировать изображение и сохранить его в виде векторного файла без использования преобразования (трассировки) в программах вроде Adobe Illustrator или Corel Draw.
С другой стороны, векторное изображение может быть довольно легко преобразовано в растровое. Этот процесс называется растрированием. Также, при преобразовании Вы можете указать любое разрешение будущего растрового изображения.
Очень важно, перед растрированием, сохранить оригинал изображения в векторном формате, поскольку после преобразования его в растр оно потеряет все замечательные свойства, которыми обладает вектор.
Векторные форматы
К самым распространенным форматам вектора относятся:
- AI (Adobe Illustrator);
- CDR (CorelDRAW);
- CMX (Corel валютный);
- SVG (масштабируемая векторная графика);
- PDF (Portable Document Format).
Самые популярные программы для работы с векторами: Adobe Illustrator, CorelDRAW и Inkscape.
Так чем же отличаются векторные и растровые изображения?
Подводя итоги статьи о растровых и векторных изображениях, можно с уверенностью сказать, что векторные изображение имеет смысл использовать везде, где только возможно, если только не требуется фотореалистичность.
Подробное сравнение растровых и векторных изображений:
РАСТР
- Высокая реалистичность изображения.
- Все фотографии растровые.
- Для создания не обязательно использовать профессиональные программы.
- Для хорошего качества печати нужно высокое разрешение.
- Некоторые растровые картинки возможно векторизовать с потерей качества.
- Возможности редактирования ограничены по сравнению с вектором.
- Чтобы убрать фон с картинки нужно редактирование в графических программах.
- Файлы весят много.
ВЕКТОР
- Тяжело добиться фотореалистичности.
- Стандарт для логотипов.
- Для создания изображение нужны специальные дизайнерские программы.
- Наилучшее качество при печати.
- Векторные картинки можно растрировать без потери качества.
- Легко редактировать, в сравнении с растровыми файлами.
- Для прозрачности достаточно экспортировать в формате поддерживающем прозрачность (PNG, TIFF, PSD).
- Малый вес файлов.
CorelDraw, DXF картинка а не вектор
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.
Сейчас на странице 0 пользователей
Нет пользователей, просматривающих эту страницу.
Похожие публикации
Здравствуйте!
Занимался резкой только на плоттере, режущем пленку. Файлы на резку тогда отправлялись прямо из Corel.
Сейчас встала задача грамотно перевести некоторые файлы в формат DXF, чтобы использовать для резки или гравировки на станках.
У меня установлен AutoCAD, но я в нем «0».
Порылся в интернете, и нашел некоторую инфу.
Я понял, что лучше для этих целей, если до экспорта в Кореле все будет разгруппировано, чтобы контуры были в виде hairline, а после экспорта чтобы кривые в файле DXF были в виде сплайнов (в polylines Corel экспортирует некорректно). Если при экспорте из Corel выбирать формат DXF 2007-2018, то все выходит вроде бы корректно и в виде сплайнов.
Вот пример, что у меня получилось:
Исходник Corel
DXF на выходе
DXF нормальный? Если бы вам такой прислали на резку или гравировку, то вы бы докопались до чего-то? Контуры, узлы, слои, заливка?
Есть еще вопросы:
В исходном файле Corel все зеленые элементы (все листочки и внутренний круг) у меня скомбинированы в одно целое. Т.е. если я захочу переместить или удалить их все разом, то достаточно кликнуть на любом зеленом, и все вместе выделится (все листочки и круг):
А когда открываю DXF в Autocad, то каждый листочек выделяется по отдельности. Такое ощущение, что все они — отдельные элементы:
и чтобы выделить все зеленые элементы, нам теперь придется выделять каждый листочек по-отдельности?
Это же будет неудобно если, например, человек хочет по синему внешнему контуру вырезать в листовом материале, а по зеленому контуру выполнить гравировку
Или это нормально для такого типа файлов?
Кстати, куда делась заливка? Заливку надо вообще в Corel оставлять, если я планирую например по внешнему контуру вырезать в фанере, а то, что залито зеленым — загравировать сплошной гравировкой?
В Corel у меня все было на одном слое. Может быть, для экспорта для станков нужно разбивать по слоям перед экспортом в DXF, или еще что-то?
