Ich habe ein 3D-Modell, das als Obj-Datei in Three.js geladen wurde. Das Modell selbst ist ein Möbelstück.Three.js mesh resize
Das Problem ist, dass Möbel Material ist dynamisch und hat eine andere Größe (Dicke). Ich muss in der Lage sein, Materialstärke größer zu machen, aber die Gesamtgröße des Modells kann nicht geändert werden. Skalierung ist also keine Option.
Gibt es eine Möglichkeit, Teile des Modells (einige spezifische Meshes) in der Größe zu verändern und die Struktur des Mesh selbst nicht zu beeinträchtigen? Ich muss die Dicke der Struktur ändern, aber interne Teile des Modells sollten sich nicht ändern.
Die einzige Lösung, die ich mir vorstellen kann, ist die Skalierung einiger Meshes zu ändern und dann die globale Position der anderen Meshes basierend darauf zu ändern. Ist das der richtige Weg ?
object.traverse(function(child) {
if (child instanceof THREE.Mesh) {
// resize and reposition some of the meshes
}
});
Mögliche Wege, es zu lösen:
lassen Sie mich Problem verstehen.Sie verwenden Obj-Datei und erhöhen oder verringern selektiv die Größe eines Teils, ohne das Netz zu ändern. Da Sie Material (*. Mtl) Datei verwenden, haben Sie vordefinierte Textur koordinieren jetzt möchten Sie diese auch mit Algo WhooooSppp tricky warum tun (einige, wie wir die Scheitelpunkte aus Obj lesen können und geben Benutzer Flexibilität für erhöhen verringern, aber was ist mit Textur) Sie können neue UI-Szenario in der App hinzufügen, wo Sie externe Ebene zusammenführen, was Sie auf dieser –