Open 3D Engine AtomLyIntegration Gem API Reference 23.10.0
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
AZ::Render::MaterialComponentController Class Referencefinal

#include <MaterialComponentController.h>

Inherits MaterialComponentRequestBus::Handler, MaterialConsumerNotificationBus::Handler, Data::AssetBus::MultiHandler, and AZ::SystemTickBus::Handler.

Public Member Functions

 AZ_CLASS_ALLOCATOR (MaterialComponentController, AZ::SystemAllocator)
 
 AZ_RTTI (MaterialComponentController, "{34AD7ED0-9866-44CD-93B6-E86840214B91}")
 
 MaterialComponentController (const MaterialComponentConfig &config)
 
void Activate (AZ::EntityId entityId)
 
void Deactivate ()
 
void SetConfiguration (const MaterialComponentConfig &config)
 
const MaterialComponentConfigGetConfiguration () const
 
MaterialAssignmentMap GetDefaultMaterialMap () const override
 MaterialComponentRequestBus overrides...
 
MaterialAssignmentId FindMaterialAssignmentId (const MaterialAssignmentLodIndex lod, const AZStd::string &label) const override
 
AZ::Data::AssetId GetDefaultMaterialAssetId (const MaterialAssignmentId &materialAssignmentId) const override
 
AZStd::string GetMaterialLabel (const MaterialAssignmentId &materialAssignmentId) const override
 
void SetMaterialMap (const MaterialAssignmentMap &materials) override
 
const MaterialAssignmentMap & GetMaterialMap () const override
 
void ClearMaterialMap () override
 
void ClearMaterialsOnModelSlots () override
 
void ClearMaterialsOnLodSlots () override
 
void ClearMaterialsOnInvalidSlots () override
 
void ClearMaterialsWithMissingAssets () override
 
void RepairMaterialsWithMissingAssets () override
 
uint32_t RepairMaterialsWithRenamedProperties () override
 
void SetMaterialAssetIdOnDefaultSlot (const AZ::Data::AssetId &materialAssetId) override
 
const AZ::Data::AssetId GetMaterialAssetIdOnDefaultSlot () const override
 
void ClearMaterialAssetIdOnDefaultSlot () override
 
void SetMaterialAssetId (const MaterialAssignmentId &materialAssignmentId, const AZ::Data::AssetId &materialAssetId) override
 
AZ::Data::AssetId GetMaterialAssetId (const MaterialAssignmentId &materialAssignmentId) const override
 
void ClearMaterialAssetId (const MaterialAssignmentId &materialAssignmentId) override
 
bool IsMaterialAssetIdOverridden (const MaterialAssignmentId &materialAssignmentId) const override
 
void SetPropertyValue (const MaterialAssignmentId &materialAssignmentId, const AZStd::string &propertyName, const AZStd::any &value) override
 
AZStd::any GetPropertyValue (const MaterialAssignmentId &materialAssignmentId, const AZStd::string &propertyName) const override
 
void ClearPropertyValue (const MaterialAssignmentId &materialAssignmentId, const AZStd::string &propertyName) override
 
void ClearPropertyValues (const MaterialAssignmentId &materialAssignmentId) override
 
void ClearAllPropertyValues () override
 
void SetPropertyValues (const MaterialAssignmentId &materialAssignmentId, const MaterialPropertyOverrideMap &propertyOverrides) override
 
MaterialPropertyOverrideMap GetPropertyValues (const MaterialAssignmentId &materialAssignmentId) const override
 
void SetModelUvOverrides (const MaterialAssignmentId &materialAssignmentId, const AZ::RPI::MaterialModelUvOverrideMap &modelUvOverrides) override
 
AZ::RPI::MaterialModelUvOverrideMap GetModelUvOverrides (const MaterialAssignmentId &materialAssignmentId) const override
 
void OnMaterialAssignmentSlotsChanged () override
 MaterialConsumerNotificationBus::Handler overrides...
 

Static Public Member Functions

static void Reflect (ReflectContext *context)
 
static void GetProvidedServices (AZ::ComponentDescriptor::DependencyArrayType &provided)
 
static void GetIncompatibleServices (AZ::ComponentDescriptor::DependencyArrayType &incompatible)
 
static void GetRequiredServices (AZ::ComponentDescriptor::DependencyArrayType &required)
 

Friends

class EditorMaterialComponent
 

Detailed Description

Can be paired with renderable components (MeshComponent for example) to provide material overrides on a per-entity basis.


The documentation for this class was generated from the following file: