记录一种开发中涉及three.js渲染问题分析流程
案例场景:车路协同二三维一体化展示
例如:车辆模型的展示,涉及方向角实时动态更新展示
前端通用的开发流程:
1、three.js右手坐标系构建
2、模型添加
3、模型位置更新
4、模型旋转(方式很多、采用通用简便的欧拉角旋转方式)
模型方向问题及分析:
1、初现场景-网页长时间停留、全部模型方向错乱
2、开不同机器或多个tab页观察重现情况(结论-不再复现)
3、隔日调试模式观察(复现)
4、调试问题数据包(用工具等查看当前坐标及旋转角)(数据包无误)
5、查找业内three.js旋转角问题(大多为不同旋转矩阵、四元数等、大多为欧拉角旋转万向节死索问题)没有匹配到当前场景暂无结论
6、寻找短时重现手段(断网,页面多开等)暂无定论
7、变量修改(欧拉角增量旋转之前修改其他判定关联变量置null等)(终于重现)
结论
数据在某节点发错误的包数据,导致旋转增量计算错误造成累计误差