调整立方体的大小时,一个面不会移动,而其他面会更改位置或大小。高度/深度/宽度需要根据键盘进行拉伸或压缩。
我已经建立了一个立方体,但是我只能修改立方体的位置
cube.position.y -= 1
,但高度,深度,宽度无法更改。
cube.geometry.parameters.height += 1
document.addEventListener("keydown", onDocumentKeyDown, false);
function onDocumentKeyDown(event) {
var keyCode = event.which;
// up
if (keyCode == 87) {
mesh.geometry.parameters.height += 1;
// down
} else if (keyCode == 83) {
mesh.position.y -= 1;
// left
} else if (keyCode == 65) {
mesh.position.x -= 1;
// right
} else if (keyCode == 68) {
mesh.position.x += 1;
// space
} else if (keyCode == 32) {
mesh.position.x = 0.0;
mesh.position.y = 0.0;
}
render();
};
所需的效果如下所示:http://product-cdn-tagging.oss-cn-beijing.aliyuncs.com/test/3d.gif
答案 0 :(得分:3)
创建几何后,修改parameters
属性无效。如果要变换立方体的宽度,高度或深度,请改用Object3D.scale。下面的小提琴演示了这种方法。
https://jsfiddle.net/xovwfe8t/
Object3D.position
,Object3D.rotation
和Object3D.scale
代表3D对象的局部变换。如果要在3D空间中应用变换,这些属性应该是您的主要界面。
three.js R 104