Open 3D Engine AtomLyIntegration Gem API Reference 25.05.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
 
bool IsDefaultMaterialAssetReady (const MaterialAssignmentId &materialAssignmentId) const override
 
AZStd::string GetMaterialLabel (const MaterialAssignmentId &materialAssignmentId) const override
 
void SetMaterialMap (const MaterialAssignmentMap &materials) override
 
const MaterialAssignmentMap & GetMaterialMap () const override
 
MaterialAssignmentMap GetMaterialMapCopy () 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
 
bool IsMaterialAssetReady (const MaterialAssignmentId &materialAssignmentId) const override
 
void ClearMaterialAssetId (const MaterialAssignmentId &materialAssignmentId) override
 
bool IsMaterialAssetIdOverridden (const MaterialAssignmentId &materialAssignmentId) const override
 
bool HasPropertiesOverridden (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: