UE3:MaterialInstanceTimeVarying (UT3)

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

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

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


Structs

FontParameterValueOverTime

Extends: ParameterValueOverTime

Modifiers: native

Font FontValue
int FontPage

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 *

Default values:

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

native function ClearParameterValues ()

Overrides: MaterialInstance.ClearParameterValues

Removes all parameter values

SetFontParameterValue

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

native function SetParent (MaterialInterface NewParent)

Overrides: MaterialInstance.SetParent


SetScalarCurveParameterValue

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

Overrides: MaterialInstance.SetScalarCurveParameterValue


SetScalarParameterValue

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

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

native function SetTextureParameterValue (name ParameterName, Texture Value)

Overrides: MaterialInstance.SetTextureParameterValue


SetVectorCurveParameterValue

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


SetVectorParameterValue

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

Overrides: MaterialInstance.SetVectorParameterValue


SetVectorStartTime

native function SetVectorStartTime (name ParameterName, float Value)

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