I don't need to test my programs. I have an error-correcting modem.
UE3:MaterialInstanceTimeVarying (UDK)
Object >> Surface >> MaterialInterface >> MaterialInstance >> MaterialInstanceTimeVarying |
Contents
- 1 Properties
- 2 Structs
- 3 Native functions
- 3.1 ClearParameterValues
- 3.2 GetMaxDurationFromAllParameters
- 3.3 SetDuration
- 3.4 SetFontParameterValue
- 3.5 SetParent
- 3.6 SetScalarCurveParameterValue
- 3.7 SetScalarParameterValue
- 3.8 SetScalarStartTime
- 3.9 SetTextureParameterValue
- 3.10 SetVectorCurveParameterValue
- 3.11 SetVectorParameterValue
- 3.12 SetVectorStartTime
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[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
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]
Overrides: MaterialInstance.ClearParameterValues
Removes all parameter values
GetMaxDurationFromAllParameters[edit]
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]
This sets how long the MITV will be around (i.e. this MITV is owned by a decal which lasts N seconds) *
SetFontParameterValue[edit]
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]
Overrides: MaterialInstance.SetParent
SetScalarCurveParameterValue[edit]
Overrides: MaterialInstance.SetScalarCurveParameterValue
SetScalarParameterValue[edit]
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]
This sets how long after the MITV has been spawned to start "ticking" the named Scalar InterpCurve *
SetTextureParameterValue[edit]
Overrides: MaterialInstance.SetTextureParameterValue
SetVectorCurveParameterValue[edit]
SetVectorParameterValue[edit]
Overrides: MaterialInstance.SetVectorParameterValue
SetVectorStartTime[edit]
This sets how long after the MITV has been spawned to start "ticking" the named Scalar InterpCurve *