EditableImage API and SurfaceAppearance Runtime Compatibility

The problem: We cannot write to NormalMapContent and other Content data types corresponding to SurfaceAppearances/Textures/Decals during runtime

My Proposal: Allow runtime-level writing of SurfaceAppearances and Decal Content data types

ColorMapContent:Content
EmissiveMaskContent:Content
MetalnessMapContent:Content
NormalMapContent:Content
RoughnessMapContent:Content

This would allow for the EditableImage API to be extended towards textures and adjusting them in real time. E.g imagine a tank shell hits the surface of a tank. We want to modify the SurfaceAppearance to set its NormalMapContent so that the (u,v) location of the tank shell hit location induces a deformation in the normal map of that texture. Thus creating the visual effect of the tank shell deforming the surface, when it’s not actually there.

This method would provide incredible amounts of optimization with memory (no cloning instances) and would, in the long run of a game, improve the performance through texture manipulation.

Note: Goes perfectly with [Full Release] Introducing CreateDataModelContent: Convert editable mesh and image data into static content

5 Likes