[LayaAirIDE 2.0]请问相机围绕目标旋转怎么实现

请问相机围绕目标旋转怎么实现
已邀请:

符号

赞同来自:

/**绕角色旋转
*@param radius 半径
*@param speed 旋转速度
*@param startAngle 起始角度(弧度)
*@param angleRange 旋转范围(弧度)
**/
public rotateAround(radius: number, speed: number, startAngle: number, angleRange: number) {
let angle: number = startAngle;
let zf: number = 1;
let targetPos = GameData.Player.transform.position;
targetPos.y += 3;
Laya.timer.loop(35, this, () => {
this.camera.transform.localPositionX = GameData.Player.transform.position.x + Math.cos(angle) * radius;
this.camera.transform.localPositionZ = GameData.Player.transform.position.z + Math.sin(angle) * radius;
this.camera.transform.lookAt(targetPos, new Laya.Vector3(0, 1, 0), true);
if (zf == 1 && angle >= startAngle + angleRange) zf = -1;
if (zf == -1 && angle <= startAngle) zf = 1;
angle += zf * speed; //角度越大 转动的越快
});
}

要回复问题请先

商务合作
商务合作