WebGL Ripper

Скачайте 3D-модель с любого сайта

WebGL Ripper — бесплатное расширение для браузера. Оно перехватывает 3D-модели и текстуры, которые рисует WebGL-страница, и сохраняет их в GLB (glTF 2.0), OBJ, STL или USDZ — сразу для Blender, Unity, Unreal, Godot, 3D-принтера или AR на iPhone.

Версия 1.3.1 · лицензия MIT · Chrome, Edge, Brave, Opera 121+ · Firefox 128+

Превью WebGL Ripper: захваченная сцена three.js в 3D, список мешей и кнопки форматов GLB / OBJ

Что умеет

GLB, OBJ, STL, USDZ

.glb с текстурами и PBR-материалами, OBJ + MTL + PNG, STL для 3D-печати, USDZ для AR на iPhone. По желанию — лёгкий GLB.

Сразу в Blender

Бесплатный аддон импортирует каждый новый рип сразу после скачивания — с наведённым видом и камерой страницы.

Персонажи в своей позе

Анимированные персонажи сохраняются такими, как на экране, а не в T-позе (WebGL 2).

Превью и видео

Покрутите сцену прямо на странице, выберите меши, запишите видео облёта на 360° клавишей V.

Выбор кликом

Shift+Insert, клик по объекту — и сохранится только он, даже сквозь пост-обработку.

Готово к импорту

Меши на своих местах, модель стоит на «полу», вершины сварены, есть нормали, цвета материалов и камера страницы.

Чистый результат

Проходы теней и глубины, оси-гизмо и квадраты пост-обработки отбрасываются.

Точные текстуры

Настоящий размер, байт в байт, включая сжатые, float и прозрачные текстуры.

Работает с вашим движком

three.js, Babylon.js, PlayCanvas, Unity WebGL, Godot, Emscripten, обычный WebGL 1 и 2.

Что нашлось и история

Окно расширения показывает, что есть на странице и что сохранено; история хранит каждый рип с миниатюрами.

Русский интерфейс

Весь интерфейс на русском или английском — по языку браузера или на выбор.

Приватно и легко

Никаких сетевых запросов. Никакой нагрузки на отрисовку, пока вы не нажали клавишу.

Сохранить один объект

Режим выбора: подсказка просит кликнуть объект
Нажмите Shift+Insert и кликните объект.
Превью, в котором выбран только кликнутый тор-узел
Выбран только кликнутый меш, остальные остаются полупрозрачными.

Быстрее и точнее оригинала

Замеры против WebGL Ripper 0.6 от Rilshrink, обе версии в одном Chrome. Методика и все цифры.

Тестовая страницаОригинал 0.6WebGL Ripper 1.1.2
Сцена three.js с тенями и пост-обработкойвсе меши в начале координат, без нормалей, чужая текстура в 16 раз большена местах, нормали, цвета, правильная текстура — 0,17 с
3000 вызовов отрисовкиза 3 мин файла нет, +1,3 ГБ памяти0,28 с, +42 МБ
250 тыс. вершин, две 4K-текстуры3,9 с, страница зависла на 1,5 с, ZIP 60 МБ1,6 с (GLB), зависание меньше 0,2 с, ZIP 5,6 МБ
Память в стиле Unity / Emscriptenмусорточно
WebGL создан во время загрузки страницыпропущенперехвачен
Время кадра, 3000 вызовов, без захвата≈ в 2 раза медленнеебез заметной разницы

Установка и использование

  1. Скачайте webglripper-…-chrome.zip или …-firefox.zip из последнего релиза.
  2. Chrome / Edge / Brave / Opera: распакуйте, откройте chrome://extensions, включите режим разработчика, нажмите Загрузить распакованное расширение и выберите папку. Firefox: about:debugging#/runtime/this-firefox → Загрузить временное дополнение… → zip-файл.
  3. Откройте страницу с 3D-моделью и нажмите Insert. Выберите меши в превью и нажмите Скачать.
  4. Импортируйте файл в Blender: File → Import → glTF 2.0 или Wavefront (.obj) — или установите аддон для Blender, и каждый рип будет открываться сам.

WebGL Ripper не опубликован в Chrome Web Store и других магазинах; копии оттуда — не из этого проекта.

Вопросы

Как скачать 3D-модель с сайта?

Установите WebGL Ripper, откройте страницу, дождитесь появления модели и нажмите Insert. На странице откроется 3D-превью: выберите меши и нажмите «Скачать» — получите GLB, OBJ, STL или USDZ.

На каких сайтах работает?

На любых страницах с WebGL: просмотрщики на three.js, Babylon.js и PlayCanvas, игры на Unity WebGL и Godot, конфигураторы товаров, 3D-галереи. Не на страницах, где картинка приходит видеопотоком с сервера или рисуется из Web Worker.

Анимированные персонажи сохраняются в своей позе?

На страницах с WebGL 2 — да: расширение ещё раз запускает вершинный шейдер страницы через transform feedback и читает, куда ушла каждая вершина. На страницах с WebGL 1 персонажи остаются в исходной позе. Кости и анимации не экспортируются.

Могут ли рипы сами открываться в Blender?

Да. Установите бесплатный аддон для Blender: он следит за папкой загрузок и импортирует каждый новый GLB, STL, USDZ или OBJ-zip в отдельную коллекцию.

Как это работает?

Расширение запускается внутри страницы раньше её скриптов, записывает вызовы отрисовки одного кадра — геометрию, текстуры и матрицы, — очищает их и записывает GLB или OBJ. Подробное описание.

Расширение отправляет мои данные?

Нет. Оно не делает ни одного сетевого запроса.

Можно ли так делать?

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