2013-10-03 77 views
17

我得到 Matrix3.getInverse():无法反转矩阵,行列式为0 three.js 3976 错误,当我试图缩放立方体对象。在three.js中缩放对象

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

有人可以帮我解决这个问题。

+3

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

+2

妮欧塔·乌乎拉的意思object.scale.set(xScale,yScale,zScale) – pkout

+2

@uhura为什么需要? 'object.scale'是一个'Vector3',所以它应该像(例如)'object.position'一样被修改......事实上,使用'set'并不能解决任何问题(刚刚尝试过)。 – Bakuriu

回答

0

我认为您可能会尝试使用Matrix3,其中Matrix4是必需的。至少在three.js库的r61中,您所指的行是从矩阵数组超出索引8(即16个元素矩阵与9个元素)。 如果您需要任何建议以外的地方提供一些代码和描述你想用逆矩阵实现,祝你好运!

13

Matrix3.getInverse(): can't invert matrix, determinant is 0通常发生时,无论是scale.xscale.yscale.z为0。确保你不结垢对象为0