Announcement

Collapse
No announcement yet.

Point Cloud Plugin

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

    Hi Phoboz,

    First of all, fantastic work on this plugin. It was almost "Unreal" how quickly we were able to get up & going, visualising point clouds easily.

    Absolutely terrific work.

    We had one question - when we compile with UE 4.20 (precompiled from Unreal Store), PointCloudPlugin-0.5.3-4.21 only renders into the left eye of our VR headset (we use the SteamVR plugin). The point cloud doesn't render into the right eye at all which obviously creates a deeply disorientating result.

    Do you have any ideas for how we can fix this?

    Thank you and once again congratulations on your outstanding plugin.

    Comment


      Originally posted by dvt - safesite View Post
      Hi Phoboz ,

      First of all, fantastic work on this plugin. It was almost "Unreal" how quickly we were able to get up & going, visualising point clouds easily.

      Absolutely terrific work.

      We had one question - when we compile with UE 4.20 (precompiled from Unreal Store), PointCloudPlugin-0.5.3-4.21 only renders into the left eye of our VR headset (we use the SteamVR plugin). The point cloud doesn't render into the right eye at all which obviously creates a deeply disorientating result.

      Do you have any ideas for how we can fix this?

      Thank you and once again congratulations on your outstanding plugin.
      Hi dvt-safesite ,

      Thanks for the feedback!

      First time I heard that happening, I'm afraid.
      - Which headset are you using?
      - Can you replicate the same behavior inside a blank, content-only (non-C++) project with a binary version of the plugin, loading only the point cloud in VR (all other non-default plugins disabled)?
      - See if changing VR Instanced Stereo has any effect (Edit > Project Settings > Rendering > VR)

      To be honest, I'm a little surprised the version for 4.21 even works with 4.20, I would imagine the materials not loading at all.
      Point Cloud Plugin: Project Website | Forum Thread | Roadmap

      If you need help: join me on Discord
      Please support me on Patreon if you enjoy my content

      Comment


        Hello @phoboz,
        I have a question about animating the point cloud like you showed here (img from your plugin website)
        Click image for larger version

Name:	fasteranimations.jpg
Views:	1
Size:	43.0 KB
ID:	1605344
        Is it possible to animate imported (from asset browser) point cloud like in this image? I working on art project where I use BCI brain data and VR and I want to manipulate points using brain wave channel amplitude to achieve smth similar to the image above or like this here: https://www.youtube.com/watch?v=EcbDhAPUWVw

        BIG thank you for your hard work on this plugin.
        Best
        rufus

        Comment


          Hi - Wondering if there is the ability to use this plugin with 4.22?

          Thanks,
          -David

          Comment


            First of all, sorry for the delay in response! My notifications are disabled again for some reason.

            Originally posted by Rufson View Post
            Hello @phoboz,
            Is it possible to animate imported (from asset browser) point cloud like in this image? I working on art project where I use BCI brain data and VR and I want to manipulate points using brain wave channel amplitude to achieve smth similar to the image above or like this here: https://www.youtube.com/watch?v=EcbDhAPUWVw
            Hi Rufson!

            There are two ways to animate points:
            - By persistently modifying the points' data on the CPU side - most flexible, but slow
            - By using custom material expressions (like the one shown on your video) - orders of magnitude faster, but much more limited in functionality

            Originally posted by Flight_Evolved View Post
            Hi - Wondering if there is the ability to use this plugin with 4.22?
            ​​​​​​​Hi Flight_Evolved!

            Yes! The new version - 0.5.4 - will be released in a few hours, and will bring 4.22 support !

            Point Cloud Plugin: Project Website | Forum Thread | Roadmap

            If you need help: join me on Discord
            Please support me on Patreon if you enjoy my content

            Comment


              Originally posted by phoboz View Post
              First of all, sorry for the delay in response! My notifications are disabled again for some reason.



              Hi Rufson!

              There are two ways to animate points:
              - By persistently modifying the points' data on the CPU side - most flexible, but slow
              - By using custom material expressions (like the one shown on your video) - orders of magnitude faster, but much more limited in functionality
              No worries phoboz thanks for your response

              Is that possible via blueprint? like on your webiste here https://pointcloudplugin.com/tutoria...ng-point-cloud

              best

              Comment


                Originally posted by Rufson View Post

                No worries phoboz thanks for your response

                Is that possible via blueprint? like on your webiste here https://pointcloudplugin.com/tutoria...ng-point-cloud

                best
                Yes. This tutorial shows how to modify colors, but you could tweak the position using the exact same approach. Note that this is the CPU-side animation.
                For animations driven by the materials, I would recommend you make a copy of the default material and apply your custom animation elements to it. You would then need to assign it back as a custom material inside the point cloud's settings.
                Point Cloud Plugin: Project Website | Forum Thread | Roadmap

                If you need help: join me on Discord
                Please support me on Patreon if you enjoy my content

                Comment


                  Originally posted by phoboz View Post

                  Yes. This tutorial shows how to modify colors, but you could tweak the position using the exact same approach. Note that this is the CPU-side animation.
                  For animations driven by the materials, I would recommend you make a copy of the default material and apply your custom animation elements to it. You would then need to assign it back as a custom material inside the point cloud's settings.
                  Thank you for a quick response, so this will not work with point lit/unlit, only sprite lit/unlit am I right?

                  Comment


                    Originally posted by Rufson View Post

                    Thank you for a quick response, so this will not work with point lit/unlit, only sprite lit/unlit am I right?
                    Depending on what you want to achieve. Points are rather simple, so you are pretty much limited to colors and location, but yes, you could animate those.
                    Point Cloud Plugin: Project Website | Forum Thread | Roadmap

                    If you need help: join me on Discord
                    Please support me on Patreon if you enjoy my content

                    Comment


                      Click image for larger version

Name:	0.5.4.png
Views:	1
Size:	31.0 KB
ID:	1606284
                      Point Cloud Plugin v0.5.4
                      Release Notes

                      New Features / Improvements
                      • Support for UE 4.22
                      Fixes
                      • Fixed interference with custom materials using the Volume domain
                      • Fixed compilation issues for certain custom materials
                      • Fixed compilation issues with certain Unreal Studio materials
                      • Fixed incorrect Octree generation for certain point cloud shapes
                      • Fixed crashes related to runtime asset re-importing
                      • Fixed location precision loss (point banding) when importing clouds with very large offsets
                      • Fixed warning messages during project deployment
                      NOTE:
                      Due to changes made to PointCloudComponent, required for UE 4.22 support, any existing PointCloudActors instance in the scene will most likely require replacing with a new instance, as it's properties will become corrupted.
                      Point Cloud Plugin: Project Website | Forum Thread | Roadmap

                      If you need help: join me on Discord
                      Please support me on Patreon if you enjoy my content

                      Comment


                        New Features / Improvements
                        • photogammetry

                        XD

                        Comment


                          Click image for larger version

Name:	0.5.5.png
Views:	1
Size:	31.0 KB
ID:	1612606
                          Point Cloud Plugin v0.5.5
                          Release Notes

                          New Features / Improvements
                          • Support for LAS files
                          • Modular Importers
                          • ColorAdjustment options will now affect ColorOverride settings
                          • ColorOverride settings will now be affected by Intensity data
                          • Added option to manually specify gradient colors when using ColorOverride
                          Fixes
                          • Fixed ability to manually set persistent Enabled status of individual points
                          Point Cloud Plugin: Project Website | Forum Thread | Roadmap

                          If you need help: join me on Discord
                          Please support me on Patreon if you enjoy my content

                          Comment


                            Hi phoboz ,

                            Thank you very much for your plugin! I'm very excited about starting to try it, as it looks really promising, but would you know where to download a good point cloud to play with?

                            Thank you and best regards!

                            Comment


                              Hi There!

                              First of all, thank you for this fantastic plugin. Currently I try to calculate the points that collided with my collider sphere. Therefore I have some questions, that maybe someone more experienced could help me with.

                              I think my main problem is to get the individual points that belong to an octree node. I first assumed that the numbers in the IBCache Array in "PointCloudOctree" where the index of the Point in the Array that stores all the Points. But the numbers in the IBCache Elements are way higher than my actual number of points, what leads to an "out of bounds" error.
                              So where and how can I acces only the points that belong to an certain Node?

                              Of course there could be many more problems with my code, I just started out learning C++..At least It compiles

                              Here is my code that I added to the OctreeCpp:

                              Code:
                              //START MYCODE
                              TArray<FPointCloudPoint> TmpTouchedPoints;
                              TArray<uint32> TmpTouchedPointsIndex;
                              TArray<FPointCloudPoint> FPointCloudOctree::GetTouchedPoints(FVector ColliderLocation, int32 Radius, TArray<FPointCloudPoint> &PointCloudPoints, FPointCloudOctree::Node ParamRoot) const
                              {
                                  GetPointsInNode(TmpTouchedPointsIndex , ColliderLocation, Radius, PointCloudPoints, ParamRoot);
                                  for (auto const &pointIndex : TmpTouchedPointsIndex)
                                  {
                                      TmpTouchedPoints.Add(PointCloudPoints[pointIndex]);
                                  }
                                  return TmpTouchedPoints;
                              }
                              
                              void FPointCloudOctree::GetPointsInNode(TArray<uint32> &TouchedPointsIndex, FVector CLocation, int32 Radius, TArray<FPointCloudPoint> &pPointCloudPoints, FPointCloudOctree::Node &pNodeToGetPoints) const
                              {
                                  FBox nodeBox = pNodeToGetPoints.LocalBounds.GetBox();
                                  // Is the Collider Sphere inside the node or the distance to it smaller than the sphere radius and does the node have 0 children?
                                  if (nodeBox.IsInsideOrOn(CLocation) && ComputeSquaredDistanceFromBoxToPoint(nodeBox.Min, nodeBox.Max, CLocation) < (Radius*Radius) && pNodeToGetPoints.NumChildren == 0)
                                  {
                                      //For every PointIndex in IBCache
                                      for (auto const &pointIndex : pNodeToGetPoints.IBCache)
                                      {
                                          //Is Point inside collider sphere?
                                          if ((pPointCloudPoints[pointIndex].Location - CLocation).SizeSquared() < (Radius * Radius))
                                          {
                                              // Add the Index of the Point to the collection
                                              TouchedPointsIndex.Add(pointIndex);
                                          }
                              
                                      }
                              
                                  }
                                  // Is the Collider Sphere inside the node or the distance to it smaller than the sphere radius
                                  else if (nodeBox.IsInsideOrOn(CLocation) && ComputeSquaredDistanceFromBoxToPoint(nodeBox.Min, nodeBox.Max, CLocation) < (Radius*Radius))
                                  {
                                      //For every PointIndex in IBCache
                                      for (auto const &pointIndex : pNodeToGetPoints.IBCache)
                                      {
                                          // Is Point inside collider Sphere
                                          if ((pPointCloudPoints[pointIndex].Location - CLocation).SizeSquared() < (Radius * Radius))
                                          {
                                              // Add the Index of the Point to the collection 
                                              TouchedPointsIndex.Add(pointIndex);
                                          }
                              
                                      }
                                      //For every child of the node call this function and collect points
                                      for (int i = 0; i < pNodeToGetPoints.NumChildren; i++)  //alternative: (auto const &ChildNode : pNodeToGetPoints.Children) 
                                      {
                                          GetPointsInNode(TouchedPointsIndex, CLocation, Radius, pPointCloudPoints, *pNodeToGetPoints.Children[i]);
                                      }
                                  } 
                              }
                              //END MYCODE
                              Another Thing is, when I take the parts out, that make the "out of bounds" error happen, everything runs cool, but somehow the rendering of some points gets affected. See Pictures:
                              Click image for larger version

Name:	PointCloudsPlugin-Bug2.jpg
Views:	1
Size:	89.6 KB
ID:	1612781
                              Click image for larger version

Name:	PointCloudsPlugin-Bug.jpg
Views:	1
Size:	100.3 KB
ID:	1612780



























                              Thank you all for any help and suggestions!!!

                              Comment


                                Originally posted by Miguel1900 View Post
                                Hi phoboz ,

                                Thank you very much for your plugin! I'm very excited about starting to try it, as it looks really promising, but would you know where to download a good point cloud to play with?

                                Thank you and best regards!
                                Hi. There are some websites providing free point clouds, like:
                                http://www.libe57.org/data.html
                                http://graphics.stanford.edu/data/3Dscanrep/
                                http://data.duraark.eu
                                http://kos.informatik.uni-osnabrueck.de/3Dscans/

                                Keep in mind you would have to convert any e57 files to ASCII or LAS formats before you can import them to the Engine, as e57 files are not directly supported yet.
                                Point Cloud Plugin: Project Website | Forum Thread | Roadmap

                                If you need help: join me on Discord
                                Please support me on Patreon if you enjoy my content

                                Comment

                                Working...
                                X