Zh/Env texturetoggle: Difference between revisions
< Zh
Jump to navigation
Jump to search
(Created page with "{{subst:#if: Translation of 'Env texturetoggle' to '中文' via Template:LanguageBar buttons * * * * * * * * * * * * * * * * * * * * * * * * * * * *...") |
mNo edit summary |
||
(7 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
__NOTOC__ | __NOTOC__ | ||
{{LanguageBar}} | {{LanguageBar}} | ||
Line 15: | Line 4: | ||
{{CD|CTextureToggle|file1=env_texturetoggle.cpp}} | {{CD|CTextureToggle|file1=env_texturetoggle.cpp}} | ||
{{This is a|point entity|name=env_texturetoggle}} | {{This is a|point entity|name=env_texturetoggle}} | ||
它可以让你更改笔刷实体(brush entities)或覆盖层(overlays)的纹理。 | |||
{{clr}} | {{clr}} | ||
== | == 实体描述 == | ||
<syntaxhighlight lang=php style="float:right; background:none"> | <syntaxhighlight lang=php style="float:right; background:none"> | ||
LightmappedGeneric | LightmappedGeneric | ||
Line 32: | Line 21: | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
要使 <code>env_texturetoggle</code> 正常工作,你的 {{L|info_overlay|覆盖层(overlay)}} 或至少一个 {{L|brush|笔刷(brush)}} 面必须使用带有 <code>{{L|List Of Material Proxies#Entity integration|切换纹理代理}}</code> 的 {{L|VMT}} 材质,并且该代理需指向一个至少包含两帧的动画的 {{L|VTF}} 文件。 | |||
这样的 VMT 文件可以类似于右侧所示的示例。 | |||
{{Example| | {{Example| 假设我们有一个名为 <code>brush</code> 的笔刷实体(brush entity)和一个名为 <code>toggle</code> 的 env_texturetoggle(其目标笔刷(target brush)设为 <code>brush</code>),那么可以在 [[func_button]] 上使用以下任意一种输出(Output)来切换该 <code>笔刷(brush)</code> 的纹理。其中,第二和第三种输出的效果相同。}} | ||
:{| {{OutputsTable}} | :{| {{OutputsTable}} | ||
|+ ''' | |+ '''用于切换纹理的输入''' | ||
| [[File:io11.png]] || OnPressed || toggle || IncrementTextureIndex || || 0 || No | | [[File:io11.png]] || OnPressed || toggle || IncrementTextureIndex || || 0 || No | ||
|- | |- | ||
Line 44: | Line 33: | ||
|} | |} | ||
{{ | {{提示|如果一个笔刷(brush)包含多个含多帧的纹理,那么执行输出(output)时将会同时影响所有这些纹理。}} | ||
{{codenote| | {{codenote|可以通过代码使用 {{L|codelink|SetTextureFrameIndex()}} 函数来设置实体的纹理帧索引。}} | ||
{{bug|tested={{portal}}| | {{bug|tested={{portal}}|可见的未命名覆盖层(overlay)上相同的纹理也可能受到影响。}} | ||
== | == 键值 == | ||
{{KV Targetname}} | {{KV Targetname}} | ||
{{KV|Target Brush(es)|intn= | {{KV|Target Brush(es)|intn=目标|target_destination| {{L|brush entity|笔刷实体(brush entity)}} 或 {{L|overlay|覆盖层(overlays)}}的名称。所有所有匹配该目标名称(targetname)的实体(包括精灵/sprites)上的 <code>ToggleTexture</code> 材质都将受到影响。}} | ||
== | == 输入 == | ||
{{I|IncrementTextureIndex|param= | {{I|IncrementTextureIndex|param=无效|将目标笔刷的当前纹理帧索引值递增 1(即切换至''下一帧''纹理)。}} | ||
{{I|SetTextureIndex|param= | {{I|SetTextureIndex|param=整数|将目标笔刷(brush)的纹理帧索引设置为指定数值。}} | ||
:{{note| | :{{note|该参数虽然接收整型数值,但会直接写入无符号字符型 {{L|byte|无符号字符型}} 变量且不做边界检查。若数值超过255或小于0,将发生 {{w|Integer overflow|溢出}}。}} | ||
== | == 另请参阅 == | ||
* {{ | * {{L|material_modify_control|材料修改控制}} | ||
{{ACategory|Source base entities}} |
Latest revision as of 20:18, 22 July 2025

![]() |
---|
CTextureToggle |
![]() |
env_texturetoggle
是一个点实体 ,可在所有的 起源 游戏中使用。
它可以让你更改笔刷实体(brush entities)或覆盖层(overlays)的纹理。
实体描述
LightmappedGeneric
{
$basetexture "path/to/a/VTF/file/with/multiple/frames"
Proxies
{
ToggleTexture
{
ToggleTextureVar $basetexture
ToggleTextureFrameNumVar $frame
}
}
}
要使 env_texturetoggle
正常工作,你的 覆盖层(overlay) 或至少一个 笔刷(brush) 面必须使用带有 切换纹理代理
的 VMT 材质,并且该代理需指向一个至少包含两帧的动画的 VTF 文件。
这样的 VMT 文件可以类似于右侧所示的示例。

brush
的笔刷实体(brush entity)和一个名为 toggle
的 env_texturetoggle(其目标笔刷(target brush)设为 brush
),那么可以在 func_button 上使用以下任意一种输出(Output)来切换该 笔刷(brush)
的纹理。其中,第二和第三种输出的效果相同。My Output Target Entity Target Input Parameter Delay Only Once 用于切换纹理的输入 OnPressed toggle IncrementTextureIndex 0 No OnPressed toggle SetTextureIndex <n> 0 No


键值
- Name (目标名称) <target_source>[ Edit ]
- 这个名称是其他实体通过 输入/输出 或其他 关键值 (如
parentname
或target
) 来引用该实体时使用的标识符。
该名称也会显示在 Hammer 编辑器的 2D 视图和 实体报告 中。参见: 所有实体均可使用的 通用键值、输入与输出
- Target Brush(es) (目标) <target_destination>
- 笔刷实体(brush entity) 或 覆盖层(overlays) 的名称。所有所有匹配该目标名称(targetname)的实体(包括精灵/sprites)上的
ToggleTexture
材质都将受到影响。
输入
- IncrementTextureIndex <无效 >
- 将目标笔刷的当前纹理帧索引值递增 1(即切换至下一帧纹理)。
- SetTextureIndex <整数 >
- 将目标笔刷(brush)的纹理帧索引设置为指定数值。