Three.js中的父子关系

时间:2015-10-21 13:19:09

标签: javascript three.js parent-child

我创建了一个宽度= 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。

1 个答案:

答案 0 :(得分:0)

当您定义父子关系时,孩子的位置相对到父母。

因此,要将孩子放在父母的中心,请使用职位(0,0,0)

您的示例位置确实超出了父级的范围。