Any views expressed within media held on this service are those of the contributors, should not be taken as approved or endorsed by the University, and do not necessarily reflect the views of the University in respect of any particular issue.

Campus point cloud modelling in unity

We chose to use unity and Keijiro Takahashi’s point cloud model renderer plugin for the campus section. With the popularity of 3D scanning technology, point cloud data has become increasingly important in various fields such as industrial design, architecture, and mapping. However, point cloud itself as an unstructured data format has relatively low rendering efficiency when visualized directly. Unity is a popular 3D game engine that provides efficient rendering support for particle systems through its built-in VFX Graph tool.

The campus point cloud data in PLY format is imported into Unity project using the Point Cloud rendering plugin. The plugin automatically extracts vertex position and color information from the point cloud to generate Position Map and Color Map texture assets.

A ParticleSystem node is added as the base particle system in the VFX Graph window. A SetPositionFromMap node is used to read the position of each particle from the Position Map. A ColorOverLifetime node is used to read the color of each particle from the Color Map. The velocity property of particles is disabled to keep the point cloud static. A Turbulence node is added to introduce fine details and a Color node is used to control transparency.

The VFX Graph is attached to the scene to achieve real-time point cloud rendering. Optimization involves balancing sampling rate and details.

In general, the methodology is as follows:

  1. Point cloud import

Imported a PLY point cloud file of campus using the Point Cloud Render plugin in Unity.

 

  1. Generate vertex textures

 

The plugin automatically generated a Position texture storing vertex positions and a Color texture from the imported point cloud data.

 

  1. Create a VFX graph

 

A ParticleSystem node was created as the base in the VFX Graph window.

 

  1. Set particle positions

 

A SetPositionFromMap node was added to sample the position of each particle from the Position texture.

 

  1. Set particle colors

 

A ColorOverLifetime node was used to sample the color of each particle from the Color texture.

 

  1. Disable particle velocity

 

The Velocity property in the system was disabled to keep the point cloud static.

 

  1. Add details

 

A Turbulence node was used to adjust the shape and a Color node controlled particle transparency with ALPHA.

 

  1. Render the scene

 

The VFX graph was added to the scene to see the real-time rendered point cloud effect.

 

  1. Optimization tips

 

Sampling rate could be optimized to balance detail and performance, and emitter size adjustment was suggested.

Leave a Reply

Your email address will not be published. Required fields are marked *

css.php

Report this page

To report inappropriate content on this page, please use the form below. Upon receiving your report, we will be in touch as per the Take Down Policy of the service.

Please note that personal data collected through this form is used and stored for the purposes of processing this report and communication with you.

If you are unable to report a concern about content via this form please contact the Service Owner.

Please enter an email address you wish to be contacted on. Please describe the unacceptable content in sufficient detail to allow us to locate it, and why you consider it to be unacceptable.
By submitting this report, you accept that it is accurate and that fraudulent or nuisance complaints may result in action by the University.

  Cancel