Как уменьшить / сжать три. js размера модели GLTF (с .bin и текстурами)? - PullRequest
0 голосов
/ 25 марта 2020

Я загружаю 3d модель глобуса для своего веб-сайта, и загрузка занимает 100 лет.

Я использую GLTFLoader для загрузки модели внутри React.

  loadModals() {
    const loader = new GLTFLoader()
    loader.load(
      "/models/scene.gltf",
      gltf => {
        object = gltf.scene.children[0]
        scene.add(object)
        console.log("Model loaded")
      },
      xhr => {
        console.log("Model loading...")
      },
      error => {
        console.log("Model failed to load", error)
      }
    )
  }

Файлы, относящиеся к 3d-модели:

  • папка с текстурами изображений (58,7 МБ)

  • scene.bin (1,2 МБ)

  • scene.gltf (10 КБ)

По результатам исследований кажется, что модель поставляется с Файл .bin означает, что gltf не находится в сжатом двоичном формате. Однако, глядя на такие инструменты, как gltf-pipeline онлайн, я не уверен, как реализовать сжатие, когда есть отдельные файлы, такие как папка текстур и scene.bin.

Я очень плохо знаком с тремя. js и внедрение в Интернете, поэтому любые советы будут с благодарностью.

Спасибо!

Ответы [ 2 ]

1 голос
/ 26 марта 2020

Если вам просто нужно сжать вашу текстуру, есть несколько сайтов сжатия изображений.

Почему не используется формат .glb? Формат файла GLB - это двоичная форма GLTF, включающая текстуры вместо ссылки на них как на внешние изображения.

Извините, если я вам не помогаю.

0 голосов
/ 25 марта 2020

Поскольку я еще не получил никаких ответов, мое временное решение - сначала использовать Photoshop для оптимизации изображений в папке текстур.

Но это обходится ценой для модели с более низким качеством.

...