supersplat icon indicating copy to clipboard operation
supersplat copied to clipboard

Measurement Tools in Splat Viewer

Open jacintomorostech opened this issue 2 years ago • 17 comments

Hello Team,

I am writing to express my admiration for the Splat Viewer you have developed; it's truly impressive and has been fascinating to use. The intuitive design and functionality have significantly enhanced my experience.

While exploring the viewer, I was reminded of the measurement tools available in Potree, which I found incredibly useful for detailed analysis. In this context, I would like to inquire if there are any plans to incorporate similar measurement functionalities into the Splat Viewer.

To provide a clearer idea of what I'm referring to, I have attached a screenshot showing the measurement tools in Potree. These tools allow for precise distance, area, and volume measurements within the 3D space, adding a valuable layer of interaction and data analysis.

image

Adding such features to Splat Viewer could greatly enhance its utility, especially for users who require detailed spatial analysis and measurements.

I am excited about the potential of integrating these functionalities and would be happy to provide more feedback or ideas if helpful.

Thank you for your time and the incredible work you are doing.

jacintomorostech avatar Nov 15 '23 10:11 jacintomorostech

Hi @jacintomorostech ,

Thanks for the feedback. It's so nice to hear you're liking the tool!

TBH there are probably higher priority bits missing that will need adding before we consider adding measurement tools (3d transform gizmos comes to mind first!).

Given the nature of GS though, it makes sense measurement is important, but are you able to expand on your measurement analysis use case any further? I'm not super clear how this fits into the bigger picture of how splats are being used in this way.

Thanks again!

slimbuck avatar Nov 16 '23 08:11 slimbuck

Hi @slimbuck!!,

Thank you for your prompt and thoughtful reply. I really appreciate you taking the time to consider my suggestion regarding measurement tools.

I understand and agree that there are other high-priority features, like 3D transform gizmos, that need attention first. It's great to hear about these developments!

Regarding the measurement analysis, my initial thought was that it could enhance the precision in our work with splats. However, I realize this might not align perfectly with the current scope and usage of the tool. It was just an idea that seemed worth exploring, but I completely understand if it doesn't fit into the broader framework at this stage.

Thanks again for your openness to feedback and for the ongoing improvements to the tool. I'm looking forward to seeing the new updates!

jacintomorostech avatar Nov 27 '23 09:11 jacintomorostech

This would be hugely useful in research, biodivesity monitoring and potentially carbon accounting (ie measuring the size of trees). Splatting potentially provides a significantly better way to rapidly capture 3D information about the environment and the next step would be to have tools to measure stuff within the splats. Research and land managers are already trying to use iphone lidar and the like to do this but splats look like an easier and faster way and only require a camera.

TimeScience avatar Dec 09 '23 03:12 TimeScience

I use supersplat a lot, thank you for this nice software!

Cleaning up splats works pretty good. But it is always hard to get scalling and orientation right. It involves a lot of finetuned looking through the pointcloud and eyeballing the angles. Scale is also not really good to judge.

Just selecting 3 points on a level surface in the splat could give you enough information to orient the splat to ground level (with the first point being set as origin). Then select 2 points of which you know the distance, and use that to set the scaling correctly.

I am not a coder, but wouldn't this be relatively easy to implement? I think it would greatly enhance the usability.

murcje avatar Apr 05 '24 16:04 murcje

For reference, in case it is helpful for the implementation, polycam recently added a "rescale" feature. As @murcje suggested, It is very simple (at least on the UI side), you just mark a known distance and then input the length it should be. Presumably it then does a linear re-scale of the entire splat (although I haven't tested the outputs enough to vouch for how well it works).

Here's the splat for reference. https://poly.cam/capture/05a42377-dcda-4c19-ac81-748a644f26bd (and I guessed at the rescaling because I didn't think to measure anything when I was recording it).

image

TimeScience avatar Apr 08 '24 01:04 TimeScience

For reference, in case it is helpful for the implementation, polycam recently added a "rescale" feature. As @murcje suggested, It is very simple (at least on the UI side), you just mark a known distance and then input the length it should be. Presumably it then does a linear re-scale of the entire splat (although I haven't tested the outputs enough to vouch for how well it works).

Here's the splat for reference. https://poly.cam/capture/05a42377-dcda-4c19-ac81-748a644f26bd (and I guessed at the rescaling because I didn't think to measure anything when I was recording it).

image

We also need this function urgently. Another requirement is to be able to output the approximate location of the selected point cloud through the computing center. At present, I am not familiar with typescript, and I am trying my best to implement these two functions.

KeKer7 avatar Oct 13 '24 08:10 KeKer7

This is high on our priority list. The rescale tool seems really obvious once you've heard about it :)

slimbuck avatar Oct 14 '24 07:10 slimbuck

I am thinking about giving this implementation a try. My idea would be to spawn two translation-gizmos and connect them with a line that shows the distance. A very useful tool then would be to change the distance and scale the entire scene. The problem with that is that you might want to scale only the selected splat or all splats. However, just a general measurement tool could be helpful already to calculate a new scaling.

simonbethke avatar Nov 20 '24 11:11 simonbethke

I am thinking about giving this implementation a try. My idea would be to spawn two translation-gizmos and connect them with a line that shows the distance. A very useful tool then would be to change the distance and scale the entire scene. The problem with that is that you might want to scale only the selected splat or all splats. However, just a general measurement tool could be helpful already to calculate a new scaling.

Great idea, has it been implemented yet?thank you

smart4654154 avatar Mar 15 '25 02:03 smart4654154

For reference, in case it is helpful for the implementation, polycam recently added a "rescale" feature. As @murcje suggested, It is very simple (at least on the UI side), you just mark a known distance and then input the length it should be. Presumably it then does a linear re-scale of the entire splat (although I haven't tested the outputs enough to vouch for how well it works).作为参考,如果它对实现有帮助,polycam 最近添加了“重新缩放”功能。正如建议的那样,这非常简单(至少在 UI 方面),您只需标记一个已知距离,然后输入它应该的长度。据推测,它会对整个 splat 进行线性重新缩放(尽管我还没有对输出进行足够的测试来保证它的效果如何)。

Here's the splat for reference.这是供参考的 splat。 https://poly.cam/capture/05a42377-dcda-4c19-ac81-748a644f26bd (and I guessed at the rescaling because I didn't think to measure anything when I was recording it).https://poly.cam/capture/05a42377-dcda-4c19-ac81-748a644f26bd(我猜到了重新缩放,因为我在录制时没有想过要测量任何东西)。

image

Image how do this? thank you

smart4654154 avatar Mar 15 '25 02:03 smart4654154

That rescale example is from https://poly.cam/ (also a good product but very different from supersplat)

TimeScience avatar Mar 17 '25 04:03 TimeScience

That rescale example is from https://poly.cam/ (also a good product but very different from supersplat)

thank you The click function is very accurate. Do you know how to make the mouse click position correspond to the position I want? For example, when I clicked on the corner of this paper, the system correctly identified the position and marked a point on the corner for the starting point of the distance I think this is very important, otherwise the distance calculation error will increase thank you

Image

smart4654154 avatar Mar 17 '25 06:03 smart4654154

Hello PlayCanvas team,

First of all, a big thanks for building such an amazing tool! Supersplat has been incredibly useful, and I truly appreciate all the effort that has gone into making it what it is today.

I wanted to follow up on this feature request and express my strong interest in seeing a distance measuring tool added to Supersplat. I truly believe this feature would add significant value. I would also suggest to include this feature to exported HTML where we can view the 3D model.

A built-in distance measurement tool would make Supersplat even more powerful for analyzing 3D models. I'd love to hear if there are any updates regarding implementation & release this feature.

ajayrathi2004 avatar Mar 26 '25 09:03 ajayrathi2004

Hi @ajayrathi2004 ,

I'm so glad you find the editor helpful, thanks for the kind words.

A measurement tool is definitely high on the priority list. I imagine we could do this around the same time we implement annotations for superspl.at.

I might actually create a rough development plan somewhere so everyone can see what our priorities are.

Thanks!

slimbuck avatar Mar 26 '25 10:03 slimbuck

Thank you so much, @slimbuck , for taking this on! I'll definitely be following along and looking forward to this tool.

ajayrathi2004 avatar Mar 26 '25 11:03 ajayrathi2004