Given the following code:
new TWEEN.Tween(group.quaternion)
.to(new THREE.Quaternion().setFromAxisAngle(axis, angle), animationDelayMs)
.onUpdate((quaternion) => {
group.quaternion.set(quaternion.x, quaternion.y, quaternion.z, quaternion.w);
})
.onComplete(() => { ...
When the variable "angle" is set to Math.Pi, the elements inside the group correctly rotate, but they scale down, up to the point where they completely vanish, and then they slowly scale back up to their original size, all while rotating.
Why does this happen? Are there any direct ways to do this with an axis and an angle?
Interesting post that may be related, see the comment of @Győri Sándor: Quaternion rotation in three.js going haywire when rotating past about 90°
I've tried normalizing the axis, but that does not help.