Always snap to grid

UE3:MaterialInstanceTimeVarying (UDK)

From Unreal Wiki, The Unreal Engine Documentation Site
Jump to: navigation, search
UDK Object >> Surface >> MaterialInterface >> MaterialInstance >> MaterialInstanceTimeVarying
Package: 
Engine
This class in other games:
UT3

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[edit]

Property group 'MaterialInstanceTimeVarying'[edit]

bAutoActivateAll[edit]

Type: bool

causes all parameters to start playing immediately *

FontParameterValues[edit]

Type: array<FontParameterValueOverTime>

Modifiers: const


ScalarParameterValues[edit]

Type: array<ScalarParameterValueOverTime>

Modifiers: const


TextureParameterValues[edit]

Type: array<TextureParameterValueOverTime>

Modifiers: const


VectorParameterValues[edit]

Type: array<VectorParameterValueOverTime>

Modifiers: const


Internal variables[edit]

Duration[edit]

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[edit]

FontParameterValueOverTime[edit]

Extends: ParameterValueOverTime

Modifiers: native

Font FontValue 
int FontPage 

ParameterValueOverTime[edit]

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[edit]

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[edit]

Extends: ParameterValueOverTime

Modifiers: native

Texture ParameterValue 

VectorParameterValueOverTime[edit]

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[edit]

ClearParameterValues[edit]

native function ClearParameterValues ()

Overrides: MaterialInstance.ClearParameterValues

Removes all parameter values

GetMaxDurationFromAllParameters[edit]

native function float 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[edit]

native function SetDuration (float Value)

This sets how long the MITV will be around (i.e. this MITV is owned by a decal which lasts N seconds) *

SetFontParameterValue[edit]

native function SetFontParameterValue (name ParameterName, Font FontValue, int FontPage)

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[edit]

native function SetParent (MaterialInterface NewParent)

Overrides: MaterialInstance.SetParent


SetScalarCurveParameterValue[edit]

native function SetScalarCurveParameterValue (name ParameterName, const out Object.InterpCurveFloat Value)

Overrides: MaterialInstance.SetScalarCurveParameterValue


SetScalarParameterValue[edit]

native function SetScalarParameterValue (name ParameterName, float Value)

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[edit]

native function SetScalarStartTime (name ParameterName, float Value)

This sets how long after the MITV has been spawned to start "ticking" the named Scalar InterpCurve *

SetTextureParameterValue[edit]

native function SetTextureParameterValue (name ParameterName, Texture Value)

Overrides: MaterialInstance.SetTextureParameterValue


SetVectorCurveParameterValue[edit]

native function SetVectorCurveParameterValue (name ParameterName, const out Object.InterpCurveVector Value)


SetVectorParameterValue[edit]

native function SetVectorParameterValue (name ParameterName, const out Object.LinearColor Value)

Overrides: MaterialInstance.SetVectorParameterValue


SetVectorStartTime[edit]

native function SetVectorStartTime (name ParameterName, float Value)

This sets how long after the MITV has been spawned to start "ticking" the named Scalar InterpCurve *