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