学习中遇到了一个问题,设置广告牌模式之后,需要旋转位置
记录一下
// 设置广告牌模式
const atmosphere = scene.getMeshByName('Earth_Atmosphere')!;
atmosphere.material!.backFaceCulling = false;
atmosphere.billboardMode = Mesh.BILLBOARDMODE_ALL;
const hightlight = scene.getMeshByName('Earth_Hightlight')!;
hightlight.material!.backFaceCulling = false;
hightlight.billboardMode = Mesh.BILLBOARDMODE_ALL;
const rotationZ = Quaternion.RotationAxis(Axis.Z, Tools.ToRadians(-50));
const rotationX = Quaternion.RotationAxis(Axis.X, Tools.ToRadians(0));
const rotationY = Quaternion.RotationAxis(Axis.Y, Tools.ToRadians(30));
/**
* 旋转四元素乘法不可交换顺序,通常按照Z-X-Y的顺序(bjs默认顺序)
*
**/
const finalRotation = new Quaternion().multiply(rotationY).multiply(rotationX).multiply(rotationZ);
hightlight.rotationQuaternion = finalRotation;