Announcement

Collapse
No announcement yet.

Point Cloud Plugin

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • replied
    Is there an option to change the position of point cloud points in realtime and fast?

    I'm thinking about gathering image data from a depth sensor and display it as a point cloud via this plugin.

    Leave a comment:


  • replied
    Originally posted by DeusUpperX View Post
    Apologies for the inconveniences but I have another question. Some of the point clouds I import are a little bit offset in terms of its position (this is the issue of the imported point clouds themselves, their origin point is different from where the point cloud begins). Is there a way to get the position of the actual point cloud and set it to the origin to accommodate for any offsets? Thanks.
    No need to apologize!
    I hope I understood you correctly - in this case, you can either turn the centering off (which will shift the cloud to its original position) or use the OriginalCoordinates property from C++ to get the offset used for centering of the cloud.

    Leave a comment:


  • replied
    Apologies for the inconveniences but I have another question. Some of the point clouds I import are a little bit offset in terms of its position (this is the issue of the imported point clouds themselves, their origin point is different from where the point cloud begins). Is there a way to get the position of the actual point cloud and set it to the origin to accommodate for any offsets? Thanks.

    Leave a comment:


  • replied
    Originally posted by xmak View Post
    On, https://pointcloudplugin.com/downloads the download for 0.7.1-4.22 links to 0.7.1-4.21 version. Is this intended behaviour?
    Oops, must have missed it, thanks!
    Fixed now.

    Leave a comment:


  • replied
    On, https://pointcloudplugin.com/downloads the download for 0.7.1-4.22 links to 0.7.1-4.21 version. Is this intended behaviour?

    Leave a comment:


  • replied
    Originally posted by phoboz View Post

    By default, the importer assumes columns to be in XYZ RGB Intensity order, and if you use Create Point Cloud From File node or UPointCloud::CreateFromFile, this is how it will attempt to import the data.

    However, you can override the default behavior by using Create Point Cloud From File (ASCII) node or, if using C++, setting up ImportSettings parameter for UPointCloud::CreateFromFile (look at how UPointCloudFileIO_ASCII::CreatePointCloudFromFile does it for reference).

    In there, you can modify the default mapping by providing the desired order of data to use.
    So if your data contains XYZ Normals RGB, you would have to specify the following:
    LocationX = 0
    LocationY = 1
    LocationZ = 2
    Red = 6
    Green = 7
    Blue = 8
    Intensity = -1

    Note the -1 for Intensity - this would instruct the Intensity to be skipped.

    Also, if the index is larger than the number of available columns, it will be skipped. For example, if the cloud is only XYZ, but you use the default mapping (XYZ RGB I), it would still apply the XYZ data correctly, then skip RGB and Intensity sources (as their specified Indices will be unavailable).

    I hope I understood the question correctly and this answers it
    Yes thank you this was very helpful.

    Leave a comment:


  • replied
    Originally posted by DeusUpperX View Post
    Thanks for all your work with the plugin. I was wondering if you would know how to dynamically import point clouds based on its number of columns, as some contain only XYZ values, some contain RGB, normals, intensity, etc. Thanks.
    By default, the importer assumes columns to be in XYZ RGB Intensity order, and if you use Create Point Cloud From File node or UPointCloud::CreateFromFile, this is how it will attempt to import the data.

    However, you can override the default behavior by using Create Point Cloud From File (ASCII) node or, if using C++, setting up ImportSettings parameter for UPointCloud::CreateFromFile (look at how UPointCloudFileIO_ASCII::CreatePointCloudFromFile does it for reference).

    In there, you can modify the default mapping by providing the desired order of data to use.
    So if your data contains XYZ Normals RGB, you would have to specify the following:
    LocationX = 0
    LocationY = 1
    LocationZ = 2
    Red = 6
    Green = 7
    Blue = 8
    Intensity = -1

    Note the -1 for Intensity - this would instruct the Intensity to be skipped.

    Also, if the index is larger than the number of available columns, it will be skipped. For example, if the cloud is only XYZ, but you use the default mapping (XYZ RGB I), it would still apply the XYZ data correctly, then skip RGB and Intensity sources (as their specified Indices will be unavailable).

    I hope I understood the question correctly and this answers it

    Leave a comment:


  • replied
    Thanks for all your work with the plugin. I was wondering if you would know how to dynamically import point clouds based on its number of columns, as some contain only XYZ values, some contain RGB, normals, intensity, etc. Thanks.

    Leave a comment:


  • replied
    Originally posted by PA VR View Post
    Love the plugin.
    Thanks!

    Originally posted by PA VR View Post
    Is the collision taking into account every point or some lower sampling distribution?
    All of them

    Originally posted by PA VR View Post
    I have a need to compare each point to a collision object in the world, separate out those that penetrate it (it's an inclined plane) and colorize them, and set them into their own cloud.

    Can this be done through this plugin? I dont mind diving into the code but I thought I'd ask to see how much work it may be.
    The closest thing I can think of, that's already in, would be to use GetPointsInFrustum - using your plane as the near plane. However, if collision performance is crucial, implementing a simple plane intersection test may be a little faster.

    Add a variant of GetPointsInFrustum, which returns the points as copies instead of pointers (look at FPointCloudOctree::GetPointsInBox and FPointCloudOctree::GetPointsAsCopyInBox for reference).

    Once you have the array of points, just iterate over them and assign the desired color.

    Finally, use UPointCloud::CreateFromData to generate the new cloud.

    Originally posted by PA VR View Post
    I also then have to export those points to file, but not with ue4 coordinates but rather those that correspond to the cloud geolocation originally assigned.
    Set the OriginalCoordinates of the new cloud to the value of the original cloud. This will be automatically added to the data during export

    Originally posted by PA VR View Post
    Also would love to add another column to the export that represents metadata of some kind (property owner name, tax info...etc.).
    There is no built-in way to add custom columns at this point. You will need to have a look at UPointCloudFileIO_ASCII::HandleExport to add the extra columns.

    Originally posted by PA VR View Post
    Great job so far guys.
    Thanks again!

    If you need further help, find me on the Discord chat - will be faster that way

    Leave a comment:


  • replied
    Love the plugin. Is the collision taking into account every point or some lower sampling distribution?

    I have a need to compare each point to a collision object in the world, separate out those that penetrate it (it's an inclined plane) and colorize them, and set them into their own cloud.

    Can this be done through this plugin? I dont mind diving into the code but I thought I'd ask to see how much work it may be.

    I also then have to export those points to file, but not with ue4 coordinates but rather those that correspond to the cloud geolocation originally assigned. Also would love to add another column to the export that represents metadata of some kind (property owner name, tax info...etc.).

    Any insight would be appreciated!

    Great job so far guys.

    Leave a comment:


  • replied
    Click image for larger version

Name:	0.7.1.png
Views:	69
Size:	326.9 KB
ID:	1682918

    Point Cloud Plugin v0.7.1
    Release Notes

    Fixes
    • Fixed Viewport not showing, if upgrading from an earlier version
    • Fixed errors when packaging project with a larger collider
    • Fixed crash when trying to dynamically load PC in Standalone
    • Fixed Create from ASCII node missing async outputs
    • Fixed hidden points being included when building collision
    • Fixed missing option to remove collision
    • Fixed crash when deleting visible cloud with a collider enabled
    • Fixed collision mesh preview data not being stripped when cooking
    • Fixed errors when compiling for Linux
    • Fixed crash when the point budget is set too high
    • Fixed modifying collision not flagging assets as dirty
    • Fixed issues with cloud centering
    • Fixed a few UI issues

    Leave a comment:


  • replied
    Originally posted by pp_rfrost View Post

    Hi, thanks for taking a look.

    Imported clouds using XYZ — E57 in future would be nice.
    RGB data saved in point cloud.
    Thanks, will take a look.
    E57 is planned

    Leave a comment:


  • replied
    Originally posted by phoboz View Post

    Hi there.

    What format are you using to import the cloud?
    Does it contain RGB data?
    If not, what color information do you want to use?
    Hi, thanks for taking a look.

    Imported clouds using XYZ — E57 in future would be nice.
    RGB data saved in point cloud.
    Last edited by pp_rfrost; 10-30-2019, 05:53 AM.

    Leave a comment:


  • replied
    Originally posted by phoboz View Post

    What format are you using to import the cloud?
    Does it contain RGB data?
    If not, what color information do you want to use?
    I'll PM you the point cloud files.

    Leave a comment:


  • replied
    Originally posted by 0Digitalghost View Post
    Hi, I can't seem to get color from my .XYZ point cloud from reality capture in Unreal 4.23. It only shows white point clouds.

    Please kindly help me
    Hi there.

    What format are you using to import the cloud?
    Does it contain RGB data?
    If not, what color information do you want to use?

    Leave a comment:

Working...
X