Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

213
Vistas
¿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 Respuestas
Responde la pregunta

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda