1

I'm building an app that must visualize a large point cloud on HoloLens 1st gen. As performance is an issue wit large clouds, I'm using Potree, an octree that takes care that only a preset number of points from the cloud are rendered.

The solution works in the editor, but, you guessed it, not when deployed on HL.

The point cloud in the Potree format is a set of couple of .json and hundreds of .bin files stored in hundreds of subfolders following the octree structure, all of that stored within a single folder, and the path to this folder is accessed by the renderer at runtime. However, I don't know how to include this folder in the HL app. Using Resources doesn't work as it's not really a standard resource. I've seen Asset Bundle suggested elsewhere, but according to this post asset bundling doesn't work on HL.

Is there a way to simply put this complex file structure in an accessible directory on HoloLens?

I feel completely stuck here and any help would be much appreciated.

Some of the things I've tried:

  • Keijiro Pcx doesn't work here. If rendered as single pixels, points cannot be seen in AR, and if rendered as meshes, the performance is abysmal (which led me to a conclusion octree structure should be used)
  • the solution here shows how to load one .xml file, but I have hundreds of files so I don't think it would work for me
  • similarly, this post deals with one .obj file

Unity 2019.4 HoloLens 1st gen

  • Why don't you try setting the file directory path to write to Application.persistentDataPath? We always recommend that you use Unity API Application.persistentDataPath to store data or using the UWP API Windows.Storage to manage files. And then, with your own code to make it obtain multiple file handles at the same time. – Hernando - MSFT Jul 01 '21 at 07:31
  • Thanks for the suggestion @Hernando-MSFT. I ended up using Unity StreamingAssets and accessing the folder with Application.streamingAssetsPath - works beautifully! Thanks again though! – radacadabra Jul 02 '21 at 07:57

2 Answers2

1

For anyone stumbling upon this - I ended up using Unity StreamingAssets and accessing the folder with Application.streamingAssetsPath - works beautifully!

0

Using pcx needs to be adjusted to binocular rendering in publishing settings. Please uncheck "Enable Depth Buffer Sharing" in XR Settings, and change "Single Pass" to "Multi Pass", as shown in the figure.enter image description here

张啸天
  • 1
  • 1
  • As it’s currently written, your answer is unclear. Please [edit] to add additional details that will help others understand how this addresses the question asked. You can find more information on how to write good answers [in the help center](/help/how-to-answer). – Community Dec 10 '21 at 03:46