Tiny Online Tools logoTiny Online ToolssearchПоиск инструментов…grid_viewВсе инструменты
Главнаяchevron_right3D-инструментыchevron_rightГенератор кода для встраивания 3DГенератор кода для встраивания 3D

Генератор кода для встраивания 3D

Создайте готовый к вставке код для встраивания 3D-модели в четырёх вариантах — бесплатно и полностью в вашем браузере.

МодельПубличный URL вашего файла GLB или GLTF. Он должен отдаваться по HTTPS и с включённым CORS, иначе браузер откажется его загружать.Его читают программы чтения с экрана; он же используется как заголовок страницы в отдельном HTML-файле.Показывается, пока модель загружается. Хороший постер — самый заметный выигрыш в воспринимаемой скорости, который вообще доступен.КомпоновкаИспользуется фрагментом кода Three.js: элемент, в который он монтирует канвас.Прозрачный фонПрозрачный фон позволяет видеть страницу насквозь — ценой ещё одного слоя, который приходится смешивать при композитинге.ПоведениеУправление камеройАвтовращениеКнопка ARТениРендерингУмножает яркость сцены до тональной компрессии (tone mapping). 1.0 — нейтральное значение; повышайте его для тёмных моделей и понижайте, если света выбиваются.Пресеты — это возможность React Three Fiber (drei). У model-viewer есть одно встроенное окружение под названием neutral, а фрагмент кода на чистом Three.js использует RoomEnvironment — оба представляют нейтральную студию, поэтому пресет меняет только вывод R3F.В собственных единицах модели. Измерьте локальный файл ниже, и значение подставится само.Измерить локальный файл (необязательно)upload_file

Нажмите для выбора или перетащите файлы сюда

Выберите 3D-модель — GLB, GLTF, OBJ, STL, PLY, FBX, DAE или 3MF

Допустимо: .glb,.gltf,.obj,.stl,.ply,.fbx,.dae,.3mf

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

Похожие инструменты

Веб-оптимизатор 3D-моделей

Веб-оптимизатор 3D-моделей

Оптимизируйте 3D-модель для веба по реальному бюджету производительности — бесплатно и полностью в браузере.

Анализатор веб-производительности 3D

Анализатор веб-производительности 3D

Разберитесь, как 3D-модель поведёт себя в вебе, — бесплатно и полностью в браузере.

Генератор LOD для 3D-моделей

Генератор LOD для 3D-моделей

Соберите цепочку уровней детализации из любой 3D-модели онлайн и бесплатно.

Оптимизатор 3D-моделей

Оптимизатор 3D-моделей

Оптимизируйте модели GLB и GLTF для отрисовки в реальном времени прямо в браузере.

Кодировщик Base64

Кодировщик Base64

Кодирует текст в формат Base64.

Генератор случайных чисел с плавающей точкой

Генератор случайных чисел с плавающей точкой

Генерируйте списки случайных дробных чисел с настраиваемым диапазоном, точностью и распределением.

Минификатор CSS

Минификатор CSS

Сжимайте CSS, удаляя пробелы, комментарии и лишние правила.

apps

Больше инструментов

Просмотрите нашу полную коллекцию бесплатных онлайн-инструментов.

Четыре способа поставить модель на страницу — и все они полные

Встраивание 3D-модели относится к тем задачам, где пример кода всегда почти правильный. Фрагмент кода из документации забывает обработчик изменения размера. Статья в блоге пропускает controls.update(), и затухание молча перестаёт работать. Пример на React пропускает границу Suspense и падает на первом рендере. Этот генератор выдаёт всё целиком — и с теми настройками, которые вы действительно выбрали.

<model-viewer>

Веб-компонент от Google — самый короткий путь от пустоты до работающего просмотрщика: один тег <script type="module"> и один пользовательский элемент. Управление камерой, автовращение, AR и на Android, и на iOS, освещение на основе изображения и постер он берёт на себя сам. Если модель нужна на маркетинговой странице уже сегодня к вечеру — берите этот вариант.

В сгенерированный тег входит touch-action="pan-y" — его легко упустить, а именно он отделяет просмотрщик, который на телефоне ощущается родным, от того, который дерётся с прокруткой страницы.

Three.js

Для сцены, которой управляете вы. Фрагмент кода импортирует из three/addons/* — это настоящий subpath-экспорт пакета three, поэтому он работает с любым сборщиком, — настраивает рендерер с тональной компрессией (tone mapping) ACES и вашей экспозицией, строит нейтральное студийное окружение через PMREMGenerator и RoomEnvironment, добавляет OrbitControls с затуханием, загружает модель через GLTFLoader, обрабатывает изменение размера и работает на renderer.setAnimationLoop(), а не на голом requestAnimationFrame, чтобы тот же цикл продолжал работать, если страница позже войдёт в WebXR.

React Three Fiber

Версия для React: @react-three/fiber для канваса, @react-three/drei для useGLTF, OrbitControls, Environment и ContactShadows. Вызов useGLTF.preload() вынесен за пределы компонента, чтобы загрузка началась до того, как React отрисует дерево, а сама модель находится внутри границы Suspense с настоящим индикатором прогресса на основе useProgress.

Отдельная HTML-страница

Полноценный index.html — doctype, мета-тег viewport, стили, скрипт с CDN, просмотрщик. Сохраните, загрузите на любой статический хостинг — готово. Это не то же самое, что первый фрагмент кода: тот является вставкой в уже существующую страницу, а этот — целым файлом.

Расстояние до камеры

Угадывание расстояния до камеры — самая раздражающая часть встраивания модели, потому что оно зависит от реального масштаба модели. Загрузите файл локально, и инструмент измерит его ограничивающую сферу и вычислит расстояние, на котором модель заполняет пирамиду видимости в 45° с небольшим запасом. Файл никогда не загружается на сервер и никогда не попадает в сгенерированный код — туда попадает только число.