2013-10-03 17 views
17

Ich erhalte Matrix3.getInverse(): kann Matrix nicht invertieren, Determinante ist 0 three.js 3976 Fehler, wenn ich versuche, ein Würfelobjekt zu skalieren.Skalieren eines Objekts in three.js

var object = new.THREE.Mesh(geometry, material) 
xScale = 0.1; 
object.scale.x = object.scale.y = object.scale.z = xScale; 

Könnte mir jemand dabei helfen.

+3

'object.scale.set (xScale, xScale, xScale)' – uhura

+2

Uhura gemeint object.scale.set (xScale, yScale, zScale) – pkout

+2

@uhura Warum ist das erforderlich? 'object.scale' ist ein' Vector3', also sollte es genauso wie (z. B.) 'object.position' modifiziert werden ... Tatsächlich löst' set' nichts (nur ausprobiert). – Bakuriu

Antwort

0

Ich denke, Sie versuchen möglicherweise, eine Matrix3 zu verwenden, wo ein Matrix4 erforderlich ist. Zumindest in r61 der three.js-Bibliothek zieht die Zeile, auf die Sie sich beziehen, aus dem Matrix-Array über den Index 8 hinaus (dh eine 16-Element-Matrix gegenüber einem 9-Element). Wenn Sie darüber hinaus einen Rat benötigen, geben Sie einen Code und eine Beschreibung, was Sie mit der inversen Matrix erreichen möchten, viel Glück!

13

Matrix3.getInverse(): can't invert matrix, determinant is 0 geschieht in der Regel, wenn entweder die scale.x, scale.y oder scale.z 0. Achten Sie darauf, Sie Skalierung nicht das Objekt 0.