Moderator elections are being held. See Valve Developer Community:Moderator elections for more details.
Users who would like to run for moderator must be autoconfirmed and have at least 100 edits. Users can check their own edit count at Special:Preferences.
这篇条目有关 Source引擎。如需详情,点击这里。

HDR光照设置

来自Valve Developer Community
跳转至: 导航搜索
English (en)中文 (zh)
编辑

译者:桃李果树(百度ID)

Note.png注意:此翻译仅供参考。本译文是翻译2009年1月8日 (四) 18:22修改的文章。请以最新修改日期的原文为准。

概述

本文解释了一些可用于HDR光照的高级技术。有关标准HDR方法的说明,请阅读HDR光照基础

添加一个自定义的env_tonemap_controller

使用logic_auto来设置env_tonemap_controller值。点击放大。

我们的示例地图还包含演示HDR效果的实体。第一个需要放置的实体是env_tonemap_controller English,该实体可以控制地图中的HDR设置,并允许我们覆盖默认的HDR值。继续并将其命名为tonemap

现在我们可以通过几种方法来触发这个实体,在这里我们展示了一个用于在进入地图时修改设置的logic_auto English实体。在env_tonemap_controller上的有用的输入是:

SetAutoExposureMax
设置曝光即将出现的最亮程度。
SetAutoExposureMin
设置曝光即将出现的最暗程度。
SetBloomScale
设置在地图上的光晕效果的比例。

重要提示

如果该地图使用env_tonemap_controller English,则不能直接使用用于更改HDR参数的控制台命令。相反,env_tonemap_controller实体输入必须被触发才能更改设置。这可以通过标准的输入与输出或者使用ent_fire命令来完成,其命令格式如下:

ent_fire <env_tonemap_controller name> <input name> <new value>

例如,如果env_tonemap_controller被命名为tonemap_global,则可以使用以下命令:

ent_fire tonemap_global SetBloomScale 3
ent_fire tonemap_global SetAutoExposureMax 6
ent_fire tonemap_global SetAutoExposureMin .8

添加可触发的env_tonemap_controller

你也可以使用触发器来设置env_tonemap_controller值。点击放大。

env_tonemap_controller English也可以用trigger_multiple English触发。在这里,我们看到一个触发器,当玩家进入房屋时会改变HDR值。先声明一下这只是单人游戏,因为如果这些数值发生变化,他们会在全局意义上影响所有玩家。

Note.png注意:由于env_tonemap_controller会影响所有客户端,因此以这种方式触发它们通常仅适用于单人游戏。

为LDR和HDR模式添加不同的光照数值

可以为light_environment实体设置单独的HDR值。点击放大。

使用lights.rad的所有实体灯光和纹理灯光都可以包含两组用于 LDR + HDR 的光照。一般来说,由于一些原因,HDR光照值需要比LDR值略低。首先HDR具有自动曝光功能,可以补偿较暗的区域并使空间变亮。其次,光晕效果有过度照亮某些表面的倾向,因此调低亮度值也有助于这方面的工作。

环境光照

以下是使用HDR设置的light_environment实体的屏幕截图。BrightnessHDRAmbientHDR的默认值是(-1, -1, -1, 1),这意味着使用与LDR相同的设置。要更改HDR值,只需在这些字段中输入新值。

HDR纹理光照

可以使用lights.rad为纹理光设置单独的HDR值。点击放大。

控制“纹理”光照值的lights.rad English文件也允许独立的HDR设置。上面突出显示的数字显示了第二组4个数字如何应用于HDR值(红,绿,蓝,亮度),如果未输入第二组数字,vrad默认会使用LDR设置。

其他光照

其他类型的光源(包括light Englishlight_spot English)也具有HDR值。你可以按照为light_environment实体设置灯光的相同方式为这些灯光设置HDR值。

更多HDR控制台命令

以下是控制台可用于动态修改引擎中HDR设置的命令列表。

mat_dynamic_tonemapping 0/1(默认值 1)

  • 启用或禁用动态(自动)HDR色调映射。

mat_autoexposure_max 0-20(默认值 2)

  • 设置即将到达的最亮(最大)曝光度。在大多数情况下其数值不应超过20。

mat_autoexposure_min 0-20 (default .5)

  • 其中0是即将到达的最暗(最小)曝光度。在大多数情况下其数值不应超过20。其典型值小于1。

mat_hdr_tonemapscale 0-20

  • 适用于mat_dynamic_tonemapping设置为0(关闭)的情况。设置一个明确的曝光值。在大多数情况下其数值不应超过20。

mat_disablebloom 0/1 (default 1)

  • 禁用光晕效果。

mat_bloomscale 0-16 (default 1)

  • 设置HDR光晕效果的次数(比例)。较高的值等于更多的光晕效果。在大多数情况下其数值不应超过16。

参见