在使用过程中出现如下问题:
得到galaxy中各星球的球心xyz坐标后,我用了两种方式来表达这些星球:
1.通过上文中的Three.Points加Three.ShaderMaterial来表现星系的星光效果;
2.通过Three.SphereGeometry加THREE.MeshLambertMaterial来表达星球形状,主要是为了在鼠标点击时,通过THREE.Raycaster来求交集对象来选中星球;
原本预期这两种几何体(Points,Sphere)能够完美的重合在一起,毕竟每个点都对应一个球的球心,但实际效果是它们大多数情况下不能重合,当对星系进行旋转缩放时星光和星球不能重合在一起,,实际上只有在一个拉远的上视图中看,两者才重合;
这是为何?我没有找到确切原因,只怀疑跟shader的渲染计算有关系。