shadow_control
< Zh
![Shadow control.png](/w/images/c/cf/Shadow_control.png)
shadow_control
是一个点实体 ,可在所有的 起源 游戏中使用。
定义整个地图的动态阴影 的方向、颜色和衰减距离。
![Note.png](/w/images/thumb/c/cc/Note.png/10px-Note.png)
![Note.png](/w/images/thumb/c/cc/Note.png/10px-Note.png)
天空盒照明 通过每一个toolsskybox 纹理的固体进入地图。其基本属性由三个实体组合使用来控制(有些游戏是四个实体):
light_environment
指定直射日光的方向、颜色和强度,以及漫反射光的颜色和强度。shadow_control
实体指定light_environment
所创建的动态阴影 的方向、颜色和距离。如果没有该实体,动态阴影将会有bug且不可配置。env_sun
在天空盒中放置一个发光的图标来表示太阳在天空中的明显位置。env_cascade_light
给地图投射一个精细的实时阴影,其设置通常来自light_environment
。只能用于。
要使它们有意义,确保以上每个实体在地图中只有一个,并且实体的Pitch and Yaw <角度>设置为相同的值。(Pitch相当于太阳的仰角,而Yaw则类似于指南针轴承。)
这些照明设置——方向、颜色、强度等,是以具体2D天空盒的图像而定的。天空列表 文章提供了一些Valve的天空盒的设置。worldspawn
实体定义了使用的天空盒。另外请注意,如果env_fog_controller
的设置与使用的特定天空盒不对应,雾气看起来会不正确。
![Note.png](/w/images/thumb/c/cc/Note.png/10px-Note.png)
light_environment
和env_sun
强制,但不能对shadow_control
。Pitch的强制也不能被关闭,且它的旋转是从水平方向逆时针开始的(因此竖直向下是-90°),而<角度> Pitch的旋转是顺时针的(因此竖直向下是+90°)。一个应对方法是确保你的Pitch强制只重复<角度>的值;例如,如果你的shadow_control
、light_environment
和env_sun
的<角度>是「45 -60 0」,把Pitch设置为「-45」。==See also==
请与light_environment
和env_sun
一起使用。
键值
角度:
- Pitch Yaw Roll (Y Z X) <angle >
- 这个实体在世界的方向。Pitch是围绕Y轴旋转,Yaw是围绕Z轴的旋转,Roll是围绕X轴的旋转。
提示:Pitch相当于太阳的仰角,而Yaw则类似于指南针轴承。
- Shadow Color
([todo internal name (i)])
<color255 > - 这是阴影的颜色。
- Maximum Distance
([todo internal name (i)])
<float > - 这是允许投射阴影的最大距离,以英寸为单位。
提示:缩短这个距离可以用来产生近似漫射光照 的效果。
- All Shadows Disabled
([todo internal name (i)])
<boolean > - 此功能仅在半条命2中可用。[证实]
输入
color
<color255 >- 设置阴影颜色。
direction
<vector >- 设置阴影方向。
SetDistance
<float >- 设置最大阴影投射距离。
SetAngles
<string >- 设置阴影角度。(译:原文为direction,意思为方向,但译者觉得翻译成角度更合理。)
SetShadowsDisabled
<integer >- 设置阴影禁用状态。
Base:
AddContext
<string >- 添加到实体的 Response Contexts/响应上下文列表。格式是
<key>:<value>
。
语法:
ClearContext
- 从此实体的列表中删除所有上下文。
ClearParent
- 从移动层次结构中删除该实体,使其可以自由移动。
FireUser1
到FireUser4
- 触发相应的
OnUser
输出;详见 User Inputs and Outputs。
Kill
- 从这个世界中删除此实体。
KillHierarchy
- 功能类似
Kill
,尽管此实体与其父实体都被删除了,但比Kill
快一点。
RemoveContext
- 从实体列表删除一个上下文。名字应与现有上下文进行匹配。
SetParent
<string >- 跟随此实体移动,详见 实体层级(依赖关系)。
SetParentAttachmentMaintainOffset
<string >- 同上,但没有传送。在接收到输入时,实体保持其相对于附件的位置。
DispatchResponse
<string > 不存在于FGD!- 向实体发送一个上下文。 详见 Response
和 Concept
.
DispatchEffect
<string > (自从被移除) 不存在于FGD!
- 在实体的原点坐标设置一个特定效果;参见 List of Client Effects
。自从
求生之路后由粒子系统取代。
RunScriptCode
<string > (存在于自以来)
- 在接收输入的实体范围内执行一串 VScript 源代码。通过控制台触发时可能需要字符串引用。
修复:使用文本编辑器手动删除带有字符串的参数。
SetLocalOrigin
<coordinates > (存在于自以来) 不存在于FGD!
- 将此实体设置到地图中的某个位置。如果此实体是某实体父级,那么它的子级也会随着移动。
输出
Base/基础:
OnUser1
到OnUser4
- 这些输出将分别响应于
FireUser1
到FireUser4
输入。 详见 User Inputs and Outputs。