/ Le mesh / babylon.js ottengono lo stesso materiale: javascript, blender, babylonjs

le mesh babylon.js hanno lo stesso materiale - javascript, blender, babylonjs

Sto usando BabylonJS V3 con Blender 2.79 per creare visualizzazioni di prodotti. Molte volte, è necessario definire shader più complessi nel codice JS. Sto usando linee come

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

per definire gli shader dopo l'esportazione. Di solito ogni mesh può ottenere il proprio shader in questo modo. Sfortunatamente in un caso, lo shader di più mesh viene sovrascritto. Qualcuno ha avuto un problema simile? Tutte le mesh sono nominate individualmente, hanno tutte uno shader di base (individuale) da Blender. Non condividono alcun blocco dati, non è stata eseguita alcuna istanza o duplicazione. Sono grato per ogni suggerimento.

Sembra che l'errore si verifichi con la nuova versione(3.0), l'aggiornamento a 3.1 risolve il problema, ma introduce errori con la telecamera con rotazione ad arco. Non appena si fa clic sulla tela, per ruotare la vista, non è più possibile rilasciare il mouse. Le ultime versioni stabili sono difettose?

Modifica 2

Dopo alcuni approfonditi problemi di risoluzione dei problemi, siamo arrivatila conclusione che le versioni 3.0 e 3.1 e / o i relativi plug-in di esportazione siano difettosi. Anche nelle scene di test più semplici, si verifica questo errore. Oltre ad altri problemi, come fotocamere rotte e geometrie spostate.

risposte:

0 per risposta № 1

Tieni presente che per impostazione predefinita i materiali vengono condivisi per motivi di prestazioni. Quindi questo probabilmente non è un bug ma una caratteristica. Se vuoi cambiare il materiale per una singola mesh dovrai prima clonarla