som*_*ben 4 3d serialization three.js
在ThreeJS场景中序列化(或保存或编组)摄像机状态,然后在以后取消序列化(或加载或解组)摄像机的最佳方法是什么?
现在我正在保存摄像机位置,向上和(欧拉角)旋转场的x,y,z坐标.后来我试着用电话来恢复这台相机position.set()
,up.set()
和rotation.set()
,然后再跟进一个呼叫updateProjectionMatrix()
.我假设序列化和非序列化时默认的欧拉角旋转顺序是相同的.
它是否正确?
我建议改为存储相机的矩阵.这包括相机的整个转换,包括位置,旋转和缩放.
连载:
const cameraState = JSON.stringify(camera.matrix.toArray());
// ... store cameraState somehow ...
Run Code Online (Sandbox Code Playgroud)
反序列化:
// ... read cameraState somehow ...
camera.matrix.fromArray(JSON.parse(cameraState));
// Get back position/rotation/scale attributes
camera.matrix.decompose(camera.position, camera.quaternion, camera.scale);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1164 次 |
最近记录: |