Env projectedtexture

From Valve Developer Community
< Zh
Revision as of 08:36, 16 October 2019 by 求生的兔 (talk | contribs)
Jump to navigation Jump to search
English (en)中文 (zh)Translate (Translate)
GMOD中一个投射一个多彩的材质的效果。
Portal 2 将其广泛运用于世界照明。

起源 env_projectedtexture是一个存在于所有的 起源 游戏自从 Template:Name=Half-Life 2: Episode One 以来的点实体。 它投射一个材质作为一个动态光源,可以影响这个世界上所有的对象。可选参见Shadow Mapping.

Template:注意

待完善: This template is currently using deprecated suf or {{Lang}}-based translations. Please use the main {{Code class}} instead, which uses {{Autolang}}.

在源代码中,它由 class CEnvProjectedTexture 代表,定义于 env_projectedtexture.cpp


注意事项

  • Valve's games only support one shadow map in the PVS at a time.
Note.png修复:It is possible to modify/remove this limit by following these instructions.
  • Textures used for projected textures require the flags Clamp S, Clamp T and Clamp All to avoid glitchy tiling. Also note, that VTFs are used directly and no VMT is needed.
Note.png注意:In Garry's Mod, there can be up to 9 active env_projectedtextures turned on with shadow mapping at a time. You can also increase this limit by putting -numshadowtextures # in the Steam launch parameters of Garry's Mod, where # is the number of shadow maps the game should allow.
  • Shadows are only rendered when the user is running with "High" shadow detail. If your options menu does not show the "High" shadow detail setting by default, you can add -force_vendor_id 0x10DE -force_device_id 0x1180 to the game's launch options for it to show up.
  • In multiplayer, mat_supportflashlight must be set to 1 for flashlights to work. By default these ConVars are disabled in Team Fortress 2, so this entity won't work there without special configuration.
  • Viewmodels won't receive light or shadows from projected textures. You can follow these instructions to fix this bug.
Icon-Bug.png错误:In Portal 2, some Nvidia graphics cards render white specks or squares on certain textures. To fix this, remove the bumpmap ($bumpmap or $ssbump) or $detail textures.  [todo tested in ?]
Video of said bug.
Icon-Bug.png错误:Parenting does not work with stock SDK code.  [todo tested in ?]
Cpp.png代码修复:This bug is fixable by following these instructions: Env_projectedtexture/fixes#Fixing Parenting.

Source 2007/2009 bugs

These have all been fixed in more recent engine builds.

Icon-Bug.png错误:The configurable texture value from Hammer is not accepted - will always default to the flashlight. You must use the SpotlightTexture input or you can also override the actual contents of the default VTF with a new one.  [todo tested in ?]
Cpp.png代码修复:You can fix this issue by following these instructions: Env_projectedtexture/fixes#Fix_configurable_texture_value_in_Hammer.
Note.png注意:The SpotlightTexture input has been disabled in the Portal 2 and CS:GO engines, and instead shows an error message: "SetSpotlightTexture is disabled. If you need this feature reimplemented, tell a programmer."
Icon-Bug.png错误:The entity cannot target another entity.  [todo tested in ?]
Cpp.png代码修复:This bug is fixable by following these instructions: env_projectedtexture/fixes#Fixing targeting.
Icon-Bug.png错误:Models will not receive their own shadows correctly unless using $bumpmap. Even a flat bump map is sufficient.  [todo tested in ?]
Icon-Bug.png错误:Causes issues if the entity overlaps a portal in Portal 1. Simply the projection overlapping a portal works fine.  [todo tested in ?]

标签/Flags

  • 1: Enabled -启用
  • 2: Always Update (moving light) Template:AS add - 实时更新(移动的光源)

键值

Target (target) ([todo internal name (i)]) <目标名(en)>
跟着目标移动,确保勾选 Always update
FOV (lightfov) ([todo internal name (i)]) <浮点型(en)>
投射的fov范围
证实:无效,在Alien Swarm.
NearZ (nearz) ([todo internal name (i)]) <浮点型(en)>
比此距离近的物体不接收投射。
FarZ (farz) ([todo internal name (i)]) <浮点型(en)>
同上,但是比此距离远。
Enable Shadows (enableshadows) ([todo internal name (i)]) <布尔值(en)>
投射出来的阴影是否开启。. 0 = no, 1 = yes.
Shadow Quality (shadowquality) ([todo internal name (i)]) <Choices(en)>
阴影质量
  • 0: Low (sharp, pixelized shadows) 低
  • 1: High (smooth edged shadows) 高
Light Only Target (lightonlytarget) ([todo internal name (i)]) <布尔值(en)>
只有目标才行收到效果.
Light World (lightworld) ([todo internal name (i)]) <布尔值(en)>
是否影响世界上的静态几何. 0 = no, 1 = yes.
Light Color (lightcolor) ([todo internal name (i)]) <color255(en) + 整数(en)>
颜色与强度
Camera Space (cameraspace) ([todo internal name (i)]) <整数(en)>
角度,对于摄像机.
Texture Name (texturename) ([todo internal name (i)]) <字符串(en)> 不存在于FGD!
材质名称,hammer不存在此键值。The texture or material which this entity projects. Must be a VTF file (not VMT), relative to /materials.
Texture Frame (textureframe) ([todo internal name (i)]) <整数(en)> 不存在于FGD!
材质帧数,如果是动态材质才行,hammer不存在此键值。If the texture is animated, this is the frame it should begin on.
Simple Projection (simpleprojection) ([todo internal name (i)]) <布尔值(en)> (存在于自 异形丛生 以来) 不存在于FGD!
Indicates if this is a simple, non-light casting texture projection.
Simple Projection Size (projection_size) ([todo internal name (i)]) <浮点型(en)> (存在于自 异形丛生 以来) 不存在于FGD!
Simple Projection Rotation (projection_rotation) ([todo internal name (i)]) <浮点型(en)> (存在于自 异形丛生 以来) 不存在于FGD!
Brightness Scale (brightnessscale) ([todo internal name (i)]) <浮点型(en)> (存在于自 异形丛生 以来)
Scale the light color by this brightness.
Color Transition Time (colortransitiontime) ([todo internal name (i)]) <浮点型(en)> (存在于自 异形丛生 以来)
Amount of time it takes for a color change to occur. Higher numbers cause faster transitions.
Appearance (style) ([todo internal name (i)]) <choices> (存在于自 传送门2 以来)
Various Custom Appearance presets.
Note.png注意:Requires AlwaysUpdateOn to work.

Template:Light appearances

Custom Appearance (pattern) ([todo internal name (i)]) <字符串(en)> (存在于自 传送门2 以来)
Set a custom pattern of light brightness for this light. Pattern format is a string of characters, where a is total darkness, z fully bright. i.e. aaggnnttzz would be a steppy fade in from dark to light.
Default Appearance (defaultstyle) ([todo internal name (i)]) <字符串(en)> (存在于自 传送门2 以来)


输出

Note.png注意:In some FGDs, only TurnOn, TurnOff and FOV are present.在一些hammer内只有TurnOn,TurnOff和FOV3个输出被显示了。
TurnOn
开启。
TurnOff
关闭
FOV <浮点型(en)>
设置 FOV.
EnableShadows <布尔值(en)>
设置是否显示阴影 0 = no, 1 = yes.
SpotlightTexture <字符串(en)>
设置射灯材质.
Target <字符串(en)>
指定一个新的 目标实体 .
CameraSpace <布尔值(en)>
设置 Camera Space.
LightOnlyTarget <布尔值(en)>
设置 Light Only Target.
Icon-Bug.png错误:Non-functional.无效  [todo tested in ?]
LightWorld <整数(en)>
设置 Light World. 0 = no, 1 = yes.
AlwaysUpdateOn  (存在于自 异形丛生 以来)
Turn on per frame updating (for moving lights).
AlwaysUpdateOff  (存在于自 异形丛生 以来)
Turn off per frame updating (for moving lights).
LightColor <color255(en)> (存在于自 异形丛生 以来)
Change the Light Color.
SetLightStyle <整数(en)> (存在于自 传送门2 以来)
设置 an Appearance. (see Appearance keyvalue above for possible values)
SetPattern <字符串(en)> (存在于自 传送门2 以来)
设置 Custom Appearance. (see Custom Appearance keyvalue above)
SetNearZ <浮点型(en)> (存在于自 传送门2 以来)
设置 NearZ.
SetFarZ <浮点型(en)> (存在于自 传送门2 以来)
设置 FarZ.


输出

Base/基础:

OnUser1 to OnUser4
这些输出将分别响应于 FireUser1FireUser4 输入。 详见 User Inputs and Outputs
OnKilled  (存在于 求生之路系列求生之路系列 之中)
当实体被Kill输入时响应此输出。