ho importato un modello OBJ con il seguente codice:materiali assegnando a un modello OBJLoader in Three.js
var loader = new THREE.OBJLoader();
loader.addEventListener('load', function (geometry) {
object = geometry.content;
scene.add(object);
});
loader.load('ship.obj');
Funziona bene, ma ogni volta che provo ad aggiungere un materiale ad esso, sia ha nessun effetto o il modello scompare. Ho pensato che potevo farlo in questo modo:
var ship = new THREE.Mesh(object, material);
Ma questo non funziona. qualcuno sa di un modo per farlo, o se è addirittura possibile? Ho provato anche a usare OBJMTLLoader, ma aggiunge solo complicazioni pur non permettendomi di cambiare il materiale.
Che ha funzionato perfettamente! Grazie per l'aiuto. –
Come possiamo influire sul modello al di fuori della routine di caricamento? Ogni volta che provo ad alterarlo dalla mia funzione render, non è definito, anche quando assegno 'object' a una variabile globale, (ad esempio 'myMesh'). – Jackalope
@Jackalope È possibile modificare la variabile "materiale" come desiderato in seguito e l'oggetto cambierà di conseguenza. –