材质编译标志
< Zh
		
		
		
		Jump to navigation
		Jump to search
		存在多个以%符号而非$开头的特殊[[Zh/
- Category:List of Shader Parameters|着色器参数]]。这些参数被编译工具读取以改变其所附着面或笔刷的属性。大多数用于生成特殊的tools/纹理,但也可用于其他材质。
除特别说明外,大多数标志都是布尔属性。
详见工具纹理了解各材质属性的详细信息。
 示例:
示例:LightmappedGeneric
{
 $basetexture developer/custom_clip
  %compileclip 1
}
 注意:与着色器参数一样,编译标志的名称不区分大小写:%compileclip 1和%CompileClip 1效果相同。
注意:与着色器参数一样,编译标志的名称不区分大小写:%compileclip 1和%CompileClip 1效果相同。 注意:这些标志关联着存储在BSP中并可存入VMF的内容和表面标志;详见BSP标志。
注意:这些标志关联着存储在BSP中并可存入VMF的内容和表面标志;详见BSP标志。待完善: DeathByNuke的VBSP包含
%CompileChopLow、%CompileChopHigh和%CompileChopAll,这些参数影响笔刷面接触其他笔刷面时的分割方式;需补充说明。待完善: 需单独页面说明起源引擎2的VMAT属性,这是编译标志的继承者。
独占标志
每个材质只能设置下列标志中的一个。
除非可用性栏特别说明,否则所有标志在所有起源引擎分支中都可用。
裁剪类
| VMT标志 | BSP标志分配 | 出现于VMT | 可用性 | 描述 | 
|---|---|---|---|---|
| %CompileClip | CONTENTS_PLAYERCLIP CONTENTS_MONSTERCLIP SURF_NODRAW SURF_NOLIGHT 移除 SURF_BUMPLIGHT | toolsclip | 使笔刷仅阻挡玩家和NPC。等效于%PlayerClip和%CompileNPCClip的组合。 | |
| %CompileNPCClip | CONTENTS_MONSTERCLIP SURF_NODRAW SURF_NOLIGHT 移除 SURF_BUMPLIGHT | toolsnpcclip | 使笔刷仅阻挡NPC。隐含NoLight和NoDraw。 | |
| %PlayerClip | CONTENTS_PLAYERCLIP SURF_NODRAW SURF_NOLIGHT 移除 SURF_BUMPLIGHT | toolsplayerclip | 使笔刷仅阻挡玩家。 | |
| %CompilePlayerControlClip | CONTENTS_DETAIL CONTENTS_MIST SURF_NODRAW SURF_NOLIGHT 移除 SURF_BUMPLIGHT | toolscontrolclip |   | 不确定原设计用途。常见与func_vehicleclip配合使用。 材质还使用 $surfaceprop player_control_clip。 | 
| %CompileGrenadeClip | CONTENTS_DETAIL CONTENTS_GRENADECLIP SURF_NODRAW SURF_NOLIGHT 移除 SURF_BUMPLIGHT | toolsgrenadeclip |   | 使笔刷仅阻挡手榴弹。 | 
| %CompileDroneClip |  证实:可能类似%CompileGrenadeClip,但使用CONTENTS_DRONECLIP替代CONTENTS_GRENADECLIP。 | toolsdroneclip | (存在于自   以来) | 使笔刷仅阻挡无人机。 | 
| %TeamClip |  证实:可能同%PlayerClip,但增加CONTENTS_TEAM1或CONTENTS_TEAM2。 | toolsplayerclip_teamone toolsplayerclip_teamtwo | (仅存在于  [证实]  之中) | 使笔刷仅阻挡特定队伍。与其他编译参数不同,这不是布尔值,而是取值为1或2的整数。 | 
其他
| VMT标志 | BSP标志分配 | 出现于VMT | 可用性 | 描述 | 
|---|---|---|---|---|
| %Compile2DSky | SURF_SKY SURF_SKY2D SURF_NOLIGHT 移除 SURF_BUMPLIGHT | toolsskybox2d | 使表面仅渲染2D天空盒,同时发射light_environment光照。 | |
| %CompileFog | none | ToolsFog | None | 可能是废弃标志,目前未发现实用价值。 | 
| %CompileHint | SURF_NODRAW SURF_NOLIGHT SURF_HINT 移除 SURF_BUMPLIGHT | toolshint | 使表面提示切割可视区域。隐含NoLight和NoDraw。 | |
| %CompileNoChop | SURF_NOCHOP | 阻止为光照贴图细分表面("切割")。也影响表面转换为三角形的方式。使用此参数的笔刷面将被限制为31x31 luxels。 | ||
| %CompileNoLight | SURF_NOLIGHT 移除 SURF_BUMPLIGHT | nolight |   | 禁用笔刷面的光照贴图生成。适用于不需要光照信息或始终不可见的材质。水材质上禁用此功能。UnlitGeneric材质无需此参数。  重要:在  Hammer++光照预览中无效  重要:与%compileWater不兼容 | 
| %CompileNoShadows | SURF_NOSHADOWS | (仅存在于  之中) | 阻止动态阴影投射到表面。 | |
| %CompileOrigin | CONTENTS_ORIGIN CONTENTS_DETAIL SURF_NODRAW SURF_NOLIGHT 移除 SURF_BUMPLIGHT | toolsorigin | [  已弃用] 设置笔刷实体的原点( origin键值),用于旋转等目的。继承自  的ORIGIN。仍有效但不再必要,因为VBSP已支持 origin键值且可在 Hammer 4.x中直接可视化。 | |
| %CompileSkip | SURF_NODRAW SURF_NOLIGHT SURF_SKIP 移除 SURF_BUMPLIGHT | toolsskip | 编译时移除表面,将笔刷转为平面集合。 | |
| %CompileSky | SURF_SKY SURF_NOLIGHT 移除 SURF_BUMPLIGHT | toolsskybox | 使表面渲染(2D/3D)天空盒并发射light_environment光照。 | |
| %CompileTrigger | SURF_NOLIGHT SURF_TRIGGER 移除 SURF_BUMPLIGHT | toolstrigger | 使笔刷适用于触发器。隐含 %CompileNoLight。若使用-nodrawtriggers,还会分配SURF_NODRAW。 | 
叠加标志
除非已设置上述独占标志,否则可对同一材质应用多个下列标志。
除非可用性栏特别说明,否则所有标志在所有起源引擎分支中都可用。
| VMT标志 | BSP标志分配 | 出现于VMT | 可用性 | 描述 | 
|---|---|---|---|---|
| %CompileBlockLOS | CONTENTS_BLOCKLOS | toolsblocklos | 使笔刷仅阻挡NPC的视线。  注意:在  中对机器人也有效。 | |
| %CompileDetail | CONTENTS_DETAIL | 强制笔刷不再切割可视区域,类似func_detail。 | ||
| %CompileInvisible | CONTENTS_GRATE SURF_NODRAW SURF_NOLIGHT 移除 CONTENTS_SOLID 移除 SURF_BUMPLIGHT | toolsinvisible | %CompileNoDraw+%CompilePassBullets的快捷方式。 | |
| %CompileKeepLight | none | 指示编译器不设置SURF_NOLIGHT: 1. 当使用 | ||
| %CompileLadder | CONTENTS_LADDER | toolsladder | 使笔刷可作为梯子使用,无需绑定到func_ladder。 可应用于任何材质,如 metal/metalladder.vmt创建无需模型的简易梯子。也可添加%compilenodraw使其不可见。 | |
| %CompileNoDraw | SURF_NODRAW SURF_NOLIGHT 移除 SURF_BUMPLIGHT | toolsnodraw | 使笔刷行为类似 tools/toolsnodraw。 | |
| %CompileNonSolid | CONTENTS_OPAQUE 移除 CONTENTS_SOLID | 使笔刷对所有物体非固体。笔刷所有面都必须设置%CompileNonSolid才能使笔刷非固体。 | ||
| %CompilePassBullets | CONTENTS_GRATE 移除 CONTENTS_SOLID | 使笔刷表现为栅格,允许子弹穿过但阻挡其他物体。适用于 foliage 或金属栅格。 | ||
| %CompileTeam | CONTENTS_TEAM1 或 CONTENTS_TEAM2 | climb_versus |    | 决定该工具纹理影响哪支队伍。与其他编译参数不同,这不是布尔值,而是取值为1或2的整数。 | 
| %CompileWater | CONTENTS_WATER SURF_WARP SURF_NOSHADOWS SURF_NODECALS 移除 CONTENTS_SOLID 移除 CONTENTS_DETAIL | 将笔刷标记为水类材质。使其非固体,允许游泳等。 | ||
| %CompileWet | SURF_WET |   | [  已弃用] 设置未使用的遗留  Quake II标志(最终被SURF_NOPORTAL取代);建议改用表面属性。 | |
| %CompileSlime | CONTENTS_SLIME SURF_NODECALS 移除 CONTENTS_SOLID 移除 CONTENTS_DETAIL | 同%CompileWater,但使用绿色溅射粒子。 | ||
| %HotSurface | SURF_NOPORTAL |  [证实] | ||
| %NoPortal | SURF_NOPORTAL | toolsblack_noportal |   |  使纹理不可传送,除非使用转换凝胶。 | 
| %NoPaint | SURF_NODECAL (别名 SURF_NOPAINT) |   | 使材质不能被凝胶喷涂。隐含 $nodecal。 | |
| %CompileStairs | [证实] | toolsstairs |   | 使笔刷可在63.4349488°坡度内通行(通常为45°)。 | 
其他%参数
少数其他"着色器参数"以%开头,但不属于"编译标志"。
| 键名 | 参数类型 | 可用性 | 描述 | 
|---|---|---|---|
| %tooltexture | 纹理 | 替代$basetexture用于: 
 | |
| %notooltexture | 布尔 | (不存在于  之中) | Hammer用此参数在纹理浏览器中隐藏材质。适用于无法正确作用于笔刷或位移的纹理。 | 
| %keywords | 字符串 | 用于帮助筛选Hammer纹理浏览器中的纹理。逗号分隔。 | |
| %alphatexture | 纹理 | (仅存在于  之中) | 用于投射纹理阴影而非$basetexture,即使未设置$alphatest和/或$translucent。 | 






























