Material modify control: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
No edit summary
No edit summary
Line 20: Line 20:
{{IO|StartAnimSequence|Force an animated material with the <tt>MaterialModifyAnimated</tt> proxy to play a set of animation frames. <br/> Format is: <code><Frame Start> <Frame End> <Frame Rate> <Loop></code> <br/> <code><Loop></code> should be 1 or 0. {{ModernTip|Setting "Frame End" to -1 uses the last frame of the texture.}}|param=string}}
{{IO|StartAnimSequence|Force an animated material with the <tt>MaterialModifyAnimated</tt> proxy to play a set of animation frames. <br/> Format is: <code><Frame Start> <Frame End> <Frame Rate> <Loop></code> <br/> <code><Loop></code> should be 1 or 0. {{ModernTip|Setting "Frame End" to -1 uses the last frame of the texture.}}|param=string}}
{{IO|StartFloatLerp|Force a material with the <tt>MaterialModifyAnimated</tt> proxy to linearly interpolate a material var between two floating point values. <br/> Format is: <code><Start Value> <End Value> <Transition Time> <Loop></code> <br/> <code><Loop></code> should be 1 or 0.
{{IO|StartFloatLerp|Force a material with the <tt>MaterialModifyAnimated</tt> proxy to linearly interpolate a material var between two floating point values. <br/> Format is: <code><Start Value> <End Value> <Transition Time> <Loop></code> <br/> <code><Loop></code> should be 1 or 0.
{{note|For the linear interpolation to work correctly, you need both the <tt>MaterialModify</tt> and <tt>MaterialModifyAnimated</tt> proxies to be present.}}
{{ModernNote|For the linear interpolation to work correctly, you need both the <tt>MaterialModify</tt> and <tt>MaterialModifyAnimated</tt> proxies to be present.}}
{{todo|There are some clarifications needed to be done about some quirks of this input.}}|param=string}}
{{todo|There are some clarifications needed to be done about some quirks of this input.}}|param=string}}


[[Category:Material System]]
[[Category:Material System]]

Revision as of 04:50, 21 April 2023

English (en)Translate (Translate)

Template:Entity It is used to modify arbitrary material properties in response to I/O events.

For the entity to work, its target material must have the MaterialModify or MaterialModifyAnimated proxy installed, and must be applied to an entity.

Compare this with the env_texturetoggle entity, which can control brushes or overlays by targetname. Template:ModernBug Instances of the Material to Modify on world geometry are controlled by the lowest-ID (first created in Hammer) material_modify_control, in addition to instances of the material on the material_modify_control's parent.

Keyvalues

Material to modify (materialName) <string>
Path to the VMT file you want to modify, relative to materials/ folder. Without .vmt suffix.

Template:ModernBug Template:ModernBug

Material variable to modify (materialVar) <string>
Name of the shader parameter you want to modify. Include the $ symbol like how they are written in the VMT.
Name (targetname) <string>[ Edit ]
The name that other entities refer to this entity by, via Inputs/Outputs or other keyvalues (e.g. parentname or target).
Also displayed in Hammer's 2D views and Entity Report.
See also:  Generic Keyvalues, Inputs and Outputs available to all entities

Inputs

SetMaterialVar <stringRedirectInput/string>
Sets the chosen material parameter to the specified value.
SetMaterialVarToCurrentTime
This sets the material variable to the current time on the server.
StartAnimSequence <stringRedirectInput/string>
Force an animated material with the MaterialModifyAnimated proxy to play a set of animation frames.
Format is: <Frame Start> <Frame End> <Frame Rate> <Loop>
<Loop> should be 1 or 0. Template:ModernTip
StartFloatLerp <stringRedirectInput/string>
Force a material with the MaterialModifyAnimated proxy to linearly interpolate a material var between two floating point values.
Format is: <Start Value> <End Value> <Transition Time> <Loop>
<Loop> should be 1 or 0.

Template:ModernNote

Todo: There are some clarifications needed to be done about some quirks of this input.