Zh/Dota 2 Workshop Tools/Level Design/Dota/Lighting: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
(Created page with "{{otherlang2 |title =照明 |en=Dota_2_Workshop_Tools/Level_Design/Dota/Lighting }} Dota2中照明的处理方式是延迟光照(deferred lighting model),而且是动态的...")
 
No edit summary
Line 10: Line 10:
<blockquote>
<blockquote>
{| cellpadding="2" style="border: 1px solid darkgray;"
{| cellpadding="2" style="border: 1px solid darkgray;"
! width="100" |
! width="175" |
! width="175" |
|-
|-
| '''镜面角度 Specular Angle (Y Z X)'''
| '''镜面角度'''
| 控制镜面角度(默认值:64 283 0)
| '''Specular Angle (Y Z X)'''
| 控制镜面角度 (默认值: 64 283 0)
|-
|-
| '''高光功率(Specular Power)'''
| '''高光功率'''
| 0 = infinite width falloff, higher values = sharper falloff (default: 14)
| '''Specular Power'''
| 0 = 无限宽衰减, 较高的值 = 更清晰的衰减 (默认值:14)
|-
|-
| '''视野'''
| '''FOV'''
| '''FOV'''
| 光照投射的视角区域。采用较低的值,能保证更远距离的光照和更清晰的阴影(默认值:5)
| 光照投射的视角区域。采用较低的值,能保证更远距离的光照和更清晰的阴影 (默认值:5)
|-
|-
| '''NearZ距离(NearZ Distance)'''
| '''NearZ 距离'''
| 这个值控制着距离玩家较近的阻隔平面的距离(默认值: 4)  
| '''NearZ Distance'''
| 这个值控制着距离玩家较近的阻隔平面的距离 (默认值:4)  
|-
|-
| '''纹理名称(Texture Name)'''
| '''纹理名称'''
| '''Texture Name'''
| 云体阴影材质 (默认路径: ...effects/light_clouds_00)  
| 云体阴影材质 (默认路径: ...effects/light_clouds_00)  
|-
|-
| '''启用阴影(Enable Shadows)'''
| '''启用阴影'''
| '''Enable Shadows'''
| 禁用/启用阴影  
| 禁用/启用阴影  
|-
|-
| '''云体尺寸(Cloud Scale)'''
| '''云体尺寸'''
| 这个控制着云的规模和大小(默认值:6500)
| '''Cloud Scale'''
| 这个控制着云的规模和大小 (默认值:6500)
|-
|-
| '''云1 速度(Cloud 1 Speed)'''
| '''云1 速度'''
| 云1材质的移动速度(默认:120)  
| '''Cloud 1 Speed'''
| 云1材质的移动速度(默认:120)  
|-
|-
| '''云1 方向(Cloud 1 Direction) '''
| '''云1 方向 '''
| 云1 材质运动方向(默认值:0 165 0)  
| '''Cloud 1 Direction'''
| 云1 材质运动方向 (默认值:0 165 0)  
|-
|-
| '''云2 速度(Cloud 2 Speed) '''
| '''云2 速度 '''
| 云2材质的移动速度(默认值:80)  
| '''Cloud 2 Speed'''
| 云2材质的移动速度 (默认值:80)  
|-
|-
| '''云2 方向(Cloud 2 Direction)'''
| '''云2 方向'''
| 云2 材质运动方向(默认值:0 145 0)  
| '''Cloud 2 Direction'''
| 云2 材质运动方向 (默认值:0 145 0)  
|-
|-
|}
|}
Line 52: Line 64:
<blockquote>
<blockquote>
{| cellpadding="2" style="border: 1px solid darkgray;"
{| cellpadding="2" style="border: 1px solid darkgray;"
! width="100" |
! width="175" |
! width="175" |
|-
|-
| '''颜色(Color)'''
| '''颜色'''
| '''Color'''
| 定向的光照颜色  
| 定向的光照颜色  
|-
|-
| '''环绕(Ambient)'''
| '''环绕'''
| '''Ambient'''
| 对物体边缘照明  
| 对物体边缘照明  
|-
|-
| '''阴影尺寸(Shadow Scale)'''
| '''阴影尺寸'''
| '''Shadow Scale'''
| 任何采用“英雄着色器” (比如:英雄,NPC,小兵)的物体,都会产生不透明阴影  
| 任何采用“英雄着色器” (比如:英雄,NPC,小兵)的物体,都会产生不透明阴影  
|-
|-
| '''地面阴影尺寸(Shadow Ground Scale)'''
| '''地面阴影尺寸'''
| '''Shadow Ground Scale'''
| 对任何采用multiblend和global_lit_simple着色器的物体(比如支柱,地面等)产生阴影  
| 对任何采用multiblend和global_lit_simple着色器的物体(比如支柱,地面等)产生阴影  
|-
|-
| '''高度雾(Height Fog)'''
| '''高度雾'''
| '''Height Fog'''
| 现在自定义地图中还不支持此功能--被迷雾笼罩的地面的不透明度(0为完全透明,Dota2地图默认为0.09)  
| 现在自定义地图中还不支持此功能--被迷雾笼罩的地面的不透明度(0为完全透明,Dota2地图默认为0.09)  
|-
|-
| '''FOW暗度(FoW Darkness)'''
| '''FOW 暗度'''
| '''FoW Darkness'''
| 战争迷雾增加不透明性。
| 战争迷雾增加不透明性。
|-
|-
| '''FoW 颜色 RGB'''
| '''FoW Color RGB'''
| '''FoW Color RGB'''
| 战色谜雾由这些单独的RGB值的加权平均值定义(例如:R0 G2 B2)
| 战色谜雾由这些单独的RGB值的加权平均值定义 (例如:R0 G2 B2)
|-
|-
| '''天空盒名称(Skybox Name)'''
| '''天空盒名称'''
| Not supported yet - Add a localized skybox image
| '''Skybox Name'''
| 尚不支持 - 添加局部的天空盒图片
|-
|-
| '''天空盒色调'''
| '''Skybox Tint'''
| '''Skybox Tint'''
| 尚不支持 - 添加局部的天空盒图片
| 尚不支持 - 调整局部天空盒图片的色彩
|-
|-
| '''内径(Inner Radius)'''
| '''内径'''
| ent_dota_lightinfo的内圈半径 (注意! 这不能和任一 ent_dota_lightinfo 实体进行叠加)  
| '''Inner Radius'''
| ent_dota_lightinfo 的内圈半径 (注意! 这不能和任一 ent_dota_lightinfo 实体进行叠加)  
|-
|-
| '''外径(Outer Radius)'''
| '''外径'''
| ent_dota_lightinfo的外圈半径范围,摄像机一旦穿过这个半径,如果没有什么切断摄像机的位置,光照就会受到相邻ent_dota_lightinfo 或env_global_light 实体的控制 。
| '''Outer Radius'''
| ent_dota_lightinfo 的外圈半径范围,摄像机一旦穿过这个半径,如果没有什么切断摄像机的位置,光照就会受到相邻ent_dota_lightinfo 或env_global_light 实体的控制 。
|-
|-
|}
|}
</blockquote>
</blockquote>


{{提示|如果在自定义地图中,战争迷雾已经完全变黑,摄像机已经超过了附近ent_dota_lightinfo的外圈半径,那就把半径调大或者再加一个控制器。.}}
{{提示|如果在自定义地图中,战争迷雾已经完全变黑,摄像机已经超过了附近ent_dota_lightinfo的外圈半径,那就把半径调大或者再加一个控制器。}}


=== env_deferred_light ===
=== env_deferred_light ===
创建一个小的、无阴影效果的光照,类似于一个点光照,这个光照实体可以从它的源点产生光线出来。通常用于火炬,火焰等
创建一个小的、无阴影效果的光照,类似于一个点光照,这个光照实体可以从它的源点产生光线出来。通常用于火炬,火焰等。


== 性能注意事项(Performance Considerations) ==
== 性能注意事项(Performance Considerations) ==

Revision as of 19:39, 18 August 2014

Template:Otherlang2 Dota2中照明的处理方式是延迟光照(deferred lighting model),而且是动态的效果。此外照明是不需要编译的。

env_global_light

这个变量控制着地图的全局光照,这里的有些设置是全局性的,其他的变量则被ent_dota_lightinfo控制着。

镜面角度 Specular Angle (Y Z X) 控制镜面角度 (默认值: 64 283 0)
高光功率 Specular Power 0 = 无限宽衰减, 较高的值 = 更清晰的衰减 (默认值:14)
视野 FOV 光照投射的视角区域。采用较低的值,能保证更远距离的光照和更清晰的阴影 (默认值:5)
NearZ 距离 NearZ Distance 这个值控制着距离玩家较近的阻隔平面的距离 (默认值:4)
纹理名称 Texture Name 云体阴影材质 (默认路径: ...effects/light_clouds_00)
启用阴影 Enable Shadows 禁用/启用阴影
云体尺寸 Cloud Scale 这个控制着云的规模和大小 (默认值:6500)
云1 速度 Cloud 1 Speed 云1材质的移动速度(默认:120)
云1 方向 Cloud 1 Direction 云1 材质运动方向 (默认值:0 165 0)
云2 速度 Cloud 2 Speed 云2材质的移动速度 (默认值:80)
云2 方向 Cloud 2 Direction 云2 材质运动方向 (默认值:0 145 0)

ent_dota_lightinfo

控制着一个个局部区域的光照设置,每张地图里都包含一个env_global_light和env_fog_controller 实体文件,他们控制的内容基本都可以由ent_dota_lightinfo entities进行平行控制。 想想在Dota2地图上从天辉穿梭到夜魇时那些变化的光照效果,这个功能在这其中发挥出了巨大的作用,而且地图上不同的光照效果也正是大家所需要的。 在一个地图上能存在多个光照实体,任意两个或者多个光照的外圈半径重叠起来时,会产生平均过渡,但是内圈半径的效果则不会相互干扰。

颜色 Color 定向的光照颜色
环绕 Ambient 对物体边缘照明
阴影尺寸 Shadow Scale 任何采用“英雄着色器” (比如:英雄,NPC,小兵)的物体,都会产生不透明阴影
地面阴影尺寸 Shadow Ground Scale 对任何采用multiblend和global_lit_simple着色器的物体(比如支柱,地面等)产生阴影
高度雾 Height Fog 现在自定义地图中还不支持此功能--被迷雾笼罩的地面的不透明度(0为完全透明,Dota2地图默认为0.09)
FOW 暗度 FoW Darkness 战争迷雾增加不透明性。
FoW 颜色 RGB FoW Color RGB 战色谜雾由这些单独的RGB值的加权平均值定义 (例如:R0 G2 B2)
天空盒名称 Skybox Name 尚不支持 - 添加局部的天空盒图片
天空盒色调 Skybox Tint 尚不支持 - 调整局部天空盒图片的色彩
内径 Inner Radius ent_dota_lightinfo 的内圈半径 (注意! 这不能和任一 ent_dota_lightinfo 实体进行叠加)
外径 Outer Radius ent_dota_lightinfo 的外圈半径范围,摄像机一旦穿过这个半径,如果没有什么切断摄像机的位置,光照就会受到相邻ent_dota_lightinfo 或env_global_light 实体的控制 。
Tip.png提示:如果在自定义地图中,战争迷雾已经完全变黑,摄像机已经超过了附近ent_dota_lightinfo的外圈半径,那就把半径调大或者再加一个控制器。

env_deferred_light

创建一个小的、无阴影效果的光照,类似于一个点光照,这个光照实体可以从它的源点产生光线出来。通常用于火炬,火焰等。

性能注意事项(Performance Considerations)

添加延迟光照到自定义地图上之后,需要明白:光照堆叠多了就会对性能造成一定损伤。"r_deferred_simple_light 2"无疑是一个可以提升性能的好工具, 它可以在游戏中显示光照的半径,并且添加上颜色进行显示,如果一个地方的颜色已经变绿,那就意味着这个地方堆叠的光照已经够多了,需要减少这个地方重叠的光照半径,以减少对整体光照效果的透支。