SG Com UE 函数
SGComBlueprintFunctionLibrary
这些函数可在任何地方调用,但初始化和关闭函数通常应在游戏模式或关卡蓝图等中使用。这是为了确保在游戏开始和结束时,在调用任何 SGComSessionComponent 之前,以及在完成所有必要的 SGComSessionComponent 调用之后,都能调用这两个函数。
Initialize SGCom:初始化 SG Com API。应在游戏开始时调用一次,然后才能使用任何其他 SG Com 函数。
Shutdown SGCom:关闭 SG Com API。应在游戏结束时,通过 EndSession() 结束所有 SG Com 会话之后调用一次。
Decompress SoundWave(仅限编辑器):辅助函数。将 SoundWave 音频解压缩为可传递给 SG Com 的原始 PCM 数据。SoundWave 的加载行为覆盖需要设置为强制内联,否则由于音频流缓存,该函数在打包构建中会失败。
Input SoundWave:辅助函数。适用于打包构建。能够将 SoundWave 输入到 SGComSessionComponent 进行处理,并将 FSourceEffectSGCom 附加到音频源。SoundWave 将被解压缩,而且原始 PCM 数据将被发送到 SGComSessionComponent。在内部调用 SGComSessionComponent 上的 InputAudio()。
重要提示:使用 SourceComponents 时,Unreal Engine 会以 32 位浮点数的格式提供原始音频,采样率取决于当前平台(实际上,默认为 48000Hz)。无论您使用的是何种音频文件,都需要相应地设置您的 SG Com 配置。
SGComSessionComponent
“会话”由单个角色的 SG Com 引擎和播放器组合而成(请参阅引擎和播放器)。该组件涵盖了 SG Com 的大部分功能,其余功能则属于 SGComBlueprintFunctionLibrary 的一部分。会话组件应附加到场景中要使用 SG Com 本地制作动画的任何角色。
会话管理
用于管理单个 SG Com 会话的函数。
Start Session:根据提供的配置启动 SG Com 会话。
End Session:结束 SG Com 会话。
Start Player-Only Session:在引擎处于远程的情况下启动 SG Com 会话。
End Player-Only Session:结束纯播放器 SG Com 会话。
音频输入
用于管理 SG Com 输入的函数。
Input Audio:向 SGCom 引擎输入原始 PCM 音频数据数组。
动画控制器
用于管理动画生成和播放的函数。
Reset:重置 SG Com 引擎,丢弃所有动画。
Set Greedy Process Enabled:启用/禁用音频的贪婪处理。如果启用,引擎将立即处理所有可用音频。默认为启用。
Set Current Animation Time:设置当前动画时间(以秒为单位)。
Get Animation Range:检索可用动画的时间范围(以秒为单位)。
SG Com Pose:根据当前的 SG Com 引擎值生成姿势的动画节点。这些值会应用到角色的基本姿势
情绪模式
用于使用情绪模式的函数。
Set Mode:设置角色的情绪模式。输入必须是可用的模式名称之一。
Get Mode:返回角色的当前情绪模式。
Get Mode Names:返回一个字符串数组,其中包含角色的可用情绪模式。
自动模式
用于使用自动模式的函数。
Set Default Mode:更改默认模式,默认模式是指在没有自动或明确设置其他模式的情况下激活的情绪模式。
Set Auto Mode:将自动模式映射到角色的特定情绪模式。如果未指定,自动模式将不会触发任何情绪变化。
Unset Auto Modes:清除自动模式映射。
Activate Auto Modes:激活自动模式系统。请注意,如果使用 Set Mode 明确设置情绪模式,将自动停用自动模式。在停用和重新激活的过程中,将保留先前设置的自动模式映射。
Insert Expression:将表情插入到引擎中。
ExpressionName:表情在角色情绪模式库中的路径。如果为空,则会自动从当前情绪模式中选择一个表情。
DurationMs:所需的表情持续时间(以毫秒为单位)。如果为 0,则会自动确定持续时间。
Scale:所需的表情比例(范围为 0 到 1)。如果为 0,则会自动确定比例。
情绪修改器
用于使用情绪修改器的函数。
Set Speech Magnitude:设置语音肌肉动作的幅值。默认值为 1.0。
Get Speech Magnitude:获取语音肌肉动作的幅值。
Set Nonverbal Magnitude:设置非嘴部肌肉动作的幅值。默认值为 1.0。
Get Nonverbal Magnitude:获取非嘴部肌肉动作的幅值。
Set Nonverbal Speed:设置非嘴部肌肉动作的速度。默认值为 1.0。
Get Nonverbal Speed:获取非嘴部肌肉动作的速度。
Set Breath Magnitude:设置呼吸幅值。默认值为 1.0。
Get Breath Magnitude:获取呼吸幅值。
Set Breath Speed:设置呼吸速度。默认值为 1.0。
Get Breath Speed:获取呼吸速度。
Set Expression Frequency:调整表情频率。默认值为 1.0。
Get Expression Frequency:获取表情频率。
Set Blink Frequency:调整眨眼频率。默认值为 1.0。
Get Blink Frequency:获取眨眼频率。
Set Microdart Frequency:调整眼球微小运动频率。默认值为 1.0。
Get Microdart Frequency:获取眼球微小运动频率。
身份
用于使用 SG Com 的身份的函数。
Set Role:设置会话身份(说话/倾听)。
Get Role:获取会话身份。
元数据更新
可用于跟踪或响应 SG Com 算法中的特定变化的 event 回调。请参阅元数据更新。
On Mode Changed:角色模式改变时触发 event 回调。
On Auto Mode Changed:角色自动模式改变时触发 event 回调。
On Expression Changed:角色表情改变时触发 event 回调。
On Voice Activity Changed:检测到语音活动发生变化时触发 event 回调。有声音时返回“true”,无声音时返回“false”。
On Breath Changed:当呼吸从吸气切换到呼气或从呼气切换到吸气时,触发 event 调度程序。返回“inhale”或“exhale”,表示新的呼吸方向。