【问题标题】:How can I get the size of an object in react three fiber?如何在反应三纤维中获得物体的大小?
【发布时间】:2022-07-28 08:36:45
【问题描述】:
我想根据另一个对象的大小调整反应三纤维中某个对象的大小。我已经使用 STL 加载器加载了 2 个对象,并且想使用这些。
const geomUpper = useLoader(STLLoader, upperUrl)
const geomLower = useLoader(STLLoader, lowerUrl)
然后我想使用geomUpper的大小来调整geomLower的大小但是我不知道如何获取geomUpper的大小。有没有办法得到它的大小?
【问题讨论】:
标签:
reactjs
three.js
react-three-fiber
【解决方案1】:
如果 geomUpper 的位置在其网格内,这应该可以工作。
// create a Box3 to hold the dimensions
// initialize it to a zero-size box at geomUpper's position
const bbox = new THREE.Box3(geomUpper.position, geomUpper.position);
// expand the box to include geomUpper's children
// expandByObject mutates bbox
bbox.expandByObject(geomUpper);
// get the size of bbox
let size = new THREE.Vector3();
bbox.getSize(size);