Ändern von Textur und Farbe auf dem Collada-Objekt Three.js

8

Ich habe kürzlich three.js Beispiel von der offiziellen Seite, die mit meinen Collada-Objekten (.dae) arbeitet, mit ColladaLoader.js gemacht. Nun ist meine Frage, wie ändere ich das geladene Collada-Objekt Farbattribut und füge eine benutzerdefinierte Textur hinzu? Ich habe versucht, die Textur ohne Glück hinzuzufügen.

Hier ist mein Code (gegenüber dem ursprünglichen Beispiel leicht geändert):

%Vor%     
psychok7 22.02.2013, 13:26
quelle

4 Antworten

2

Nach vielen Problemen haben wir einen kleinen Hack in ColladaLoader.js geschrieben, der die Idee von @gaitat übernommen hat hexe ersetzt im Grunde den alten Pfad zu den Texturen aus den Bildern, übergibt einige neue in einem Array und verwendet reguläre Ausdrücke, um das XML für die .png oder .jpg unter dem images-Tag zu analysieren. Nicht sicher, ob es einen einfacheren Weg gibt, aber da die Unterstützung begrenzt war, mussten wir irgendwie eine Lösung finden

%Vor%     
psychok7 26.02.2013, 18:06
quelle
8

Sie können Ihre Collada-Szenenmaterialien mit dieser Art von Funktion rekursiv überschreiben. Es durchläuft die gesamte Hierarchie und ordnet ein Material zu.

%Vor%

Verwenden Sie es wie setMaterial(dae, new THREE.MeshBasicMaterial({color: 0xff0000}));

Sie könnten das wahrscheinlich anpassen, um die vorhandenen Materialeigenschaften zu ändern, statt bei Bedarf eine neue zu vergeben.

    
yaku 22.02.2013 14:50
quelle
1

Eine Sache, die Sie tun können, ist, Ihr Collada-Modell (Dae-Datei) zu ändern, um dort die Texturreferenz zu finden und sie nach Belieben zu ändern.

    
gaitat 22.02.2013 13:33
quelle
0
%Vor%     
ddd 18.09.2013 14:52
quelle