我有一个自定义对象,它是两个网格的减法。这种减法创建了一个类似框架的对象。
createFrame (x, y, z) {
const frameMesh = new THREE.Mesh(new THREE.BoxGeometry(1,1,1));
frameMesh.scale.set(x, y, z);
const smallerFrameMesh = frameMesh.clone()
smallerFrameMesh.scale.set(x - 4, y - 4, z);
// subtraction
const frameGeometry = fromCSG(toCSG(frameGeometry).subtract(toCSG(smallerFrameMesh)));
const frame = new THREE.Mesh(frameGeometry, new THREE.MeshStandardMaterial(0xffffff));
frame.geometry.computeVertexNormals();
frame.userData.isFrame = true;
return frame;
}
现在,只要大小发生变化,我就会动态地缩放这个框架。问题是.scale
只使用让我的对象拉伸,而我希望它保持框架的宽度(在这种情况下为 4)。
是否可以指定对象应该如何缩放(比如编写我自己的缩放函数实现)或者是否有一个属性/方法可以使用它会导致保留“空白”与“对象”部分?先感谢您。