G1R AngelScript
Scripting reference for the Gothic 1 Remake
Loading...
Searching...
No Matches
UMaterialInstanceDynamic Class Reference

Public Member Functions

Rendering|Material
void SetRuntimeVirtualTextureParameterValue (FName ParameterName, URuntimeVirtualTexture Value)
 Set an MID texture parameter value.
bool InitializeScalarParameterAndGetIndex (FName ParameterName, float32 Value, int &OutParameterIndex)
 Use this function to set an initial value and fetch the index for use in SetScalarParameterByIndex. This function should only be called once for a particular name, and then use SetScalarParameterByIndex for subsequent calls. However, beware using this except in cases where optimization is critical, which is generally only if you're using an unusually high number of parameters in a material and setting a large number of parameters in the same frame. Also, if the material is changed in any way that can change the parameter list, the index can be invalidated.
void CopyMaterialInstanceParameters (UMaterialInterface Source, bool bQuickParametersOnly=false)
 Copies over parameters given a material interface (copy each instance following the hierarchy) Very slow implementation, avoid using at runtime. Hopefully we can replace it later with something like CopyInterpParameters() The output is the object itself (this). Copying 'quick parameters only' will result in a much faster copy process but will only copy dynamic scalar, vector and texture parameters on clients.
float32 GetScalarParameterValue (FName ParameterName)
 Get the current scalar (float) parameter value from an MID.
float32 GetScalarParameterValueByInfo (FMaterialParameterInfo ParameterInfo)
 Get the current scalar (float) parameter value from an MID, using MPI (to allow access to layer parameters).
UTexture GetTextureParameterValue (FName ParameterName)
 Get the current MID texture parameter value.
UTexture GetTextureParameterValueByInfo (FMaterialParameterInfo ParameterInfo)
 Get the current MID texture parameter value, using MPI (to allow access to layer parameters).
FLinearColor GetVectorParameterValue (FName ParameterName)
 Get the current MID vector parameter value.
FLinearColor GetVectorParameterValueByInfo (FMaterialParameterInfo ParameterInfo)
 Get the current MID vector parameter value, using MPI (to allow access to layer parameters).
void InterpolateMaterialInstanceParameters (UMaterialInstance SourceA, UMaterialInstance SourceB, float32 Alpha)
 Interpolates the scalar and vector parameters of this material instance based on two other material instances, and an alpha blending factor The output is the object itself (this). Supports the case SourceA==this || SourceB==this Both material have to be from the same base material.
void SetDoubleVectorParameterValue (FName ParameterName, FVector4 Value)
 Set an MID vector parameter value.
void CopyParameterOverrides (UMaterialInstance MaterialInstance)
 Copy parameter values from another material instance. This will copy only parameters explicitly overridden in that material instance!!
void SetRuntimeVirtualTextureParameterValueByInfo (FMaterialParameterInfo ParameterInfo, URuntimeVirtualTexture Value)
 Set an MID texture parameter value using MPI (to allow access to layer parameters).
bool SetScalarParameterByIndex (int ParameterIndex, float32 Value)
 Use the cached value of OutParameterIndex from InitializeScalarParameterAndGetIndex to set the scalar parameter ONLY on the exact same MID. Do NOT presume the index can be used from one instance on another. Only use this pair of functions when optimization is critical; otherwise use either SetScalarParameterValueByInfo or SetScalarParameterValue.
void SetScalarParameterValue (FName ParameterName, float32 Value)
 Set a MID scalar (float) parameter value.
void SetScalarParameterValueByInfo (FMaterialParameterInfo ParameterInfo, float32 Value)
 Set a MID scalar (float) parameter value using MPI (to allow access to layer parameters).
void SetSparseVolumeTextureParameterValue (FName ParameterName, USparseVolumeTexture Value)
 Set an MID texture parameter value.
void SetTextureParameterValue (FName ParameterName, UTexture Value)
 Set an MID texture parameter value.
void SetTextureParameterValueByInfo (FMaterialParameterInfo ParameterInfo, UTexture Value)
 Set an MID texture parameter value using MPI (to allow access to layer parameters).
void SetVectorParameterValue (FName ParameterName, FLinearColor Value)
 Set an MID vector parameter value.
void SetVectorParameterValueByInfo (FMaterialParameterInfo ParameterInfo, FLinearColor Value)
 Set an MID vector parameter value, using MPI (to allow access to layer parameters).
Public Member Functions inherited from UMaterialInstance
void SetbOverrideSubsurfaceProfile (bool Value)
 Defines if SubsurfaceProfile from this instance is used or it uses the parent one.
bool GetbOverrideSubsurfaceProfile () const
 Defines if SubsurfaceProfile from this instance is used or it uses the parent one.
UPhysicalMaterial GetPhysicalMaterial () const
 Return a pointer to the physical material used by this material instance.
UPhysicalMaterial GetPhysicalMaterialFromMap (int Index) const
 Return a pointer to the physical material from mask map at given index.
UPhysicalMaterialMask GetPhysicalMaterialMask () const
 Return a pointer to the physical material mask used by this material instance.
UMaterial GetBaseMaterial ()
 Walks up parent chain and finds the base Material that this is an instance of. Just calls the virtual GetMaterial().
FMaterialParameterInfo GetParameterInfo (EMaterialParameterAssociation Association, FName ParameterName, UMaterialFunctionInterface LayerFunction) const
UMaterialInterface GetNaniteOverideMaterial () const
 Get the associated nanite override material.
void SetForceMipLevelsToBeResident (bool OverrideForceMiplevelsToBeResident, bool bForceMiplevelsToBeResidentValue, float32 ForceDuration, int CinematicTextureGroups=0, bool bFastResponse=false)
 Force the streaming system to disregard the normal logic for the specified duration and instead always load all mip-levels for all textures used by this material.
EBlendMode GetBlendMode () const
Public Member Functions inherited from UObject
bool MarkPackageDirty () const
void RemoveFromRoot ()
bool GetIsRooted () const
bool IsTransient () const
bool Modify (bool bAlwaysMarkDirty=true)
void SetTransactional (bool bTransactional)
bool IsSupportedForNetworking () const
UClass GetClass () const
UObject GetOuter () const
UObject GetTypedOuter (TSubclassOf< UObject > Target) const
 Traverses the outer chain searching for the next object of a certain type.
UPackage GetOutermost () const
UPackage GetPackage () const
void AddToRoot ()
UWorld GetWorld () const
FName GetName () const
FString GetFullName (const UObject StopOuter=nullptr) const
FString GetPathName (const UObject StopOuter=nullptr) const
bool IsA (const UClass Class) const
 Returns true if this object is of the specified type, or a child of that type.
void SaveConfig ()
void LoadConfig ()
void ReloadConfig ()
void CopyScriptPropertiesFrom (const UObject OtherObject)
void opCast (?&Address) const
FString ToString () const

Static Public Member Functions

Static Functions
static UClass StaticClass ()
Static Public Member Functions inherited from UMaterialInstance
static UClass StaticClass ()
Static Public Member Functions inherited from UMaterialInterface
static UClass StaticClass ()
Static Public Member Functions inherited from UObject
static UClass StaticClass ()

Additional Inherited Members

Public Attributes inherited from UMaterialInstance
TArray< FDoubleVectorParameterValue > DoubleVectorParameterValues
 DoubleVector parameters.
TArray< FTextureParameterValue > TextureParameterValues
 Texture parameters.
UMaterialInterface Parent
 Parent material.
FMaterialOverrideNanite NaniteOverrideMaterial
 An override material which will be used instead of this one when rendering with Nanite.
TArray< FScalarParameterValue > ScalarParameterValues
 Scalar parameters.
TArray< FVectorParameterValue > VectorParameterValues
 Vector parameters.
UPhysicalMaterial PhysMaterial
 Physical material to use for this graphics material. Used for sounds, effects etc.
TArray< FRuntimeVirtualTextureParameterValue > RuntimeVirtualTextureParameterValues
 RuntimeVirtualTexture parameters.
TArray< FSparseVolumeTextureParameterValue > SparseVolumeTextureParameterValues
 Sparse Volume Texture parameters.
TArray< FFontParameterValue > FontParameterValues
 Font parameters.
FMaterialInstanceBasePropertyOverrides BasePropertyOverrides
bool bOverrideSubsurfaceProfile
 Defines if SubsurfaceProfile from this instance is used or it uses the parent one.
UPhysicalMaterial PhysicalMaterialMap
 Physical material map used with physical material mask, when it exists.
Public Attributes inherited from UMaterialInterface
UAssetImportData AssetImportData
 Importing data and options used for this material.
FLightmassMaterialInterfaceSettings LightmassSettings
 The Lightmass settings for this object.
USubsurfaceProfile SubsurfaceProfile
 SubsurfaceProfile, for Screen Space Subsurface Scattering..
TArray< TObjectPtr< UAssetUserData > > AssetUserData
 Array of user data stored with the asset.
UNeuralProfile NeuralProfile
 Neural network profile. For internal usage, not editable/visible.
FSoftObjectPath PreviewMesh
 The mesh used by the material editor to preview the material.
UThumbnailInfo ThumbnailInfo
 Information for thumbnail rendering.
const UPhysicalMaterialMask PhysicalMaterialMask
 Return a pointer to the physical material mask used by this material instance.
const UPhysicalMaterial PhysicalMaterial
 Return a pointer to the physical material used by this material instance.
const UMaterialInterface NaniteOverideMaterial
 Get the associated nanite override material.
const EBlendMode BlendMode
const UMaterial BaseMaterial
 Walks up parent chain and finds the base Material that this is an instance of. Just calls the virtual GetMaterial().
Public Attributes inherited from UObject
const UClass Class
const UObject Outer
const UPackage Outermost
const UPackage Package
const UWorld World
const FName Name
const bool IsRooted

Member Function Documentation

◆ CopyMaterialInstanceParameters()

void CopyMaterialInstanceParameters ( UMaterialInterface Source,
bool bQuickParametersOnly = false )

Copies over parameters given a material interface (copy each instance following the hierarchy) Very slow implementation, avoid using at runtime. Hopefully we can replace it later with something like CopyInterpParameters() The output is the object itself (this). Copying 'quick parameters only' will result in a much faster copy process but will only copy dynamic scalar, vector and texture parameters on clients.

Parameters
bQuickParametersOnlyCopy scalar, vector and texture parameters only. Much faster but may not include required data

◆ CopyParameterOverrides()

void CopyParameterOverrides ( UMaterialInstance MaterialInstance)

Copy parameter values from another material instance. This will copy only parameters explicitly overridden in that material instance!!

◆ GetScalarParameterValue()

float32 GetScalarParameterValue ( FName ParameterName)

Get the current scalar (float) parameter value from an MID.

◆ GetScalarParameterValueByInfo()

float32 GetScalarParameterValueByInfo ( FMaterialParameterInfo ParameterInfo)

Get the current scalar (float) parameter value from an MID, using MPI (to allow access to layer parameters).

◆ GetTextureParameterValue()

UTexture GetTextureParameterValue ( FName ParameterName)

Get the current MID texture parameter value.

◆ GetTextureParameterValueByInfo()

UTexture GetTextureParameterValueByInfo ( FMaterialParameterInfo ParameterInfo)

Get the current MID texture parameter value, using MPI (to allow access to layer parameters).

◆ GetVectorParameterValue()

FLinearColor GetVectorParameterValue ( FName ParameterName)

Get the current MID vector parameter value.

◆ GetVectorParameterValueByInfo()

FLinearColor GetVectorParameterValueByInfo ( FMaterialParameterInfo ParameterInfo)

Get the current MID vector parameter value, using MPI (to allow access to layer parameters).

◆ InitializeScalarParameterAndGetIndex()

bool InitializeScalarParameterAndGetIndex ( FName ParameterName,
float32 Value,
int & OutParameterIndex )

Use this function to set an initial value and fetch the index for use in SetScalarParameterByIndex. This function should only be called once for a particular name, and then use SetScalarParameterByIndex for subsequent calls. However, beware using this except in cases where optimization is critical, which is generally only if you're using an unusually high number of parameters in a material and setting a large number of parameters in the same frame. Also, if the material is changed in any way that can change the parameter list, the index can be invalidated.

◆ InterpolateMaterialInstanceParameters()

void InterpolateMaterialInstanceParameters ( UMaterialInstance SourceA,
UMaterialInstance SourceB,
float32 Alpha )

Interpolates the scalar and vector parameters of this material instance based on two other material instances, and an alpha blending factor The output is the object itself (this). Supports the case SourceA==this || SourceB==this Both material have to be from the same base material.

Parameters
SourceAvalue that is used for Alpha=0, silently ignores the case if 0
SourceBvalue that is used for Alpha=1, silently ignores the case if 0
Alphausually in the range 0..1, values outside the range extrapolate

◆ SetDoubleVectorParameterValue()

void SetDoubleVectorParameterValue ( FName ParameterName,
FVector4 Value )

Set an MID vector parameter value.

◆ SetRuntimeVirtualTextureParameterValue()

void SetRuntimeVirtualTextureParameterValue ( FName ParameterName,
URuntimeVirtualTexture Value )

Set an MID texture parameter value.

◆ SetRuntimeVirtualTextureParameterValueByInfo()

void SetRuntimeVirtualTextureParameterValueByInfo ( FMaterialParameterInfo ParameterInfo,
URuntimeVirtualTexture Value )

Set an MID texture parameter value using MPI (to allow access to layer parameters).

◆ SetScalarParameterByIndex()

bool SetScalarParameterByIndex ( int ParameterIndex,
float32 Value )

Use the cached value of OutParameterIndex from InitializeScalarParameterAndGetIndex to set the scalar parameter ONLY on the exact same MID. Do NOT presume the index can be used from one instance on another. Only use this pair of functions when optimization is critical; otherwise use either SetScalarParameterValueByInfo or SetScalarParameterValue.

◆ SetScalarParameterValue()

void SetScalarParameterValue ( FName ParameterName,
float32 Value )

Set a MID scalar (float) parameter value.

◆ SetScalarParameterValueByInfo()

void SetScalarParameterValueByInfo ( FMaterialParameterInfo ParameterInfo,
float32 Value )

Set a MID scalar (float) parameter value using MPI (to allow access to layer parameters).

◆ SetSparseVolumeTextureParameterValue()

void SetSparseVolumeTextureParameterValue ( FName ParameterName,
USparseVolumeTexture Value )

Set an MID texture parameter value.

◆ SetTextureParameterValue()

void SetTextureParameterValue ( FName ParameterName,
UTexture Value )

Set an MID texture parameter value.

◆ SetTextureParameterValueByInfo()

void SetTextureParameterValueByInfo ( FMaterialParameterInfo ParameterInfo,
UTexture Value )

Set an MID texture parameter value using MPI (to allow access to layer parameters).

◆ SetVectorParameterValue()

void SetVectorParameterValue ( FName ParameterName,
FLinearColor Value )

Set an MID vector parameter value.

◆ SetVectorParameterValueByInfo()

void SetVectorParameterValueByInfo ( FMaterialParameterInfo ParameterInfo,
FLinearColor Value )

Set an MID vector parameter value, using MPI (to allow access to layer parameters).

◆ StaticClass()

UClass StaticClass ( )
static