изменить положение в три js - PullRequest
0 голосов
/ 22 марта 2020

Я пытаюсь переместить сферы, которые я сделал в сцене, в три. js.

Я привел пример в их официальном примере, чтобы сделать это. Я думаю, что пример сохранил позиции в массиве аргументом toArray. и обновить позицию. Однако, когда я пытаюсь получить информацию о местоположении и сохранить ее в массиве, создается впечатление, что он не сгенерировал массив, которым я мог бы манипулировать.

Мой код такой, как показано ниже.

var SEPARATION = 100, AMOUNTX = 50, AMOUNTY = 50;
var scene = new THREE.Scene();




scene.background = new THREE.Color( 0xf0f0f0 )
var camera = new THREE.PerspectiveCamera(100, window.innerWidth/window.innerHeight, 0.1, 3000);
camera.position.x = 40;
camera.position.y = 20;
camera.position.z = 1500;

var renderer = new THREE.WebGLRenderer();

renderer.setSize(window.innerWidth, window.innerHeight);
document.body.appendChild(renderer.domElement);
// end template here




var coord =[{"x":300,"y":10,"z":10},{"x":20,"y":30,"z":30},{"x":30,"y":0,"z":50},
            {"x":40,"y":20,"z":70},{"x":50,"y":100,"z":90},
            {"x":60,"y":30,"z":110},{"x":70,"y":150,"z":90}]


var sphr
var geom


function drawsphre(){
    for (let i =0; i<coord.length; i++){

        var mat = new THREE.MeshPhongMaterial( { flatShading: true } )
        geom = new THREE.SphereGeometry( 60, 50, 50);
        sphr = new THREE.Mesh( geom, mat);
        console.log()

        sphr.position.set(coord[i].x,coord[i].y,coord[i].z)
        console.log(sphr.position)



        scene.add(sphr);
        renderer.render(scene, camera)

    }
}
drawsphre();
movesphr();

function movesphr(){

    var positions = [];
    positions=sphr.position.x
    console.log(positions.x)
}

var light = new THREE.AmbientLight( 0x404040 ); // soft white light
scene.add( light );

// White directional light at 70% intensity shining from the top.
var directionalLight = new THREE.DirectionalLight( 0xffffff, 0.7 );
scene.add( directionalLight );

my console.log выкладывает всю информацию о местоположении сразу, и я не могу отрегулировать значение вообще. Есть ли способ, которым я мог бы получить доступ к отдельным значениям положения сфер, которые я сделал, и изменить значение положения, чтобы я мог перемещать сферы в анимации?

Заранее спасибо. Вы, ребята, великолепны всегда.

...