Light.dbc
光源控制文件。包括烟雾、天空颜色、水的颜色以及其他类似的光照渲染参数,控制不同区域和天气条件下的视觉效果
文件概述
Light.dbc 定义了游戏中的光照参数配置。通过设置衰减范围、天空与烟雾颜色、水域效果、太阳光参数等,控制地图不同位置的光照氛围。与 LightParams.dbc 配合使用。
列结构
| 列号 | 字段 | 类型 | 详细说明 |
|---|---|---|---|
| 1 | 编号 | 整数 | 光照配置唯一标识符 |
| 2 | 地图编号 | 整数 | 关联的地图编号,参考 Map.dbc |
| 3 | X | 浮点数 | 光照效果参考位置的 X 坐标 |
| 4 | Y | 浮点数 | 光照效果参考位置的 Y 坐标 |
| 5 | Z | 浮点数 | 光照效果参考位置的 Z 坐标 |
| 6 | 衰减开始 | 浮点数 | 衰减起始距离。在内径以内不会有其他光线的插值 |
| 7 | 衰减结束 | 浮点数 | 衰减结束距离。内径以外到外径以内的范围会有其他光线的插值 |
| 8 | 天空和烟雾 | 整数 | 天空和烟雾的渲染参数标准,参考 LightParams.dbc |
| 9 | 水域设置 | 整数 | 水的颜色及透明度等水域渲染设置 |
| 10 | 太阳光参数 | 整数 | 太阳光(暴风雨等天气下的光线效果)参数 |
| 11 | 其他参数 | 整数 | 水下/风暴等特殊环境光照参数 |
| 12 | 死亡参数 | 整数 | 玩家死亡状态下(灵魂状态)的光照效果 |
| 13 | 未知 | 整数 | (用途待确认) |
| 14 | 未知 | 整数 | (用途待确认) |
| 15 | 未知 | 整数 | (用途待确认) |
关键字段详解
衰减范围(列6、列7)
光照效果的渐变范围,决定了光线从核心区域向外围过渡的方式:
- 衰减开始:内径——在此范围内使用纯光照参数,不混入其他光源
- 衰减结束:外径——从内径到外径之间逐渐插值混合其他光线
- 用于实现柔和的区域光照过渡,避免光照边界生硬
天空和烟雾(列8)
参考 LightParams.dbc 中的标准参数,控制:
- 天空颜色渐变(顶部/中部/地平线)
- 雾效浓度和颜色
- 渲染大气散射效果
水域设置(列9)
控制水域的渲染属性,包括水的颜色、透明度、反射效果等。不同区域的水域(海洋、湖泊、河流、毒水)使用不同的水域参数。
太阳光参数与特殊环境(列10-11)
定义特定天气/环境下的光照:
- 太阳光参数:暴风雨等天气下的直射阳光效果
- 其他参数:水下风暴、特殊区域的光线特效
死亡参数(列12)
玩家死亡后进入灵魂状态时,所看到的特殊光照效果。通常表现为灰暗色调、低饱和度,营造"幽灵世界"的视觉氛围。
光照应用场景
| 场景 | 光照特征 |
|---|---|
| 白天开放区域 | 高环境光 + 暖色直射光 + 蓝色天空 |
| 夜晚区域 | 低环境光 + 冷色直射光 + 暗色天空 |
| 洞穴/地下 | 低环境光 + 弱直射光 + 近雾效果 |
| 特殊天气 | 暴风雨参数 + 暗天空 |
使用示例
-- 查询外域(MapID=530)的光照配置
SELECT ID, 地图编号, X, Y, Z, 衰减开始, 衰减结束
FROM light_dbc
WHERE 地图编号 = 530;
使用技巧
- 区域氛围:通过调整衰减范围和天空烟雾参数创造独特的区域氛围
- 日夜循环:光照参数配合地图的时间偏移实现日夜交替
- 水域渲染:水域设置影响液体表面和水中视觉效果
- 参考:AzerothCore Wiki - light