/ / babylon.js mallas obtienen el mismo material - javascript, blender, babylonjs

Las mallas de babylon.js obtienen el mismo material - javascript, blender, babylonjs

Estoy usando BabylonJS V3 con Blender 2.79 para crear visualizaciones de productos. Muchas veces, es necesario definir sombreadores más complejos en el código JS. Estoy usando líneas como

scene.meshes[1].material.emissiveColor = new BABYLON.Color3(1, 0, 0);

para definir los sombreadores después de la exportación. Por lo general, cada malla puede obtener su propio sombreador de esta manera. Desafortunadamente en un caso, el sombreador de las mallas múltiples se sobrescribe. ¿Alguien tuvo un problema similar? Todas las mallas se nombran individualmente, todas tienen un sombreador básico (individual) de Blender. No comparten ningún bloque de datos, no se realizaron instancias ni duplicaciones. Estoy agradecido por cada pista.

Parece que el error ocurre con la nueva versión(3.0), la actualización a 3.1 soluciona el problema, pero introduce errores con la cámara de rotación de arco. Tan pronto como haga clic en el lienzo, para girar la vista, ya no podrá soltar el mouse. ¿Están las últimas versiones estables con errores?

Editar 2

Después de algunos problemas en profundidad llegamos aLa conclusión es que las versiones 3.0 y 3.1 y / o sus complementos exportadores son defectuosos. Incluso en las escenas de prueba más simples, se produce este error. Junto a otros problemas, como cámaras rotas y geometría desplazada.

Respuestas

0 para la respuesta № 1

Tenga en cuenta que, por defecto, los materiales se comparten por razones de rendimiento. Por lo tanto, esto probablemente no sea un error, sino una característica. Si desea cambiar el material para una sola malla, primero deberá clonarlo