前言
模型是一個(gè)引入模型,而且是非常多的不固定那種
引起原因虽缕,模型中心(模型原點(diǎn))不是幾何中心,要手動(dòng)調(diào)整
只改變模型的
position
位置無法改變旋轉(zhuǎn)中心問題
解決方案
算出模型的幾何中心蒲稳,算出模型相對
模型原點(diǎn)
的偏移重點(diǎn)
建立一個(gè)Group
組彼宠,并對模型偏移
...
let mesh = 模型
let group = new THREE.Object3D();
group.position.set(0, 0, 0); //世界原點(diǎn)坐標(biāo)
group.add(mesh);
mesh.position.set(偏移X,偏移Y, 偏移Z);
...
- 旋轉(zhuǎn)
組
...
mesh.rotateZ(0.01);
...
ps
-
以下是未進(jìn)行偏移的模型
本質(zhì)上是未改變模型旋轉(zhuǎn)中心的,但是可以拉進(jìn)一個(gè)組弟塞,對組內(nèi)模型進(jìn)行組原點(diǎn)旋轉(zhuǎn)
偏移算法
const box = new THREE.Box3().setFromObject(mesh) //獲取模型幾何數(shù)據(jù)
... //通過幾何數(shù)據(jù)凭峡,算其他偏移
如 偏移X = -(box.min.x+ box.max.x) / 2