I don't need to test my programs. I have an error-correcting modem.

UE3:MaterialInstanceTimeVarying (UT3)

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

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
void UMaterialEditorInstanceTimeVarying::CopyToSourceInstance()
   template< typename MI_TYPE, typename ARRAY_TYPE >    (this copies
   void UpdateParameterValueOverTimeValues(
void UMaterialEditorInstanceTimeVarying::RegenerateArrays()
the various void UMaterialInstanceTimeVarying::Set   (to set the defaul values)
static void UpdateMICResources(UMaterialInstanceTimeVarying* Instance)   (to send the data over to the rendering thread (if it needs it)

Copyright 1998-2007 Epic Games, Inc. All Rights Reserved.

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


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 *

Default values:

Property Value
bAutoActivate False
bLoop False
bNormalizeTime False
CycleTime 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

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, 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, Object.InterpCurveVector Value)


SetVectorParameterValue[edit]

native function SetVectorParameterValue (name ParameterName, 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 *