在3d场景中,content几点向有一个方块模型,怎么通过旋转content使方块模型的Y轴方向朝向相机
import { _decorator, Camera, CameraComponent, Component, Node, Quat, tween, Vec3 } from 'cc';
const { ccclass, property } = _decorator;
@ccclass('Test')
export class Test extends Component {
@property(Node)
camera: Node = null;
@property(Node)
content: Node = null;
@property(Node)
boxItem: Node = null;
protected start(): void {
let cameraWpops = this.camera.worldPosition;
let boxWpos = this.boxItem.worldPosition;
let targetVector = new Vec3(0, 0, 0);
//摄像机与立方体向量
Vec3.subtract(targetVector, cameraWpops, boxWpos);
//盒子方向上的局部向量
let dir = new Vec3(0, 1, 0);
let curVector = dir.clone();
Vec3.transformQuat(curVector, curVector, this.node.worldRotation);
let rt = new Quat();
Quat.fromViewUp(rt, curVector.normalize(), targetVector.normalize());
//欧拉角转四元素
const eulerAngles = new Vec3();
const rotationQuat = new Quat();
Quat.fromEuler(rotationQuat, eulerAngles.x, eulerAngles.y, eulerAngles.z)
console.log(rotationQuat);
//四元素转欧拉角
let angle = new Vec3(0, 0, 0);
Quat.toEuler(angle, rt);
let delayTime0 = Math.random() + 1
let delayTime1 = Math.random() + 1
let delayTime2 = Math.random() + 1
tween(this.content).to(delayTime0, { eulerAngles: angle }).delay(delayTime1).call(() => {
}).delay(delayTime2).call(() => {
}).start();
}
}