Description
So many problems are caused by wanting different defaults between texture cards and scene files in Terrain3DMeshAsset. It would probably resolve this if the MA were an abstract class, and we had separate texture card, and scene asset classes, where each mesh asset type can deal with their own defaults, init and loading cleanly.
Though everything works reasonably well now, these are the current issues:
- The code is too delicate. I'd rather see derivative classes.
- Swapping scene file / texture cards has a couple minor inconsistencies, but I feel this is a reasonable balance
- Clearing the scene file loads a texture card and resets: height, density, lod ranges.
- Setting gentype to texture card clears the scene file and resets: density. leaving the previous height and lod0 range
- Creating a new Terrain3DMeshAsset via API doesn't have a texture card or material unless you create and assign them, or you assign the MA to Assets.set_mesh_asset() which runs MA initialize(), which generates a texture card and sets height offset, density, lod0 range.
See recent changes: 0cc5470 in #722, #839, #879
Description
So many problems are caused by wanting different defaults between texture cards and scene files in Terrain3DMeshAsset. It would probably resolve this if the MA were an abstract class, and we had separate texture card, and scene asset classes, where each mesh asset type can deal with their own defaults, init and loading cleanly.
Though everything works reasonably well now, these are the current issues:
See recent changes: 0cc5470 in #722, #839, #879