我创建了一个宽度= 2083,高度= 1987,深度= 0的立方体。然后我绘制了另一个高度= 40,宽度= 80,深度= 0的立方体,并将第二个立方体作为第一个立方体的子项。我设置了子立方体的位置,例如它将进入父立方体。儿童立方体的位置是(x = -1210,y = -880)
camera = new THREE.PerspectiveCamera( 30, window.innerWidth / window.innerHeight, 1, 10000 );
camera.position.x = 0;
camera.position.y = 0;
camera.position.z = 8000;
var parentCube = new THREE.Mesh(new THREE.BoxGeometry(2083,1987,0), new THREE.MeshBasicMaterial({color:0xaa00ff}));
childCube = new THREE.Mesh(new THREE.BoxGeometry(80, 40, 0), new THREE.MeshBasicMaterial({color: 0x00ff00}) );
childCube.position.x = -1210;
childCube.position.y = -880;
childCube.position.z = 0;
parentCube.add(childCube);
问题是子多维数据集被绘制在父多维数据集之外。
此外,如果我删除父子关系,则在parentCube内按预期绘制childCube。
答案 0 :(得分:0)
当您定义父子关系时,孩子的位置相对到父母。
因此,要将孩子放在父母的中心,请使用职位(0,0,0)
您的示例位置确实超出了父级的范围。