6
A
回答
6
可以访问3d.io实体的three.js所对象是这样的:
var threeElem = document.getElementById("custom-id").components['io3d-data3d'].data3dView.threeParent
然后你可以使用从three.js所本地边框:
var bbox = new THREE.Box3().setFromObject(threeElem)
像这样你可以得到最小/最大范围whi你可以用它来确定原点。
我希望能回答你的问题。让我知道!
编辑: 家具,很可能会基于Madlaina的回答
var threeElem = document.getElementById("custom-id").components['io3d-furniture'].data3dView.threeParent
4
。我需要确保该模型前
addModelToScene(type) {
let scene = document.querySelector('a-scene');
let model = document.createElement('a-entity');
model.setAttribute('io3d-data3d', getModelKey(type))
model.addEventListener('model-loaded',() => {
// Access the three.js object of the 3d.io
let threeElem = model.components['io3d-data3d'].data3dView.threeParent
// create the bounding box
let bbox = new THREE.Box3().setFromObject(threeElem)
// Calculate the center-point offsets from the max and min points
const offsetX = (bbox.max.x + bbox.min.x)/2
const offsetY = (bbox.max.y + bbox.min.y)/2
const offsetZ = (bbox.max.z + bbox.min.z)/2
// apply the offset
model.setAttribute('position', {x:-offsetX,y:-offsetY, z:-offsetZ})
});
scene.appendChild(model);
}
+0
很酷!很高兴它的作品!我一定会在自己的草稿中使用它 –
相关问题
- 1. 如何使用模型衍生API获取模型大小或边界框?
- 2. xtk中相机的型号和旋转中心的边界框
- 3. 从ggmap对象中获取边界框
- 4. 获取所有机构的边界框
- 5. 获取边界框内的点
- 6. 获取地块()边界框的值
- 7. 获取视图的框架/边界
- 8. 从中心坐标创建边界框
- 9. 在OpenLayers边界框内获取标记
- 10. GeoServer REST API获取边界框
- 11. 获取尽可能多的多边形的最小边界框
- 12. 以margin为中心的元素的负边界边界:0 auto;
- 13. 如何获取wpf中多个项目的边界框?
- 14. 获取RaphaelJS中文本的实际边界框
- 15. 如何获取YOLO对象检测中边界框的坐标?
- 16. 在iText 2.1.7中获取Chunk的绝对边界框?
- 17. 如何获取c#中屏幕上的文本边界框?
- 18. 获取邻里边界
- 19. Java中的边界框算法只有中心点和半径
- 20. 多边形的边界框
- 21. VTK将图像移动到边界框的中心
- 22. 如何从GeoJSON文件中获取边界框值?
- 23. 在JavaFX中获取文本边界
- 24. 如何获取用于Bing Traffic API的位置的边界框
- 25. 获取附加的UIBezierPath的边界
- 26. 实心边框或虚线边框?何时使用哪个?
- 27. 如何去除核心图上边界的边界
- 28. 获取WPF元素的真实可视边界框?
- 29. 从topojson获取各个国家的边界框
- 30. 使用ZBar获取条码的边界框
作品十分感谢,只是一个小错字。 'Data3dView'应该是'data3dView'。 这是我最初尝试过的,但它没有工作,因为模型尚未加载。这是通过听“模型加载”事件来解决的。 我将在下面添加我的解决方案作为答案,供其他人参考。 –
非常感谢。我在我的回答中修复了错字:) –