Three.js: Wie kann ich die Größe eines 3D-Objekts in three.js ändern? ? ?

Erstellt am 31. Dez. 2011  ·  10Kommentare  ·  Quelle: mrdoob/three.js

Ich versuche, ein 3D-Modellierungswerkzeug mit three.js zu entwickeln.

Ich habe gerade Ihre Beispiele verwendet, um 3D-Objekte in Drahtrahmenplattformen zu rendern!

Jetzt möchte ich die Größe der 3D-Objekte durch Ziehen mit der Maus oder durch Skalieren des 3D-Objekts durch Klicken auf eine Schaltfläche ändern!

Warten auf Ihre Antwort!

Question

Hilfreichster Kommentar

Das Objekt Mesh hat die Eigenschaft scale . Mach einfach mesh.scale.x = 2 oder mesh.scale.set( 2, 1, 1 ) .

Alle 10 Kommentare

Das Objekt Mesh hat die Eigenschaft scale . Mach einfach mesh.scale.x = 2 oder mesh.scale.set( 2, 1, 1 ) .

Ich habe das gleiche Problem wie der Typ da drüben: http://stackoverflow.com/questions/19150120/scaling-an-object-in-three-js

In dem Moment, in dem ich die Skala ändere, werde ich überflutet mit:
"Matrix3.getInverse (): Matrix kann nicht invertiert werden, Determinante ist 0"
in drei-r73.js: 4482: 5

Ich bekomme den gleichen Fehler. Verwenden von THREE.CylinderGeometry

@gunderson Versuchen Sie es mit stackoverflow, wenn Sie Hilfe benötigen.

Wenn Sie eine Gruppe von Objekten haben, versuchen Sie, diese als _rendering parent_ zu einer Gruppe hinzuzufügen, und skalieren Sie das übergeordnete Element ...

const renderingParent = new THREE.Group();
// ...
renderingParent.scale.set(2,1,1);
renderingParent.add(groupOfObjects);

Was ist, wenn ich mich ständig ändere? (Ich möchte Skalen nicht 10 Mal berechnen)
Gibt es nicht eine Methode, die die Breite und Höhe der Geometrie tatsächlich ändert?
Am besten, Luis

@luisArandas Bitte benutzen Sie das Forum oder den Stackoverflow für Hilfeanfragen.

Für Boxgeometrien sehen Sie aus wie Konstruktor! == Skala. Wenn ich die Skalierung auf x = 1 ändere, wenn mein Objekt BoxBufferGeometry (1,1,1) ist; Es zeigt REEEEALY verschiedene Ansichten meiner Objekte. Es ist normal? Es zerquetscht mein Spiel nur wirklich, wenn mein Objekt nach dem Setzen von = -1 nur noch größer wird.

Hier sind einige Screenshots. Die erste Zahl in der Konsole ist also die Größe von x, y, z für den Spielerwürfel und wann ich sie benutze
cubeSize.xyz = cubeSize.xyz - 1;
cube.scale.set (cubeSize.xyz, cubeSize.xyz, cubeSize.xyz)
es sieht so aus, als ob er nach dem Verkleinern auf der gleichen Größe geblieben ist, aber mache es mit der Y-Position und wenn ich danach benutze
cubeSize.xyz = cubeSize.xyz + 1;
cube.scale.set (cubeSize.xyz, cubeSize.xyz, cubeSize.xyz);
es macht es viel mehr, als es durch die Boxgeometrie festgelegt wurde, aber Sie können nicht sehen, dass die Variable wieder nur 2 wird. Ich kann Ihnen nicht sagen, warum es so ist, aber für mich scheint die Skalierung andere Größen zu haben als der Konstruktor. Vielleicht verwendet die Skala Meter und Geometriefüße, ich weiß es nicht.
Kann es nur mein Problem sein oder eine Tasche mit drei js Version 101? (100 sehen tatsächlich gleich aus)
image
image
image

Ich empfehle Ihnen, @dygy , die Frage ins Forum zu verschieben, wenn Sie eine richtige Antwort erhalten möchten: https://discourse.threejs.org/

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen