跳到主要内容
版本:v3

模块介绍

重要 注意 提醒

Coding Style wiki


基本说明

影音模块 (联动 AssetLoader 实现自动卸载),涵盖游戏 Audio (2D/3D) 跟 Video 的制作,支持多平台加载方式 (Local, StreamingAssets, URL)。

  • 音效管理 (AudioFrame)
  • 视频管理 (VideoFrame)

重要 另外针对 Audio 在 WebGL 平台有进行细节校正,因为 WebGL 对于 Audio 请求 Clip 无法取得正确长度 (官方放弃修正),导致音讯控制会有部分缺陷,所以支持预置体制作时,可进行 Preload 请求 Clip 长度进行预设。

应用说明

AudioFrame

用于播放 Audio,使用 AudioManager 管理挂载 AudioBase 的 Prefab,且采用 Unity Mixer 进行各音轨控制。

重要 需先将 AudioManager 预置体拖曳到 Hierarchy 窗口 (从 Package Manager 导入)。

  • Audio Sound Type 说明:
    • Sole : 唯一性 (无法重复播放),建议种类为 BGM (背景音乐), Voice (配音) 等。
    • SoundEffect : 多实例 (可以重复播放),建议种类为 Fight Sound (战斗音效), General Sound (一般音效) 等。

提醒 已提供预设 Master Mixer,也可以自行定义。

VideoFrame

用于播放 Video,使用 VideoManager 管理挂载 VideoBase 的 Prefab,且支持 RenderTexture, Camera。

  • Video Render Mode 说明:
    • RenderTexture : 将 Video 映射至 RenderTexture 再透过 UGUI 的 RawImage 进行渲染 (VideoBase 使用 RenderTexture.GetTemporary 跟 RenderTexture.ReleaseTemporary 创建与释放,确保内存正确释放 RenderTexture)。
    • Camera : 直接透过 Camera 进行渲染。


其他说明

Media [murlconfig] (Media URL Config) 格式

如果音讯跟影片来源存放于云服务上,可以使用 URL 的方式进行文件请求,格式如下 (如果不透过 murlconfig.txt 指定 URL 的话,也可以输入完整资源 URL 至 Prefab 中,不过缺点就是对于未来改动 URL,要进行更改维护就会非常麻烦)

# audio_urlset = Audio Source Url Path
# video_urlset = Video Source Url Path

audio_urlset http://127.0.0.1/audio/
video_urlset http://127.0.0.1/video/

>> 建立 murlconfig.txt 方式 <<

  • 通过 MenuItem 点选 OxGFrame -> MediaFrame -> Media Url Config Generator,开始创建 murlconfig.txt (StreamingAssets/murlconfig.txt)。

>> 加载 murlconfig.txt 方式 <<

  1. 如果选择 Url Cfg Request Type = Assign,则指定 murlconfig.txt 至 prefab 中。
  2. 如果选择 Url Cfg Request Type = Streaming Assets,将会从 StreamingAssets 进行请求 murlconfig.txt 文件。

提醒 额外说明:如果透过 URL 方式请求音讯或影片资源,建议于 WebGL 平台上使用,因为 WebGL 不支持 AssetBundle 事先指定 AudioClip 或 VideoClip (Assign 方式) 至 Prefab 中,所以提供 URL 的方式进行影音文件请求。