Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. Dismiss Notice

Official Converting Point Clouds to Meshes with Pixyz: Tips for Improved Accuracy

Discussion in 'Pixyz' started by dani-ria, Jun 20, 2023.

  1. dani-ria

    dani-ria

    Unity Technologies

    Joined:
    Sep 7, 2021
    Posts:
    15
    When working with point cloud data in Pixyz, you may encounter situations where the resulting mesh is not as accurate as desired. In this article, we will discuss some advanced settings and techniques that can help improve the accuracy of your point cloud to mesh conversion.

    1. Use the latest version of Pixyz: To ensure that there are no compatibility issues, we would recommend using the most up-to-date version of each Pixyz product, as newer versions often come with improved algorithms and features for point cloud processing. You can check for updates using for updates" feature/mechanism existing in all Pixyz products

    2. [Only for Pixyz Plugin] Adjust import settings: When importing your point cloud data, you can adjust the import settings to control the level of detail and accuracy. Experiment with different settings to find the optimal balance between accuracy and performance. The tessellation functionality also contains presets of different level qualities to help you straight out of the box.

    3. Tessellation settings: In Pixyz Studio, you can use the `algo.tessellatePointClouds` function to create a mesh from point clouds. This function offers several parameters that can be adjusted to control the tessellation process, such as the maximum edge length and the maximum distance between points. Fine-tuning these parameters can help improve the accuracy of the resulting mesh.

    4. Clean up the point cloud data: Before converting the point cloud to a mesh, it's essential to clean up the data by removing noise, outliers, and duplicate points. This can be done using various functions in Pixyz, such as `algo.CalculateNormalsInPointTree`, `algo.VoxelisePointClouds`, and `algo.SplitPointClouds`.

    5. Optimize the mesh: After converting the point cloud to a mesh, you can further optimize the mesh using various functions in Pixyz, such as `algo.decimate`, `algo.SmoothMesh`, and `algo.DecimatePointClouds`. These functions can help improve the mesh's overall quality and reduce the number of triangles while preserving the original shape.

    6. Use alternative meshing algorithms: Pixyz offers several meshing algorithms that can be used to create a mesh from point clouds. Depending on your specific use case and the characteristics of your point cloud data, you may find that one algorithm works better than others.
    In conclusion, converting point cloud data to a mesh in Pixyz can be a complex process, and the accuracy of the resulting model depends on various factors. By using the latest version of Pixyz, adjusting import settings, fine-tuning tessellation parameters, cleaning up the point cloud data, optimizing the mesh, and experimenting with different meshing algorithms, you can significantly improve the accuracy of your point cloud to mesh conversion.
     
  2. mgear

    mgear

    Joined:
    Aug 3, 2010
    Posts:
    8,988
    just curious, is unity finally using AI/chatGPT to improve docs?

    ps. tested tessellatePointClouds cloud with "only" 6 million points, had to cancel after 4hrs.. was still not finished.
     
  3. dani-ria

    dani-ria

    Unity Technologies

    Joined:
    Sep 7, 2021
    Posts:
    15
    Hi mgear,

    This article is the brainchild of four genuinely brilliant (and completely sober!) minds. Although I must admit, it does look nearly as good as one crafted by GPT-4, except that...is not hallucinated :)

    Let us know more about your test with a 6M point cloud model. Have you tried uploading something smaller?

    We run some tests using one of SketchUp's Point Cloud sample data. Just passed the occurrence list, and it took approx. 5 minutes to tessellate roughly 6 million points into a 10 million triangle mesh.

    I guess the delay you experienced could depend on either your machine's specs or the model itself.
     
    Last edited: Jun 21, 2023
    mgear likes this.