bee*_*eek 2 javascript rotation euler-angles three.js gopro
我正在尝试将 Go Pro 陀螺仪数据转换为 Three.js 坐标,以便我可以将素材投影到球体内部,旋转球体并具有 3D 稳定性。
相机是这样定向的,坐标的顺序是 Z,X,Y
我正在尝试应用这个向量来旋转球体,就像这样
this._nextVec3.set(this._next[0],this._next[1],this._next[2])
this.el.object3D.rotation.setFromVector3(this._nextVec3)
Run Code Online (Sandbox Code Playgroud)
但是我无法让旋转与相机的旋转相匹配,我认为这与左/右手配置有关?
任何人都可以帮忙吗?
首先,确保您指定了正确的rotation.order属性。既然你说的是ZXY,那应该是一个简单的
this.el.object3D.rotation.order = "ZXY";
Run Code Online (Sandbox Code Playgroud)
其次,查看来自编辑器的 Three.js 轴:
如您所见,WebGL 轴与 GoPro 不同。我认为你必须翻转 X 轴,并交换 Z 和 Y。所以可能是这样的:
let xRot = this._next[0];
let yRot = this._next[1];
let zRot = this._next[2];
this.el.object3D.rotation.set(-xRot, zRot, yRot);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
84 次 |
| 最近记录: |