Anwenden einer Textur auf eine benutzerdefinierte Geometrie in Three.js
Ich habe erfolgreich eine Textur auf eine Würfelgeometrie angewendet:
var geometry = new THREE.CubeGeometry(10, 10, 10);
var meshMaterial = new THREE.MeshPhongMaterial({ transparent: false, map: THREE.ImageUtils.loadTexture('/app/images/wood.jpg') });
meshMaterial.side = THREE.DoubleSide;
var mesh = new THREE.Mesh(geometry, meshMaterial);
Damit bekomme ich einen schönen strukturierten Würfel wie diesen:
Jetzt möchte ich die gleiche Textur (512 x 512 JPG-Bild) auf ein benutzerdefiniertes Modell anwenden, das ich aus einer STL lade, und das erhalte ich (in diesem Fall eine Pyramide):
Dies ist der Code:
loader.load(jsonParam.url, function (geometry) {
var meshMaterial = new THREE.MeshPhongMaterial({ transparent: false, map: THREE.ImageUtils.loadTexture('/app/images/wood.jpg') });
meshMaterial.side = THREE.DoubleSide;
var mesh = new THREE.Mesh(geometry, meshMaterial);
mesh.castShadow = false;
mesh.receiveShadow = true;
scene.add(mesh);
});
Warum wird die Textur nicht angewendet und ich erhalte nur den Durchschnitt der Texturfarben?