从下向上动态加载模型,模型本身是由点-线-面组成,setDynamic动态控制模型每个point的位置,让模型出现一个动态加载的效果,如下图:
1、首先将模型压扁,获取point的position位置,然后设置y轴的高度为0,并将原始高度记录到modelPositons用于后面还原高度。
//将物体压扁,用于升起
var _temp = objGeo.children[0];
_temp.geometry.attributes.position.setDynamic(true);
let positions = combineBuffer(_temp, 'position');
modelPositons = positions.clone();
var maxIndex = 0;//最大值
for (var i = positions.count - 1; i > 0; i--) {
var px = positions.getX(i);
var py = positions.getY(i);
var pz = positions.getZ(i);
//计算得出最高点,用于停止动画
if ( py > 0 ) {
positions.setXYZ(
i,
px ,
0,
pz
);
}
}
_temp.geometry.attributes.positio