这篇条目有关 Source引擎。如需详情,点击这里。

ambient_generic

From Valve Developer Community
< Zh
Jump to: navigation, search
English (en)Français (fr)Hrvatski (hr)Русский (ru)中文 (zh)Translate (Translate)

Ambient generic.png

ambient_generic是一个点实体(en),可在所有的 起源 起源 游戏中使用。

Info content.png
This page has not been fully translated.

You can help by finishing the translation.

Also, please make sure the article tries to comply with the alternate languages guide.
ambient_generic
Ambient generic.png
类型点实体
引擎金源 起源 起源2
可用性存在于所有的游戏中
 


实体描述

Ambient generic.png

此实体用于播放声音,可以设置单次或循环。同样可以设置从某坐标点或者全局可听见。 其可以播放和控制声音脚本English的声音,一段.wav实例或者scripted sentence(实体)。不像贴图或者模型那样,你必须重启 Hammer 才能看到变化,声音不需要,只需要点 browser 即可。

Tip.png提示:此实体可以手动添加parentname键值或者SetParent输入,则能够设置父实体,尽管未被fgd列出此键值或输入。
Icon-Bug.png错误:ambient_generic反恐精英:起源 反恐精英:起源 中播放循环声音,必须配合logic_auto,否则将在第一回合后停止播放。  [todo tested in?]
Icon-Bug.png错误:声音无法停止问题(如下详情),可以由用 C++ 修复您 Mod 声音无法停止问题English文章修复。  [todo tested in?]
Icon-Bug.png错误:当此实体正在播放声音的时候,删除(kill)此实体,会导致在地图持续时间内永远播放!  [todo tested in?]
Icon-Bug.png错误:ambient_generic在播放声音时不会随着父级更新位置。  [todo tested in?]
Icon-Bug.png错误:过多ambient_generic在同一时间播放会导致其它ambient_generic表现奇怪或者失败,无视其播放距离。  [todo tested in?]

键值

Sound Name (message) <string(en)>
声音脚本English的名字,或者需要播放的声音的路径。对于scripted_sentence,需要在此实体名字前加上一个“!”。 (例如: !COMBINE_THROW_GRENADE4)
Note.png注意:如果您需要将声音识别为音乐,以获取其对音乐的影响,你需要在music路径前面加入“#”。 (例如: music/song01 becomes #music/song01)
Max Audible Distance (radius) <float(en)>
最大播放距离 unit English(hammer 单位)对于客户端来说。
Icon-Bug.png错误:声音仍会在距离之外播放?  [todo tested in?]
Icon-Bug.png错误:由于 DSP English,声音可能在很远的距离依旧清晰可听。  [todo tested in?]
Note.png注意:玩家接近最大距离时,音量逐渐消失。这似乎使得声音过早停止播放了!
SourceEntityName (SourceEntityName) <实体名(en)>
如果指定,声音将从此实体上播放而不是ambient_generic实体。如果目标是能够口型同步的 NPC English,并且能找到因素信息。那么目标能与声音口型同步。
Icon-Bug.png错误:如果ambient_generic被删除,声音将在地图原点(坐标 0,0,0)处播放!  [todo tested in?]
Icon-Bug.png错误:多个ambient_generic无法堆叠到同一实体上。  [todo tested in?]
Volume (health) <整数型 0-10(en)>
声音的音量大小。0是静音,10是正常,默认为10。
Tip.png提示:键值并不允许小数,但是对其输入可以。
Icon-Bug.png错误:当设置为0,声音不会被播放。  [todo tested in?]
Start Volume/初始音量 (volstart) <整数 0-10(en)>
Fade in time in seconds/淡入时间/秒 (fadeinsecs) <整数 0-100(en)>
Fade out time in seconds/淡出时间/秒 (fadeoutsecs) <整数 0-100(en)>
淡入淡出时间以及开始时的音量大小,默认不淡入淡出。
Pitch (pitch) <整数 0-255(en)>
音高,1为低,100为正常,255为高。
Icon-Bug.png错误:太高值或者太低都会导致其他声音失真。  [todo tested in?]
Start pitch/初始音高 (pitchstart) <整数 0-255(en)>
Spin up time/升速时间 (spinup) <整数 0-100(en)>
Spin down time/降速时间 (spindown) <整数 0-100(en)>
播放开始/结束消耗多少时间升速或降低音高,以及从多少音高开始。默认不执行。
Dynamic Presets (preset) <choices>
可以应用各种 DSP 效果。
LFO type (lfotype) <integer(en)>
低频振荡English种类的采用。
  • Off (default)/关(默认)
  • Square Wave (alternate between low and high)/矩形波(高低交替)
  • Triangle Wave (crossfade between high and low)/三角波(高低之间淡入淡出)
  • Random/随机
LFO rate (lforate) <整数 0-1000(en)>
LFO 效果重复频率。
LFO modulation - pitch (lfomodpitch) <整数 0-100(en)>
影响音高或者颤音。更高的数字会改变更多音高—颤声歌手很少使用,警笛常用。
LFO modulation - volume (lfomodvol) <整数 0-100(en)>
影响声音的音量大小,让其“跳动”。类似于震声*和颤声很类似。非常高的频率,类似于对着旋转的风扇叶说话。
Incremental Spinup Count (cspinup) <integer(en)>
似乎为了增加音高在指定时间内与ToggleSound的输入。 但是…
Icon-Bug.png错误:没用,无效!  [todo tested in?]

Base:

Name (targetname) <string(en)>
其他实体用来指代该实体的名称。
Parent (parentname) <targetname(en)>
实体的父级实体,该实体可以与父实体保持移动偏移。名称后面可以添加一个附属点,以逗号隔开。 (parentname [targetname],[attachment]
Tip.png提示:转换至下一张地图的实体关系会依然存在。
Tip.png提示:一些不适合做父实体的实体可能难以运行,利用phys_constraint可以解决。
Origin (X Y Z) (origin) <coordinates(en)>
实体处于世界中的位置,旋转实体会以实体坐标原点旋转。
Note.png注意:Hammer 不会仅在编辑器中相应地移动实体。
Pitch Yaw Roll (Y Z X) (angles) <angle(en)>
实体在世界中的方位,Pitch围绕X轴旋转,可以称为俯仰角。Yaw围绕Z轴旋转,可以称为偏航角,roll围绕Y轴旋转。
Note.png注意:尽管 Hammer 不显示新角度,但其仍然适用于固实体。
Classname (classname) <string(en)> 不存在于FGD!
确定实体之前它生成的特征。
Tip.png提示:使用AddOutput输入更改 Classname 仍然会影响游戏的代码,例如使类名与 S_PreserveEnts 列表中的一个元素匹配将使实体在新一轮中持续存在!
Spawnflags (spawnflags) <flags(en)> 不存在于FGD!
实体所具有的标志/标签,依实体所具有而定。
Effects (effects) <flags(en)> 不存在于FGD!
要使用的效果标志的组合。
Entity Scripts (vscripts) <scriptlist(en)> (存在于自 求生之路2 以来) (也存在于 军团要塞2 之中)
在所有实体生成后执行的 VScript简体中文 文件(无文件扩展名)的空格分隔列表。这些脚本都在同一个脚本范围内执行,以后的脚本会覆盖任何相同的变量和函数。在 worldspawn 实体上执行的脚本将放置在根作用域中。
Think function (thinkfunction) <string(en)> (存在于自 求生之路2 以来) (也存在于 军团要塞2 之中)
此实体脚本中的函数名称,该函数将在脚本持续时间内每 100 毫秒(每秒 10 次)自动调用一次。它可用于创建计时器或模拟自主行为。返回值(如果存在)将设置下一次调用之前的时间。尽量避免在此函数中进行昂贵的操作,因为它可能会导致性能问题。
Lag Compensation (LagCompensate) <boolean(en)> (存在于自 求生之路2 以来) 不存在于FGD!
设置为以延迟补偿此实体。应该非常谨慎地使用!
Is Automatic-Aim Target (is_autoaim_target) <boolean(en)> (存在于自 反恐精英:全球攻势 以来) 不存在于FGD!
如果设置为 1,当实体位于十字准线下方时,该实体将减慢控制台和操纵杆控制器的瞄准移动速度。

Flags/标签

  •  [1] : Play everywhere
       无论接受者与音源多远,都以恒定的音量播放。
    待完善: 如何 与实体env_microphone的声音检测交互?
    Icon-Bug.png错误:这个标签被在引擎运行 Soundscripts English的关卡破坏。只会在声音.raw以文件名播放时生效。  [todo tested in?]
  •  [16] : Start Silent
       此声音将不会播放。默认启用。
    Icon-Bug.png错误:循环声音无法设置成这样并且无法控制!  [todo tested in?]
  •  [32] : Is NOT Looped
       改变ambient_generic如何处理停止和开始播放。它不会使一个在循环的声音停止循环,但是设置正确的值依然十分重要。如果不是,难以控制停止或者启用声音?
    Icon-Bug.png错误:循环的声音请勿勾选,否则会丢失控制!  [todo tested in?]

Inputs/输入

Pitch <integer(en)>
设置声音音高,范围从1~255,100是原始音高。
Icon-Bug.png错误:似乎会导致声音立刻播放,并且循环的声音将无法控制。  [todo tested in?]
PlaySound
开始播放声音。
StopSound
停止播放循环声音。不会停止循环声音! 这是故意的, 并且能够改变,修复文章:C++ 修复大法于您的 mod English。然而非循环声音可以通过 Volume 输入,设置值为0来实现。
ToggleSound
开关循环声音的按钮功能。表现类似于PlaySound输入。
Volume <float(en)>
以0~10的音量设置一个声音大小。10为最大声。
Icon-Bug.png错误:会自动播放声音。并导致声音循环播放且无法停止!本应该在输入时更改其音量。  [todo tested in?]
Icon-Bug.png错误:设置0会导致声音停止而不是静音播放。  [todo tested in?]
FadeIn <integer(en)>
指定秒数内将声音调整为最大声。范围0~100/秒。
Icon-Bug.png错误:无功能,传送门2 传送门2除外。  [todo tested in?]
FadeOut <integer(en)>
指定秒数内将声音调整为最小声。范围0~100/秒。
Icon-Bug.png错误:在淡出前会将声音调整最大(即10)。  [todo tested in?]
CBaseEntity:
AddContext <string(en)>
将此实体添加到响应上下文列表中。参见 上下文
AddOutput(en) <string(en)>
为此实体分配一个新的键值/输出。对于键值,有些依赖于额外的代码,不能仅通过此输入进行更改。必须遵循严格的格式:
// 更改键值的格式 "AddOutput [键] [值]"
//// 原始文本
"OnUser1" "!self,AddOutput,targetname new_name"

// 添加输出的格式 "AddOutput {目标名称}:{输入名称}:{参数}:{延迟}:{最大触发次数,-1 代表无限}"
//// 原始文本
"OnUser1" "!self,AddOutput,OnUser1:SetParent:!activator:0.0:-1"
// 参数可以留空但仍应包含空的空白
//// 原始文本
"OnUser1" "!self,AddOutput,OnUser1:ClearParent::0.0:-1"
ClearContext
从此实体的列表中移除所有上下文。
ClearParent
从运动层次结构中移除此实体,使其可以独立移动。
FireUser1 to FireUser4
触发相应的OnUser输出;参见 User Inputs and Outputs
Kill
从世界中移除此实体及任何附属于它的实体。
KillHierarchy
功能与Kill相同,但此实体和任何附属于它的实体在同一帧内被击杀,比Kill输入稍快。
RemoveContext <string(en)>
从此实体的列表中移除一个上下文。名称应与现有上下文的键匹配。
SetParent <string(en)>
与此实体一起移动。参见 Entity Hierarchy (parenting)
SetParentAttachment <string(en)>
将此实体更改为附加到其父级上的特定attachment点。实体将被传送,以便其根bone的位置与附件的位置匹配。实体必须在发送此输入之前被附加。
SetParentAttachmentMaintainOffset <string(en)>
如上所述,但不进行传送。实体保留相对于附件的当前位置。
Use  不存在于FGD!
与玩家调用+use相同;在大多数情况下没有效果。
SetTeam <integer(en)> 不存在于FGD!
更改此实体的团队。
TeamNum <integer(en)> 不存在于FGD!
此输入更改TeamNum属性的值。
DispatchResponse <string(en)> 不存在于FGD!
向实体分发响应。参见 ResponseConcept
DispatchEffect <string(en)> (被移除求生之路 以来) 不存在于FGD!
从实体的原点分发特殊效果;另见 List of Client Effects。自求生之路以来被particle系统取代。
RunScriptFile <script(en)> (存在于自 求生之路2 以来) (也存在于 军团要塞2 之中)
从磁盘执行VScript文件,无需文件扩展名。脚本内容与接收实体的脚本作用域合并。
RunScriptCode <string(en)> (存在于自 求生之路2 以来) (也存在于 军团要塞2 之中)
在接收输入的实体的作用域中执行一串VScript源代码。通过控制台触发时可能需要字符串引号。
CallScriptFunction <string(en)> (存在于自 求生之路2 以来) (也存在于 军团要塞2 之中) 不存在于FGD!
调用在接收实体的作用域中定义的VScript函数。
TerminateScriptScope  (存在于 军团要塞2 之中) 不存在于FGD!
销毁接收实体的脚本作用域。
SetLocalOrigin <coordinates(en)> (存在于自 异形丛生 以来) 不存在于FGD!
将此实体发送到地图中的某个位置。如果实体附属于某个东西,它将相对于父级偏移此量。
SetLocalAngles <angles(en)> (存在于自 异形丛生 以来) 不存在于FGD!
设置此实体的角度。

Outputs/输出

基础:

OnUser1 to OnUser4
这些输出分别在相应编号的 FireUser1 到 FireUser4 输入触发时触发;参见 用户输入和输出(en)
OnKilled  (存在于 求生之路 之中)
当实体被击杀并从游戏中移除时触发此输出。

参见