Zh/Env projectedtexture: Difference between revisions

From Valve Developer Community
< Zh
Jump to navigation Jump to search
No edit summary
No edit summary
Line 3: Line 3:
[[File:Global_shadow_mapping.jpg|thumb|[[Portal 2]] 将其广泛运用于世界照明。]]
[[File:Global_shadow_mapping.jpg|thumb|[[Portal 2]] 将其广泛运用于世界照明。]]
{{point_ent:zh|env_projectedtexture|since=Half-Life 2: Episode One}} 它投射一个[[texture|材质]]作为一个动态光源,可以影响这个世界上所有的对象。可选参见[[Wikipedia:Shadow mapping|Shadow Mapping]].
{{point_ent:zh|env_projectedtexture|since=Half-Life 2: Episode One}} 它投射一个[[texture|材质]]作为一个动态光源,可以影响这个世界上所有的对象。可选参见[[Wikipedia:Shadow mapping|Shadow Mapping]].
 
{{注意|求生之路不起作用(或许某些其他游戏也无效,不过实际有效果),因为valve仅允许一个projectedtexture在地图上,而这一个正好是玩家的手电筒那么hammer放置的此实体被排斥即失败,没有意义。}}
{{code class:zh|CEnvProjectedTexture|env_projectedtexture.cpp}}
{{code class:zh|CEnvProjectedTexture|env_projectedtexture.cpp}}


Line 30: Line 30:
{{bug|Causes issues if the entity overlaps a portal in [[Portal|Portal 1]]. Simply the projection overlapping a portal works fine.}}
{{bug|Causes issues if the entity overlaps a portal in [[Portal|Portal 1]]. Simply the projection overlapping a portal works fine.}}


==Flags==
==标签/Flags==
*1: Enabled -启用
*1: Enabled -启用
*2: Always Update (moving light) {{AS add}}
*2: Always Update (moving light) {{AS add}} - 实时更新(移动的光源)


==Keyvalues==
==键值==
{{KV|Target (target)|targetname|The entity will rotate to point at this target. Make sure you check the ''Always update'' flag if you set this.}}
{{KV|Target (target)|targetname|跟着目标移动,确保勾选 ''Always update''}}
{{KV|FOV (lightfov)|float|The field of view cone/pyramid at which the texture is projected.
{{KV|FOV (lightfov)|float|投射的fov范围


{{confirm|This keyvalue does not work in Alien Swarm.}}}}
{{confirm|无效,在Alien Swarm.}}}}
{{KV|NearZ (nearz)|float|Objects closer than this will not receive the light from the projection.}}
{{KV|NearZ (nearz)|float|比此距离近的物体不接收投射。}}
{{KV|FarZ (farz)|float|Objects beyond this distance will not receive the light from the projection.}}
{{KV|FarZ (farz)|float|同上,但是比此距离远。}}
{{KV|Enable Shadows (enableshadows)|boolean|Enables/disables shadows from this projected texture. 0 {{=}} no, 1 {{=}} yes.}}
{{KV|Enable Shadows (enableshadows)|boolean|投射出来的阴影是否开启。. 0 {{=}} no, 1 {{=}} yes.}}
{{KV|Shadow Quality (shadowquality)|Choices|Quality of shadows.
{{KV|Shadow Quality (shadowquality)|Choices|阴影质量
:*0: Low (sharp, pixelized shadows)
:*0: Low (sharp, pixelized shadows)
:*1: High (smooth edged shadows)}}
:*1: High (smooth edged shadows) }}
{{KV|Light Only Target (lightonlytarget)|boolean|Limit flashlight effect to only affect target entity.}}
{{KV|Light Only Target (lightonlytarget)|boolean|只有目标才行收到效果.}}
{{KV|Light World (lightworld)|boolean|Control whether flashlight affects static world geometry. 0 {{=}} no, 1 {{=}} yes.}}
{{KV|Light World (lightworld)|boolean|是否影响世界上的静态几何. 0 {{=}} no, 1 {{=}} yes.}}
{{KV|Light Color (lightcolor)|color255 + int|RGB light color and intensity}}
{{KV|Light Color (lightcolor)|color255 + int|颜色与强度}}
{{KV|Camera Space (cameraspace)|integer|Angles are interpreted as being relative to camera.}}
{{KV|Camera Space (cameraspace)|integer|角度,对于摄像机.}}
{{KV|Texture Name (texturename)|string|nofgd=1|The [[texture]] or [[material]] which this entity projects. Must be a [[VTF]] file (not VMT), relative to <code>/materials</code>.}}
{{KV|Texture Name (texturename)|string|nofgd=1|材质名称,hammer不存在此键值。The [[texture]] or [[material]] which this entity projects. Must be a [[VTF]] file (not VMT), relative to <code>/materials</code>.}}
{{KV|Texture Frame (textureframe)|int|nofgd=1|If the texture is animated, this is the frame it should begin on.}}
{{KV|Texture Frame (textureframe)|int|nofgd=1|材质帧数,如果是动态材质才行,hammer不存在此键值。If the texture is animated, this is the frame it should begin on.}}
{{KV|Simple Projection (simpleprojection)|since=AS|nofgd=1|boolean|Indicates if this is a simple, non-light casting texture projection.}}
{{KV|Simple Projection (simpleprojection)|since=AS|nofgd=1|boolean|Indicates if this is a simple, non-light casting texture projection.}}
{{KV|Simple Projection Size (projection_size)|since=AS|nofgd=1|float|}}
{{KV|Simple Projection Size (projection_size)|since=AS|nofgd=1|float|}}
Line 62: Line 62:
{{KV BaseEntity|css=1}}
{{KV BaseEntity|css=1}}


==Inputs==
==输出==
{{note|In some [[FGD]]s, only <code>TurnOn</code>, <code>TurnOff</code> and <code>FOV</code> are present.}}
{{note|In some [[FGD]]s, only <code>TurnOn</code>, <code>TurnOff</code> and <code>FOV</code> are present.在一些hammer内只有TurnOn,TurnOff和FOV3个输出被显示了。}}
{{IO|TurnOn|Turns on the texture.}}
{{IO|TurnOn|开启。}}
{{IO|TurnOff|Turns off the texture.}}
{{IO|TurnOff|关闭}}
{{IO|FOV|param=float|Sets '''FOV'''.}}
{{IO|FOV|param=float|设置 '''FOV'''.}}
{{IO|EnableShadows|param=bool|Set the if shadows are enabled. 0 {{=}} no, 1 {{=}} yes.}}
{{IO|EnableShadows|param=bool|设置是否显示阴影 0 {{=}} no, 1 {{=}} yes.}}
{{IO|SpotlightTexture|param=string|Sets the spotlight texture.}}
{{IO|SpotlightTexture|param=string|设置射灯材质.}}
{{IO|Target|param=string|Specify a new '''Target''' entity to point at.}}
{{IO|Target|param=string|指定一个新的 '''目标实体''' .}}
{{IO|CameraSpace|param=boolean|Sets '''Camera Space'''.}}
{{IO|CameraSpace|param=boolean|设置 '''Camera Space'''.}}
{{IO|LightOnlyTarget|param=boolean|Sets '''Light Only Target'''.
{{IO|LightOnlyTarget|param=boolean|设置 '''Light Only Target'''.


:{{bug|Non-functional.}}}}
:{{bug|Non-functional.无效}}}}
{{IO|LightWorld|param=int|Sets '''Light World'''. 0 {{=}} no, 1 {{=}} yes.}}
{{IO|LightWorld|param=int|设置 '''Light World'''. 0 {{=}} no, 1 {{=}} yes.}}
{{IO|AlwaysUpdateOn|since=AS|Turn on per frame updating (for moving lights).}}
{{IO|AlwaysUpdateOn|since=AS|Turn on per frame updating (for moving lights).}}
{{IO|AlwaysUpdateOff|since=AS|Turn off per frame updating (for moving lights).}}
{{IO|AlwaysUpdateOff|since=AS|Turn off per frame updating (for moving lights).}}
{{IO|LightColor|since=AS|param=color255|Change the '''Light Color'''.}}
{{IO|LightColor|since=AS|param=color255|Change the '''Light Color'''.}}
{{IO|SetLightStyle|param=integer|since=P2|Sets an '''Appearance'''. (see Appearance keyvalue above for possible values)}}
{{IO|SetLightStyle|param=integer|since=P2|设置 an '''Appearance'''. (see Appearance keyvalue above for possible values)}}
{{IO|SetPattern|Sets '''Custom Appearance'''. (see Custom Appearance keyvalue above)|param=string|since=P2}}
{{IO|SetPattern|设置 '''Custom Appearance'''. (see Custom Appearance keyvalue above)|param=string|since=P2}}
{{IO|SetNearZ|Sets '''NearZ'''.|param=float|since=P2}}
{{IO|SetNearZ|设置 '''NearZ'''.|param=float|since=P2}}
{{IO|SetFarZ|Sets '''FarZ'''.|param=float|since=P2}}
{{IO|SetFarZ|设置 '''FarZ'''.|param=float|since=P2}}
{{I BaseEntity}}
{{I BaseEntity}}


==Outputs==
==输出==
{{O BaseEntity|l4d=1}}
{{O BaseEntity:zh|l4d=1}}


[[Category:Lighting]]
[[Category:Lighting]]

Revision as of 08:36, 16 October 2019

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输入时响应此输出。