UE3:MaterialInstanceTimeVarying (UDK)
![]() |
Object >> Surface >> MaterialInterface >> MaterialInstance >> MaterialInstanceTimeVarying |
- Package:
- Engine
- This class in other games:
This is an auto-generated page and may need human attention. Please remove the {{autogenerated}} tag if the page seems reasonably complete or replace it with the {{expand}} tag if the page is not yet complete. |
When adding new functionality to this you will (sadly) need to touch a number of places:
MaterialInstanceTimeVarying.uc for the actual data that will be used in the game MaterialEditorInstanceTimeVarying.uc for the editor property dialog that will be used to edit the data you just added
MaterialInstanceTimeVaryingHelpers.h void UMaterialEditorInstanceTimeVarying::CopyToSourceInstance()
template< typename MI_TYPE, typename ARRAY_TYPE > (this copies void UpdateParameterValueOverTimeValues(
MaterialInstanceTimeVaryingEditor.cpp void UMaterialEditorInstanceTimeVarying::RegenerateArrays() (each of the different types when it sets each param (ughh!))
MaterialInstanceTimeVarying.cpp void UMaterialInstanceTimeVarying::Set___ (to set the default values)
MaterialInstanceConstant.cpp static void UpdateMICResources(UMaterialInstanceTimeVarying* Instance) (to send the data over to the rendering thread (if it needs it) (hopefully most data can be encapsulated in the 'struct native ParameterValueOverTime' which all of the specialized data structs derrive from
MaterialInstance.h struct FTimeVaryingDataTypeBase
BaseEditior.ini need to look at the [UnrealEd.CustomPropertyItemBindings] and add a new entry for any new types that you create
(i.e. if you want a specialized PropertySheet view/editing)
Properties
Property group 'MaterialInstanceTimeVarying'
bAutoActivateAll
Type: bool
causes all parameters to start playing immediately *
FontParameterValues
Type: array<FontParameterValueOverTime>
Modifiers: const
ScalarParameterValues
Type: array<ScalarParameterValueOverTime>
Modifiers: const
TextureParameterValues
Type: array<TextureParameterValueOverTime>
Modifiers: const
VectorParameterValues
Type: array<VectorParameterValueOverTime>
Modifiers: const
Internal variables
Duration
Type: float
Modifiers: transient
This sets how long the MITV will be around (i.e. this MITV is owned by a decal which lasts N seconds). It is used for bOffsetFromEnd functionality *
Structs
FontParameterValueOverTime
Extends: ParameterValueOverTime
Modifiers: native
ParameterValueOverTime
Modifiers: native
- Object.Guid ExpressionGUID
- float StartTime
- when this is parameter is to start "ticking" then this value will be set to the current game time *
- name ParameterName
- bool bLoop
- if true, then the CycleTime is the loop time and time loops *
- bool bAutoActivate
- This will auto activate this param *
- float CycleTime
- this controls time normalization and the loop time *
- bool bNormalizeTime
- if true, then the CycleTime is used to scale time so all keys are between zero and one *
- float OffsetTime
- How much time this will wait before actually firing off. This is useful for keeping the curves being just the data for controlling the param and not a bunch of slack in the beginning (e.g. to wait N seconds then start fading) *
- bool bOffsetFromEnd
- When using OffsetTime it is nice to be able to offset from the end of the decal's lifetime (e.g. you want to fade out the decal, you want to change the color of the decal before it fades away etc.) *
Default values:
Property | Value |
---|---|
bAutoActivate | False |
bLoop | False |
bNormalizeTime | False |
CycleTime | 1.0 |
StartTime | -1.0 |
ScalarParameterValueOverTime
Extends: ParameterValueOverTime
Modifiers: native
- float ParameterValue
- This allows MITVs to have both single scalar and curve values *
- Object.InterpCurveFloat ParameterValueCurve
- This will automatically be used if there are any values in this Curve *
TextureParameterValueOverTime
Extends: ParameterValueOverTime
Modifiers: native
- Texture ParameterValue
VectorParameterValueOverTime
Extends: ParameterValueOverTime
Modifiers: native
- Object.LinearColor ParameterValue
- Object.InterpCurveVector ParameterValueCurve
- This will automatically be used if there are any values in this Curve *
Native functions
ClearParameterValues
Overrides: MaterialInstance.ClearParameterValues
Removes all parameter values
GetMaxDurationFromAllParameters
This will interrogate all of the parameter and see what the max duration needed for them is. Useful for setting the Duration / or knowing how long this MITV will take *
SetDuration
This sets how long the MITV will be around (i.e. this MITV is owned by a decal which lasts N seconds) *
SetFontParameterValue
Overrides: MaterialInstance.SetFontParameterValue
Sets the value of the given font parameter.
Parameters:
- ParameterName - The name of the font parameter
- OutFontValue - New font value to set for this MIC
- OutFontPage - New font page value to set for this MIC
SetParent
Overrides: MaterialInstance.SetParent
SetScalarCurveParameterValue
Overrides: MaterialInstance.SetScalarCurveParameterValue
SetScalarParameterValue
Overrides: MaterialInstance.SetScalarParameterValue
For MITVs you can utilize both single Scalar values and InterpCurve values.
If there is any data in the InterpCurve, then the MITV will utilize that. Else it will utilize the Scalar value of the same name.
SetScalarStartTime
This sets how long after the MITV has been spawned to start "ticking" the named Scalar InterpCurve *
SetTextureParameterValue
Overrides: MaterialInstance.SetTextureParameterValue
SetVectorCurveParameterValue
SetVectorParameterValue
Overrides: MaterialInstance.SetVectorParameterValue
SetVectorStartTime
This sets how long after the MITV has been spawned to start "ticking" the named Scalar InterpCurve *