Родительско-дочерние отношения в Three.js

Я создал один куб с шириной =2083, высотой =1987, глубиной = 0. Затем я нарисовал другой куб высотой =40, шириной = 80, глубиной = 0 и сделал второй куб дочерним по отношению к первому кубу. Я установил положение дочернего куба так, чтобы он попадал в родительский куб. Положение куба ребенка: (х = -1210, у = -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);

Проблема в том, что дочерний куб рисуется вне родительского куба.

Кроме того, если я удаляю отношения родитель-потомок, то childCube рисуется как положено внутри parentCube.

1 ответ

Решение

Когда вы определяете отношения "родитель-ребенок", позиция ребенка относительно родителя.

Чтобы поместить ребенка в родительский центр, используйте положение (0,0,0)

Ваша примерная позиция действительно выходит за пределы родителя.

Другие вопросы по тегам