-
Notifications
You must be signed in to change notification settings - Fork 326
Open
Labels
enhancementNew feature or requestNew feature or request
Description
Feature
Currently we don't support access to property attributes, nor the styling of them. It shouldn't be too much of a lift to add support for FCesiumPropertyAttribute
and FCesiumPropertyAttributeProperty
. This would also simplify a lot of things for #1685, so I'm tempted to just do this off-the-bat.
Property attribute styling is less straightforward. 😕 There isn't an easy way to pass custom vertex attributes to Unreal materials without writing a custom vertex factory / shader (which is a lot of effort), and also isn't dynamic to work with the same way that Unreal materials are. Some options are...
- Attempt to pass properties through unused UV channels. We already do this for per-vertex feature IDs. However, metadata properties are more arbitrary, so we could have something like vec4 properties which would take up 2 full UV sets. There is a hard limit on the number of properties we could support because we could only pass up to 16 scalar values, and this space is further compromised if the model comes with its own UV coordinates.
- Copy what we did for property tables. Upload the entire attribute buffer to a texture, and then access the values by index. The vertex index must be stored in a UV channel because there is no "Vertex Index" node in Unreal material graphs, but it only takes one UV channel to enable an arbitrary amount of properties.
The latter seems best for the most immediate value and reliability. I think in that case, it also wouldn't be too much of a lift.
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request