Ich konnte meine Geometrie in die Puffergeometrie übertragen und fand ein gutes Netz mit Geometrie und Material, aber das Modell wird nicht im Fenster angezeigt.Puffergeometriemasche wird nicht geladen, wenn Web-Worker verwendet wird
Hier ist mein Code:
var myWorker = new Worker("js/respond.js");
myWorker.postMessage("horse.js");
myWorker.onmessage = function(e) {
geometry = new THREE.BufferGeometry();
var colorattribute = new THREE.BufferAttribute(e.data.color, 3, false);
var uv = new THREE.BufferAttribute(e.data.uv, 3, false);//created buffer attribute with worker data
var normal = new THREE.BufferAttribute(e.data.normal, 3, false);
var position = new THREE.BufferAttribute(e.data.position, 3, false);
var morph = new THREE.BufferAttribute(e.data.morphAttributes, 3, false);
geometry.addAttribute('color', colorattribute);
geometry.addAttribute('uv', uv);
geometry.addAttribute('normal', normal);
geometry.addAttribute('position', position);
geometry.addGroup(e.data.groups[0].start, e.data.groups[0].count, e.data.groups[0].materialIndex);
geometry.morphAttributes.position = [];
geometry.morphAttributes.position.push(morph);
//console.log(e.data.morphAttributes);
// mixer = new THREE.AnimationMixer(mesh);
// clip = THREE.AnimationClip.CreateFromMorphTargetSequence('static', geometry.morphAttributes, 30);
console.log(geometry);
mesh = new THREE.Mesh(geometry, new THREE.MeshLambertMaterial({color: 0xffffff, morphTargets: true}));
console.log(mesh);
scene.add(mesh);
Ihre Frage enthält keine Informationen darüber, welche Bibliothek Sie für die Geomethry verwenden. Für die meisten Bibliotheken gibt es spezielle Tags und Leute, die über sie Bescheid wissen, folgen diesen Tags. Das Hinzufügen korrekter Bibliotheks-Tags ist viel wichtiger als das Hinzufügen korrekter Sprach-Tags. Ich habe mir erlaubt, korrekte Tags hinzuzufügen. Bitte beachten Sie auch, dass nur ein "." Oder drei "..." Punkte im englischen Satz gültig sind, nicht acht. –