User:Yakumo koishi/env projectedtexture:zh-cn: Difference between revisions
Jump to navigation
Jump to search
Note:在Gmod中,可以同时有9个启用的
mNo edit summary |
mNo edit summary |
||
Line 10: | Line 10: | ||
{{code class:zh-cn|CEnvProjectedTexture|env_projectedtexture.cpp}} | {{code class:zh-cn|CEnvProjectedTexture|env_projectedtexture.cpp}} | ||
== | ==注意事项与Bug修复== | ||
{{main|Env_projectedtexture/fixes}} | {{main:zh-cn|Env_projectedtexture/fixes}} | ||
* | *V社的游戏仅支持在同一时间内在[[PVS]]里渲染一个阴影贴图 | ||
: {{warning|{{csgo}} | : {{note:zh-cn|自{{ep2}},玩家的手电筒也是阴影贴图}} | ||
: {{fix| | : {{warning|在{{csgo}}中,无论阴影质量设置如何,都只能在地图内使用一个投射纹理}} | ||
* | : {{fix|可以[[Env_projectedtexture/fixes#Enabling_multiple_shadow_maps.|遵循该教程]]修改/删除此限制。}} | ||
{{note| | *被投射的纹理需要勾选Clamp S, Clamp T and Clamp All选项,以避免突兀的平铺。以及,投射纹理是直接使用[[VTF]]的,不需要[[VMT]] | ||
{{note|{{P2CE}} | {{note|在[[Garry's Mod|Gmod]]中,可以同时有9个启用的<code>env_projectedtexture</code>s。你还可以在启动参数中添加<code>-numshadowtextures #</code>以提高上限。 # 是游戏应允许的阴影贴图数量。}} | ||
{{note| | {{note|{{P2CE}}将此上限提高到了8}} | ||
* | {{note|在{{Mapbase}}里,你可以同时使用4个投射纹理。 这个上限可以通过启动参数<code>-numshadowtextures #</code>或者gameinfo.txt中的<code>CommandLine</code>部分来增加。}} | ||
* {{note| | *仅当玩家的阴影质量设置为“高”时才能显示投射纹理。如果您的阴影质量设置里不显示这一选项,你可以在游戏的启动参数里添加<code>-force_vendor_id 0x10DE -force_device_id 0x1180<、code>来强制显示 | ||
* | * {{note|在{{csgo}}里,<code>env_projectedtexture</code>产生的阴影在阴影质量设置为“低”时显示}} | ||
*[[Viewmodel]] | *在多人游戏里,<code>mat_supportflashlight</code>必须被设置为1才能让手电筒正常工作,在[[Team Fortress 2|TF2]]中,这个[[Cvar|指令]]默认被禁用,故没有特殊修改的话,该实体无法在TF2中使用 | ||
*[[Viewmodel|手臂模型]]不会接收来自投射纹理的任何光照和阴影,除了[[Garry's mod|Gmod]]和[[Portal 2|传送门2]]您可以[[env_projectedtexture/fixes#Enabling shadow receiving on the view model|按照该教程]]修复这个Bug。 | |||
{{bug|In Portal 2, some Nvidia graphics cards render white specks or squares on certain textures. To fix this, remove the bumpmap ({{ent|$bumpmap}} or {{ent|$ssbump}}) or {{ent|$detail}} textures.}} | {{bug|In Portal 2, some Nvidia graphics cards render white specks or squares on certain textures. To fix this, remove the bumpmap ({{ent|$bumpmap}} or {{ent|$ssbump}}) or {{ent|$detail}} textures.}} | ||
: [https://www.youtube.com/watch?v=PJ1mnJHln5Q Video of said bug.] | : [https://www.youtube.com/watch?v=PJ1mnJHln5Q Video of said bug.] |
Revision as of 16:44, 24 December 2021


传送门2大量使用投射纹理作为地图光照
env_projectedtexture(投射纹理)
是一个存在于所有的 Source 游戏自从 Template:Name=Half-Life 2: Episode One 以来的点实体。它投射一个纹理作为一个动态光源,可以影响地图内所有的物体。还可以选择使用阴影贴图。 投射纹理不像其他光照实体的光照一样是预先生成的,这种光是在游戏内实时计算的,地图本身不需要经过VRAD处理就可以使用。
Todo: 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
。
注意事项与Bug修复
- V社的游戏仅支持在同一时间内在PVS里渲染一个阴影贴图
- Template:Note:zh-cn
Fix:可以遵循该教程修改/删除此限制。

env_projectedtexture
s。你还可以在启动参数中添加-numshadowtextures #
以提高上限。 # 是游戏应允许的阴影贴图数量。- 仅当玩家的阴影质量设置为“高”时才能显示投射纹理。如果您的阴影质量设置里不显示这一选项,你可以在游戏的启动参数里添加
-force_vendor_id 0x10DE -force_device_id 0x1180<、code>来强制显示
- 在多人游戏里,
mat_supportflashlight
必须被设置为1才能让手电筒正常工作,在TF2中,这个指令默认被禁用,故没有特殊修改的话,该实体无法在TF2中使用 - 手臂模型不会接收来自投射纹理的任何光照和阴影,除了Gmod和传送门2您可以按照该教程修复这个Bug。
Bug:In Portal 2, while running in DirectX 9 mode, some graphics cards will not render shadows from env_projectedtexture
regardless of the shadow detail setting. To fix this, run the game in Vulkan mode with the launch parameter -vulkan
. [todo tested in ?]
Bug:Parenting does not work with stock SDK code. [todo tested in ?]
Code Fix:This bug is fixable by following these instructions: Env_projectedtexture/fixes#Fixing Parenting.
Bug:
No smooth transition between this light and env_cascade_light. [todo tested in ?]
Source 2007/2009 bugs
These have all been fixed in more recent engine builds.
Code Fix:You can fix this issue by following these instructions: Env_projectedtexture/fixes#Fix_configurable_texture_value_in_Hammer.
Note: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."
Bug:The entity cannot target another entity. [todo tested in ?]
Code Fix:This bug is fixable by following these instructions: env_projectedtexture/fixes#Fixing targeting.
Flags
- 1: Enabled
- 2: Always Update (moving light)Template:AS addTemplate:Mapbase also
Keyvalues
- Target (target) <targetname>
- The entity will rotate to point at this target. Make sure you check the Always update flag if you set this.
- FOV (lightfov) <float>
- The field of view cone/pyramid at which the texture is projected.
Confirm:This keyvalue does not work in Alien Swarm.
- NearZ (nearz) <float>
- Objects closer than this will not receive the light from the projection.
- FarZ (farz) <float>
- Objects beyond this distance will not receive the light from the projection.
- Enable Shadows (enableshadows) <boolean>
- Enables/disables shadows from this projected texture. 0 = no, 1 = yes.
- Shadow Quality (shadowquality) <choices>
- Quality of shadows.
- 0: Low (sharp, pixelized shadows)
- 1: High (smooth edged shadows)
- Light Only Target (lightonlytarget) <boolean>
- Limit flashlight effect to only affect target entity.
- Light World (lightworld) <boolean>
- Control whether flashlight affects static world geometry. 0 = no, 1 = yes.
- Camera Space (cameraspace) <integer>
- Angles are interpreted as being relative to camera.
- Appearance (style) <choices> (in all games since
) (also in
)
- Various Custom Appearance presets.
Note:Requires input AlwaysUpdateOn
to work.
- Enable Volumetrics (volumetric) <boolean> (only in
)
- Whether or not to use volumetrics for this projected texture.
- Volumetric Intensity (volumetricintensity) <float> (only in
)
- Defines the intensity of the volumetrics. (Default is 1. Can go above; no strict limit)
Inputs
Note:In some FGDs, only TurnOn
, TurnOff
and FOV
are present.
- TurnOn
- Turns on the texture.
Confirm:In gmod projected lights always start on even when "enabled" is not checked.
- TurnOff
- Turns off the texture.
- FOV <float>
- Sets FOV.
- EnableShadows <boolean>
- Set the if shadows are enabled. 0 = no, 1 = yes.
- SpotlightTexture <string>
- Sets the spotlight texture.
- Target <string>
- Specify a new Target entity to point at.
- CameraSpace <boolean>
- Sets Camera Space.
- LightOnlyTarget <boolean>
- Sets Light Only Target.
- LightWorld <integer>
- Sets Light World. 0 = no, 1 = yes.
- AlwaysUpdateOn (in all games since
) (also in
)
- Turn on per frame updating (for moving lights).
- AlwaysUpdateOff (in all games since
) (also in
)
- Turn off per frame updating (for moving lights).
- SetBrightness <float> (only in
)
- Sets the brightness.
- EnableVolumetrics <boolean> (only in
)
- Enables or disables volumetrics.
- SetVolumetricIntensity <float> (only in
)
- Sets the intensity of the volumetrics. (Default is 1. Can go above; no strict limit)
- SetBrightnessScale <float> (only in
)
- Sets the brightness.
Outputs