naurril / SUSTechPOINTS

3D Point Cloud Annotation Platform for Autonomous Driving
GNU General Public License v3.0
783 stars 206 forks source link

feat: 支持reflectance字段 #189

Closed PairZhu closed 1 month ago

PairZhu commented 3 months ago

有些pcd文件使用reflectance字段而不是intensity字段,本次pr增加了当intensity字段不存在时使用reflectance字段代替的功能

PairZhu commented 3 months ago

此外,我希望将OrbitControls替换为ArcballControls,这样可以更好的兼容一些拍摄角度不正常的点云,我直接把所有文件的控制器改为ArcballControls之后我在我的点云文件上测试成功了,但是这样的改动较大,我想确认一下是否有用OrbitControls的必要理由以及这样是否会带来可能的bug

naurril commented 3 months ago

关于arcballcontrols,我简单测试了一下,可能有几个地方需要确认,1) reset view的功能不能用, 2)操作box拉框的时候会同时旋转视角 3)绕z轴不好旋转,比如我要把视角转90度,几乎转不了,4)转的有点不灵敏,感觉慢了一点。也许和我的习惯和环境有关系,你确认一下

reflectance应该是没有什么问题

PairZhu commented 3 months ago

3和4是使用习惯的问题,这个操作要想象一个屏幕中间有个球心,拖动鼠标是在转动这个球,如果有gizmos指示会好很多,但是不知道为什么这个代码里使用setGizmosVisible似乎不起作用,如果你们有空可以查看一下原因。操作手法可以通过这个官方案例来体验:https://threejs.org/examples/#misc_controls_arcball 1和2是兼容性的问题,three.js一些接口已经变了,而我替换的代码是最新版的,现在这两个问题对应的接口我已经改好了,但是不确定是否还有其他功能有兼容性问题

PairZhu commented 2 months ago

此pr是否还有问题?

naurril commented 2 months ago

抱歉这几天忙回复晚了,arcball和orbit有一个明显的区别是 arcball操作时,鼠标的位置会影响操作,而不仅是鼠标的移动方向。orbit只和鼠标的移动方向相关,我个人觉得orbit操作起来更加轻松一些。你要用的场景有什么特殊的地方吗

naurril commented 2 months ago

是不是可以考虑加个参数进行切换

PairZhu commented 2 months ago

是不是可以考虑加个参数进行切换

可以,但是暂时应该没时间进行处理,不要回退一下版本直接先合并吧

PairZhu commented 2 months ago

是不是可以考虑加个参数进行切换

已完成,为了方便,我直接设置为切换的时候自动刷新页面了

PairZhu commented 1 month ago

@naurril 如果有时间是否可以查看一下我的改动,并提供反馈