我不想更换相机以适应模型。我希望知道给定位置的正确尺寸,以确保一旦缩放后的模型/几何将在屏幕中。
我不想移动相机,因为我可能有许多不同的物体。
思想?
答案 0 :(得分:1)
您可能只想使用scale="0.1 0.1 0.1"
或其他任何方式扩展模型。要自动执行此操作,请考虑编写新组件:
AFRAME.registerComponent('autoscale', {
init: function () {
var el = this.el;
el.addEventListener('model-loaded', function (e) {
var bbox = new THREE.Box3().setFromObject(e.detail.model);
var scale = 1 / (bbox.max.x - bbox.min.x);
el.setAttribute('scale', {
x: scale,
y: scale,
z: scale,
});
});
}
});
为了更加健壮,您应该使用最大尺寸(x vs y vs z)进行缩放,但这是它的要点。