Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How to display dynamic point clouds in my local folder? #1

Open
sunmingliu opened this issue Dec 9, 2024 · 11 comments
Open

How to display dynamic point clouds in my local folder? #1

sunmingliu opened this issue Dec 9, 2024 · 11 comments

Comments

@sunmingliu
Copy link

How to use cwipc to convert local point clouds into the format readable by cwipc_unity?

@jackjansen
Copy link
Contributor

You shouldn't have to convert them, if the point clouds are compatible with cwipc and are all the same type and named sequentially. Just put the directory name into the cwipc_playback prefab.

You can preview with the command line utility cwipc_view --playback directory.

If your point clouds are not compatible (for example different size, or different origin) you can convert them with the swiss-army-knife tool cwipc_grab.

Check out https://github.com/cwi-dis/cwipc_test and see the Samples directory for some sample sequences, and for some instructions on converting.

@sunmingliu

This comment has been minimized.

@jackjansen
Copy link
Contributor

Ah, I wasn't clear enough. The prefabs are in Packages/CWI Point Cloud Support/Runtime/Prefabs.
We've put things in Assets/Samples only if we think you will probably want to change them, or use them as the basis of your own work. If we think an asset is in principle complete we leave it in the package.

You could also look at the scene VRPrerecordedPointcloudPlayback, which does exactly what you want (after you've adapted the pathname in the PointCloudPlayback behaviour on the cwipc_playback game object).

@sunmingliu

This comment has been minimized.

@jackjansen
Copy link
Contributor

Ah! I think you haven't enabled git lfs when you checked out the cwipc_test repository! The point clouds are large binary blobs, so they have to be stored under lfs.

In the cwipc_test directory, do

git lfs install
git lfs fetch --all
git update

@jackjansen
Copy link
Contributor

And on the other question:

Why cwipc_playback_stream prefab is also set dirName from ../Samples/loot-110k-4tiles and read decoded point clouds?

This is laziness on our side: we implemented StreamedPointCloudReader after PointCloudPlayback, and we did a quick-and-dirty implementation with a subclass. Fine for us, because we know this, but not for you. Sorry!

@sunmingliu

This comment has been minimized.

@jackjansen
Copy link
Contributor

You say: " I removed the 0 as instructed" but that instruction is wrong, sorry! The 0 should stay there (as it is in the subsequent command lines).

@sunmingliu

This comment has been minimized.

@jackjansen
Copy link
Contributor

On the "4tiles" meaning: the point clouds have been tiled into 4 tiles. The data that we actually store per point is X, Y, Z, R, G, B, Tilenum. Normally you don't have to worry about this and you can ignore it. But for some use cases (such as compressing and transmitting over the net) you can use cwipc_tilefilter() to split the point cloud stream into its 4 tiles, and get a 4-fold speedup by parallelising the encoder.

On the AttributeError: that sounds like a bug that was fixed quite some time ago (in the underlying cwipc). Can you tell me which version cwipc you have installed? (cwipc_view --version output).

Could you try uninstalling cwipc and re-installing the latest nightly build (SHA 79071540a2273ee8610baeb73c2f4be88e4fac2f).

@sunmingliu
Copy link
Author

Thank you for your assistance. I understand now. The version I previously installed was v7.5.3, and I am currently trying to re-install the latest nightly build.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants