* updates to camera tests to support different delta times and some further tidy-up
Signed-off-by: hultonha <hultonha@amazon.co.uk>
* support variable delta time in mouse move test
Signed-off-by: hultonha <hultonha@amazon.co.uk>
Made Model Material Conversion Optional
Added a new registry setting that disables automatic conversion of materials from model files like FBX.
By default, processing of model files (like FBX) automatically convert the included materials to Atom materials, using StandardPBR. This adds a job dependency on StandardPBR.materialtype, which propagates to any related azsl files as well. Thus any change to azsl code will cause all model files in the project to rebuild.
Some game teams have no interest in using the auto-converted materials; they always use a Material Component to apply material overrides for every mesh. This new setting allows teams to disable material auto-conversion for the entire project, thus removing the job dependency on StandardPBR.materialtype. Instead, every mesh will be assigned the same default material. Any change to azsl code will cause that one default material to rebuild, but this will not trigger any models to rebuild.
Details:
- Added /O3DE/SceneAPI/MaterialConverter registry settings for configuring the scene material converter. It includes an enable flag, and a default material to use when conversion is disabled.
- Added SceneBuilderDependencyRequests::AddFingerprintInfo which allows SceneAPI components to modify the scene builder analysis fingerprint. We use this to reprocess scene files when the material converter settings change.
- Updated SceneAPI's material asset builder to skip the StandardPBR dependency when material conversion is disabled.
- Added some code to MaterialComponentController to handle an edge case that may when disabling material conversion on an existing project, and assigned materials disappear.
Testing:
- Changing the registry setting does trigger a rebuild of the fbx files.
- When material conversion is disabled, changing an azsl file does not cause fbx files to rebuild, but the shader still reloads as expected.
- Made a test level using multiple models with multiple meshes, made various adjustments to the material slots for each mesh, and tried switching the material conversion registry setting from true to false. (Details below)
- Merged this change to a customer's fork and tested on their existing content.
Details about my test level:
- Made a new test level AtomTest project
- Added two entities, both using multi-mat_mesh-groups_1m_cubes.fbx
- Added a material component to both entities
- Entity 1 material assignments
- Blue_Zaxis: left as-is
- Green_Yaxis: exported the material
- Red_Xaxis: exported the material, and changed the material instance color to pink
- StingrayPBS1: exported the material, scaled the UVs in the exported material source, and changed the material instance color to green.
- With_Texture: selected an existing brick material, changed the material instance color to red.
- Entity 2 material assignments
- Default Material: set to an existing brick material
- Blue_Zaxis: manually assigned built-in material that was converted from fbx
- Green_Yaxis: manually assigned built-in material that was converted from fbx, and changed the material instance color to orange
Fixed categories not being properly applied for Nodeables & removed old code generator tags
> LG, I guess old NodeableCodegen definitions have all been migrated to new xml format file?
correct
This is the initial Terrain Gem. In this PR, it doesn't do anything, but it contains all of the initial code, icons, and build scripts for the gem to compile and build successfully. The follow-up PR will contain the first round of functioning code.
Also, with the creation of the gem, the TerrainSurfaceDataSystemComponent is getting relocated from the SurfaceData Gem to the Terrain Gem. This should have no impact, as that component has provided no active functionality in o3de. (It will start working again with the initial terrain system code in the next PR)
This also adds a couple of null guards to prefab code to prevent AP crashes, and fixed an incorrect service dependency in the VegetationSystemComponent that was exposed by moving the TerrainSurfaceDataSystemComponent.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>
* Visualizer: Initial capture loading support
Signed-off-by: Jacob Hilliard <jhlliar@amazon.com>
* Visualizer: Deserialize thread id
Signed-off-by: Jacob Hilliard <jhlliar@amazon.com>
* Visualizer: Quality of life improvements throughout
- Decrease row size for more information onscreen
- Remove fudge factors in drawing logic
- Add comments to deserialization logic
- Fix Editor text scaling bug
- Early out for data culling to avoid erase_if call
Signed-off-by: Jacob Hilliard <jhlliar@amazon.com>
* Fix rpaths during o3de sdk install on Linux
Adds install code that modifies ly_copy commands to fix rpaths for things like qt plugins.
Signed-off-by: amzn-phist <52085794+amzn-phist@users.noreply.github.com>
* Add newline at end of file
Signed-off-by: amzn-phist <52085794+amzn-phist@users.noreply.github.com>
* Update to use bracket argument
Signed-off-by: amzn-phist <52085794+amzn-phist@users.noreply.github.com>
* Minor edit
Signed-off-by: amzn-phist <52085794+amzn-phist@users.noreply.github.com>
* Move the string configure call to inside override
Per feedback.
Signed-off-by: amzn-phist <52085794+amzn-phist@users.noreply.github.com>