AndyCheung-Hub
AndyCheung-Hub
自己封装吧,没难度的
可以直接用three的BufferGeometry封装好了,甚至你都能用它做一个建模工具
map.on传事件类型,再用map.identify({ coordinate: [0, 0], layers: [layer] }, geos => { console.log(geos); });
 左边是绑定骨骼、动画的,右边没有
@deyihu 是的,已经测试过几个版本的纯three没有这个问题。我想mtk.three出现这个问题应该和地图放大应该无关。我认为相机拉得很近和模型缩小是不一样的。本质上拉远拉近,模型的大小都是scale控制。问题可能是出在gltf导进去之后的Object3D上,模型出现这个问题,像是精度被降低了,看起来跟像素一样
图呢? @gisshare2015
@gisshare2015 这个也许是depthTest深度检测
之前加载带骨骼的模型也会模糊成像素,问题应该是出在渲染上吧
我找到这个问题的触发方式了,仅用three就可触发: 1、将任意模型放在three场景中(0,0,0)位置,都是正常的。 2、通过经纬度转换得笛卡尔坐标位置如(-2756963.9047458605,3311770.8198085106,0),将模型放在此位置即可触发 3、结论:模型距离世界中心过远,就会发生变形、模糊、走样、畸变这样的问题
@deyihu 如果可以实现自定义three场景的中心点(0,0,0)与地图上所对应的位置就能解决,比如我在江苏放了个模型,但(0,0,0)点可能在大西洋,会发生畸变。我认为可以整体加一个偏移。