Material modify control: Difference between revisions
Jump to navigation
Jump to search

URAKOLOUY5 (talk | contribs) No edit summary |
URAKOLOUY5 (talk | contribs) 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. | ||
{{ | {{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


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
ortarget
).
Also displayed in Hammer's 2D views and Entity Report.See also: Generic Keyvalues, Inputs and Outputs available to all entities
Inputs
- SetMaterialVar <string >
- Sets the chosen material parameter to the specified value.
- SetMaterialVarToCurrentTime
- This sets the material variable to the current time on the server.
- StartAnimSequence <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 <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.
Todo: There are some clarifications needed to be done about some quirks of this input.