Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

219
Visualizações
¿Cómo puedo codificar correctamente un GLTF y al mismo tiempo preservar la codificación de otras mallas y texturas?

Estoy creando una aplicación web ar que permite a los usuarios usar modelos de cabeza GLTF. ( https://www.head5.camera/ ) Para obtener la iluminación correcta en el GLTF, configuré renderer.outputEncoding = THREE.sRGBEncoding y esto funciona muy bien PERO también ajusta la iluminación de mi THREE.VideoTexture de mi Video en directo. ¿Hay alguna manera de codificar solo el GLTF pero preservar la codificación lineal? del resto de la escena. Cualquier ayuda es muy apreciada.

He aquí un ejemplo de lo que quiero decir:

Head5 foto con fondo claro

El fondo es más claro de lo que se supone que debe ser porque también se está codificando.

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

La codificación de salida es una configuración a nivel de renderizador y no se puede cambiar para objetos o materiales específicos. Debido a que solo puede tener un renderer.outputEncoding , es necesario que se ciña constantemente a un flujo de trabajo gamma o a un flujo de trabajo lineal ( lectura en segundo plano ).

THREE.GLTFLoader configura materiales y texturas asumiendo que está usando un flujo de trabajo lineal y eso requiere renderer.outputEncoding = THREE.sRGBEncoding (o procesamiento posterior equivalente). Parece que el resto de su escena está configurada para un flujo de trabajo gamma. Para que sean consistentes, probablemente querrá recorrer toda la escena (incluidos los glTF y cualquier otro modelo/textura) y configurar el espacio de color de las texturas relevantes.

 scene.traverse((object) => { if (object.isMesh) { const material = object.material; if (material.map) material.map.encoding = THREE.sRGBEncoding; if (material.emissiveMap) material.emissiveMap.encoding = THREE.sRGBEncoding; if (material.sheenColorMap) material.sheenColorMap.encoding = THREE.sRGBEncoding; if (material.specularColorMap) material.specularColorMap.encoding = THREE.sRGBEncoding; } });

Con esos cambios, la codificación de salida sRGB para un "flujo de trabajo lineal" se verá correcta. También puede hacer lo contrario, cambiar estas texturas a THREE.LinearEncoding , si desea utilizar la codificación de salida lineal para un "flujo de trabajo gamma". Eso podría ser más fácil si tiene muchos otros contenidos en la escena.

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda