three.js模型的缩放

需求: 当使用vr模式显示模型或者,基于特定的要求,需要对模型进行缩放,那么我们就必须操作模型

问题: 一个个遍历缩放模型,犹如扯淡.mesh较少时还可以,多的时候严重影响性能,并且即便mesh较少,缩放还可能会导致mesh的错位.

思路: 对模型进行整体的缩放,即对world盒子进行缩放,但是发现并没有什么卵用,实际上我们在加载模型的时候回调函数的参数就是我们需要的整体数据,它可能是个Object3D,也可能是个scene.

在反复进行验证之后,我发现盒子和scene已经进行了缩放,但是我看到的实际大小还是没什么变化,后来突然想到,大小是相机决定的,如果有问题,那么应该就是相机的距离出了问题,之后通过重新获取包围盒字,定义相机距离,完美解决问题.

备注:vr模式下的three.js使用VRControl,这个控制器会把视野固定在一个范围,所以如果要复原,记得要清楚掉

你可能感兴趣的:(three.js模型的缩放)