Material modify control: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
No edit summary
No edit summary
Line 22: Line 22:
{{ModernNote|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}}
==See Also==
*{{ent|env_texturetoggle}}


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

Revision as of 04:52, 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.