three.js第五十一用 拖拽功能解剖transformcontrol 二

threejs交流群511163089

但是webgpu出来的话,shader就不是glsl了,需要花时间学新语法。

开始更新gizmo

将所有物件都塞进handles;

开始遍历

这里解释一个情况,别的差不多

helper就是那根虚线,我测试感觉旋转的时候才触发这个条件。

如果是轴是X轴,那么初始就是X 不用管

如果是Y轴,那么就绕Z轴转动90度,变成与Y轴重合的方向的指示线

别的也差不多这样。

这里处理的是辅助线几乎垂直于脸的时候的情况,隐藏

下面也基本这样处理一些状态

最后根据状态修改视图

这个gizmo也就是你拖动看见的各个轴的显示,就是这个updatematrixworld函数负责的