我想制作一个类似Facebook上的指南针:请点击此处查看图片。指南针中间的扇形区域(FOV)将根据摄像机视角的变化而旋转。我已经获取到了相机的x、y和z轴旋转角度,但不知如何将其转换成2D圆形视图?此外,three.js相机的y轴旋转角度仅在-PI/2到PI/2之间变化。非常感谢你的帮助 :)
使用THREE.Spherical()解决了相同的问题。
var vector = new THREE.Vector3();
var center = new THREE.Vector3();
var spherical = new THREE.Spherical();
vector.copy( camera.position ).sub( center );
spherical.setFromVector3( vector );
var rot = spherical.theta;
$('#compassSVG > svg')[0].style.transform = 'rotate('+ rot +'rad)';