Datasmith Feature Requests

I’m using Unreal for scientific research visualization. I appreciate the effort here, and I hope the team will think more broadly than Arch and product Viz and spin off a new product for visualization. I think there are some considerations for visualization or enterprise products that won’t coexist well with game consideration and vice versa.

  • Double Precision - Most data in Academic, Scientific and exploration research is double precision. In Unreal just about everything goes through an FVector at some point losing precision. Need a native path for doubles through Unreal to the GPU.
  • The material editor could be more flexible. Assumptions are made about incoming data based on game development practices. It would be nice if more arbitrary data could be passed in, and it would be great to see a more general purpose editor that would allow users to build compute functions quickly. Currently I am having to do all sorts of hackery to pass data I want to visualize into materials, normalizing data, hiding it in normal or tangent channels or textures. I can probably do better writing shaders, but the editor is a handy way to prototype things quickly.
  • Better support for point clouds. I have seen a couple point cloud projects but they are narrowly focused on scan data. I am working with particle caches from simulations which isn’t topographical. Incorporating some PCL functionality so data can be sorted, grouped, decimated, partitioned, whatever would be very useful.
  • A general point cloud Actor. Currently I load the data from its native format, then construct arrays to feed to a procedural mesh component to create a cloud of camera facing quads. It’s fast to load and works better than any of the other methods I have seen, but a ton of redundant data is generated in the process and I can’t help but think there could be a better way. A particle object that could generate a static cloud of particles based on a cache of positions and load arbitrary attributes, perhaps allow the users to load cached frames and play them back, would be great. Something that would allow users to iterate over the particles would be awesome. I can’t do that currently. If I need to so something that iterates over the particles, it means regenerating the entire ProceduralMeshComponent which takes a few seconds due to the amount of data.
  • Multi-channel rendering - Planetariums, research facilities, schools, museums and amusement parks often have systems where something is projected through multiple displays to create a single large image. Depending on the system, the projections might have to be overlapped and corrected for perspective. Some tools, libraries, functionality, tutorials for developing visualizations that run on these types of systems would be a huge help.