跳至主要內容

绕任意轴旋转

muzzik小于 1 分钟笔记CocosCocosCreator

let startRotate = this.cube.rotation.clone();
let axis = this.cube
	.getComponent(cc.UITransform)
	.convertToWorldSpaceAR(cc.v3(0, 1, 0))
	.subtract(this.cube.worldPosition)
	.normalize();
let quat = cc.quat();


cc.Quat.rotateAround(
	quat,
	startRotate,
	axis,
	cc.misc.degreesToRadians(angle)
);
this.cube.rotation = quat;
  • this.cube: 旋转对象
  • axis: 旋转轴,示例为对象的 cc.v3(0, 1, 0) 到对象位置的方向向量
  • angle: 旋转角度

示例代码效果为从起始角度(startRotate)绕 axis 轴旋转角度 angle 后输出到 quat

📣 觉得很赞?分享给你的朋友吧!