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

env_microphone

From Valve Developer Community
< Zh
Jump to navigation Jump to search
English (en)Русский (ru)中文 (zh)Translate (Translate)
Env microphone.png

env_microphone是一个点实体(en),可在所有的 起源 起源 游戏中使用。 就是麦克风。在"扬声器模式"下,它会检测声音并将其广播到Speaker target。 它无视Hears X标签并且不会触发SoundLevel的输入。 在"度量模式",它会在Measure target处度量声音级别并且产生声音级别0~1的输出。它只会听到与Hears X相匹配的声音。

度量模式用于检测声音强弱会来决定一些输出。

在源代码中,它由 class CEnvMicrophone 代表,定义于 envmicrophone.cpp

Flags

  • 1: Hears combat sounds - 听到战斗声音
  • 2: Hears world sounds - 听到世界中的声音
  • 4: Hears player sounds - 听到玩家的声音
  • 8: Hears bullet impacts - 听到子弹的声音
  • 16: Swallows sounds routed through speakers - 意味着不会接收其他env_microphone实体传递的声音,包括自己本身。
  • 32: Hears explosions - 听到爆炸的声音。
  • 64: Ignores non-attenuated sounds - 忽略非衰减的声音

键值

Speaker target (SpeakerName) ([todo internal name (i)]) <targetname(en)>
实体info_target的名字,播放在此麦克风实体接收的声音。如果指定了,那么麦克风实体会认为自己处于扬声器模式。它应该与env_speaker区分。
Measure target (target) ([todo internal name (i)]) <targetname(en)>
如果处于度量模式,需要被度量的实体名称。
Listen Filter (ListenFilter) ([todo internal name (i)]) <filter(en)>
过滤实体名称,只有符合过滤的实体才能被接收。 而其他实体发出的声音不会被捕捉。
Speaker DSP Preset (speaker_dsp_preset) ([todo internal name (i)]) <choices>
仅限扬声器模式。如果指定了,则通过扬声器播放的声音会受到选择的DSP(en)影响:
Icon-Bug.png错误:即使有多个麦克风实体设置了不同的DSP模式,但只有其中之一的DSP会工作,即使麦克风实体的距离离得很近。因为这个实体呗一个叫做 dsp_speakerConVar(en)设置。  [todo tested in?]
  • 0: Use environment default 默认
  • 50: (No effect) 无效果,下面同样
  • 51: (No effect)
  • 52: (No effect)
  • 53: (No effect)
  • 54: (No effect)无效果,上面同样
  • 55: Loud speaker 大声的
  • 56: Very small speaker 非常小
  • 57: Echoing speaker 回声
  • 58: Small speaker 小
  • 59: Tiny speaker 小
Note.png注意:详见 DSP(en)
Sensitivity (0-10) (Sensitivity) ([todo internal name (i)]) <浮点型(en)>
度量模式的敏感度,1正常,10非常敏感。
Smoothing (0-1) (SmoothFactor) ([todo internal name (i)]) <浮点型(en)>
度量模式下的输出平滑值。
Maximum hearing range (0=infinite) (MaxRange) ([todo internal name (i)]) <浮点型(en)>
大于此范围的声音不会被听到。
Warning.png警告:设置为0或者比1024大,在扬声器模式下可能会影响性能。
Sound Mask (SoundMask) ([todo internal name (i)]) <integer(en)> 不存在于FGD!
待完善: Hear X标签的某种替代形式?

EnableDisable/启动禁用:

Start Disabled (StartDisabled) <boolean(en)>
保持休眠状态,直到被唤醒。(利用Enable输入)。
  1. REDIRECT Template:KV BaseEntity:zh-cn

输入

SetSpeakerName <targetname(en)>
设置 info_target 实体名,当麦克风接受声音的时候会播放在此处。

EnableDisable/启动禁用:

Enable
Disable
启动/禁用此实体所具备的效果。同样会使实体消失。
Base:
AddContext<string(en)>
添加到实体的 Response Contexts/响应上下文列表。格式是<key>:<value>
AddOutput<string(en)>
在此实体上分配新的键值/输出。对于键值,有些依赖于额外的必要代码来运行,如果它只是通过这个输入改变就行不通。必须遵循严格的格式:
语法:

ClearContext
从此实体的列表中删除所有上下文。
ClearParent
从移动层次结构中删除该实体,使其可以自由移动。
FireUser1FireUser4
触发相应的OnUser输出;详见 User Inputs and OutputsEnglish
Kill
从这个世界中删除此实体。
KillHierarchy
功能类似Kill,尽管此实体与其父实体都被删除了,但比Kill快一点。
RemoveContext
从实体列表删除一个上下文。名字应与现有上下文进行匹配。
SetParent<string(en)>
跟随此实体移动,详见 实体层级(依赖关系)
SetParentAttachment<string(en)>
更改此实体到其父级上的特定附属English点。实体将传送,以至于其骨骼方位English与附属匹配。在使用此输入前必须设置好实体的父实体。
SetParentAttachmentMaintainOffset<string(en)>
同上,但没有传送。在接收到输入时,实体保持其相对于附件的位置。
Use 不存在于FGD!
与调用 +use 的玩家相同[玩家按 +use(使用,默认E按钮)];大多数情况下没有影响。
DispatchResponse<string(en)> 不存在于FGD!
向实体发送一个上下文。 详见 ResponseEnglishConceptEnglish.
DispatchEffect<string(en)> (自从 求生之路移除) 不存在于FGD!
在实体的原点坐标设置一个特定效果;参见 List of Client EffectsEnglish。自从求生之路 求生之路后由粒子系统取代。
RunScriptFile<script(en)> (存在于自 求生之路2 以来)
从硬盘执行一个 VScript 脚本文件,不带文件后缀名。会合并接收实体的脚本域。
RunScriptCode<string(en)> (存在于自 求生之路2 以来)
在接收输入的实体范围内执行一串 VScript 源代码。通过控制台触发时可能需要字符串引用。
Icon-Bug.png错误:在 Hammer 中,使用带有字符串的参数会破坏 VMFEnglish 文件的结构,使下一个 Hammer 会话无法查看该文件。  [todo tested in?]
Note.png修复:使用文本编辑器手动删除带有字符串的参数。
CallScriptFunction<string(en)> (存在于自 求生之路2 以来) 不存在于FGD!
在接受实体脚本域上执行一段 VScript 函数。
SetLocalOrigin<coordinates(en)> (存在于自 异形丛生 以来) 不存在于FGD!
将此实体设置到地图中的某个位置。如果此实体是某实体父级,那么它的子级也会随着移动。
SetLocalAngles<angles(en)> (存在于自 异形丛生 以来) 不存在于FGD!
设置该实体的角度。

输出

SoundLevel <浮点型(en)>
在度量模式,每当soundlevel改变都会触发。
OnRoutedSound
每当声音通过一个指定的扬声器时都会触发。(如果有).
OnHeardSound
每当扬声器听到一个自己关心的声音时都会触发。

Base/基础:

OnUser1OnUser4
这些输出将分别响应于 FireUser1FireUser4 输入。 详见 User Inputs and Outputs
OnKilled (存在于 Left 4 Dead series 之中)
当实体被Kill输入时响应此输出。