Как я могу установить позицию сетки, прежде чем добавить ее в сцену в файле three.js - программирование
Подтвердить что ты не робот

Как я могу установить позицию сетки, прежде чем добавить ее в сцену в файле three.js

В three.js, я хочу добавить сетку в позицию в сцене

Я пробовал:

// mesh is a THREE.Mesh
scene is a THREE.Scene
scene.add(mesh)
scene.updateMatrixWorld(true)
mesh.matrixWorld.setPosition(new THREE.Vector3(100, 100, 100))
scene.updateMatrix()

НО это ничего не сказалось.

Что мне делать?

4b9b3361

Ответ 1

Я бы порекомендовал вам проверить документацию здесь: http://threejs.org/docs/#Reference/Objects/Mesh Как вы можете видеть в верхней части страницы документа, Mesh наследует от "Object3D". Это означает, что вы можете использовать все методы или свойства, предоставляемые Object3D. Поэтому нажмите ссылку "Object3D" на странице документа и проверьте список свойств. Вы найдете свойство ".position". Нажмите ".position", чтобы узнать, какой тип данных он есть. Paha..its Vector3.

Поэтому попробуйте сделать следующее:

//scene is a THREE.Scene
scene.add(mesh);
mesh.position.set(100, 100, 100);

Ответ 2

Я видел это на GitHub ранее. (three.js r71)

mesh.position.set(100, 100, 100);

и может быть сделано для отдельных лиц

mesh.position.setX(200);  
mesh.position.setZ(200); 

ссылка: https://threejs.org/docs/#api/math/Vector3

подробное объяснение ниже:

поскольку mesh.position это "Vector3". Vector3() имеет методы setX() setY() и setZ(). мы можем использовать это так

mesh.position = new THREE.Vector3() ; //see position is Vector3()
vector1 = new THREE.Vector3();   

mesh.position.setX(100);  //or  this
vector1.setX(100)         // because all of them is Vector3()
camera1.position.setZ(100); // or this
light1.position.setY(100)   // applicable to any object.position

Ответ 3

Я предпочитаю использовать Vector3 для установки позиции.

   let group = new THREE.Group();

   // position of box
   let position = new THREE.Vector3(10, 10, 10);

     // add wooden Box
   let woodenBox = new THREE.Mesh(boxGeometry, woodMaterial);

    //update postion
    woodenBox.position.copy(vector);

  // add to scene
   group.add(woodenBox)
   this.scene.add(group);