Welcome toVigges Developer Community-Open, Learning,Share
Welcome To Ask or Share your Answers For Others


0 votes
in Technique[技术] by (71.8m points)

javascript - How to get size of PlaneGeometry in three.js

I made mesh with PlanGeometry and BasicMaterial.

function createMesh(width, height) {
      let geometry = new THREE.PlaneGeometry(width, height);
      let mat = new THREE.MeshBasicMaterial({
          color: 0xffffff,
          transparent: true,
          side: THREE.DoubleSide,
          opacity: 0.5
      return new THREE.Mesh(geometry, mat);

And I used this mesh in other place and make transformed this mesh. So

mesh.applyMatrix(matrix); // make some transform.

Now, I want to get size of plane geometry So I tried with following method.

  let boundingBox = new THREE.Box3().setFromObject(mesh);
  let size = new THREE.Vector3(0,0,0);
  size = boundingBox.getSize(size);
  console.log('size', size);

But size is not correct. How can I get width, height value when created PlaneGeometry (width, height) before?

let geometry = new THREE.PlaneGeometry(width, height);

I want to know width, height value upper code. Please anyone help.

Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

You will probably have better results by checking the bounding box, geometry.parameters is not a reliable object - it's only created for primitives, and is not updated when the object is manipulated, so it won't reflect any scale changes.

const size = mesh.geometry.boundingBox.getSize()
console.log('size', size);

Welcome to Vigges Developer Community for programmer and developer-Open, Learning and Share