Skip to Content
Quick StartUnreal Engine SDKPoint-cloud authoring

Point-cloud authoring

Open Window → Graffity Maps. Commit a token with Enter; it lives only in that tab’s client memory. Load public places lists the public catalog, sorted by name. Filtering is local. Use the known-place ID input for authorized detail; no private enumeration API is assumed.

Place buttons lazily load sections. A section selection performs a bounded signed download, retries expired storage authorization once through the same stable section ID, and parses on a worker. Cancel or token replacement revokes old UI publications.

The importer accepts binary little-endian PLY 1.0 with one vertex element and scalar properties. x, y, z are required; RGB is optional. Common additional scalar properties are skipped. ASCII, big-endian, list/face elements, duplicate properties, nonfinite values, truncation and oversized inputs are rejected explicitly.

Limits: 128 MiB, four million source vertices and at most 20,000 deterministically sampled preview points. Full bounds are computed while parsing. The preview maps canonical (x,y,z) metres to Unreal (-z,x,y) * WorldToMeters exactly once.

Import binds or creates one AGraffityARMapRoot for the place/section. Reimport updates metadata and the transient preview while preserving ordinary Movable child transforms. Duplicates stop import. Root changes are transactional. Save the level to retain stable IDs, basis and content hash. Preview buffers are transient; reimport after opening the level. Never put a camera or session-owning Actor beneath a map root.

The complete local cache is under Saved/Graffity/PointCloudCache, keyed by hashed stable identity; signed URLs are not saved. With no trusted upstream version metadata, online reimport downloads again. Cache/preview data is excluded from default cooking; authored child Actors and root IDs remain.

Physical map/POI/solver alignment and large-cloud device profiling are deferred; successful Editor preview is local authoring evidence.