OdinOnDemand 1.0

OdinOnDemand 1.0

步入瓦海姆终极媒体体验——奥丁点播:电影屏幕和音乐播放器尽在你掌握!与朋友们一起观看YouTube、电影,聆听音乐及更多内容!

杂项

[center] [img][/center]

OdinOnDemand 1.0 正式推出:《英灵神殿》终极媒体体验!

OdinOnDemand (OOD) 为《英灵神殿》添加了大量独特的媒体播放器,让您可以在游戏中的屏幕和收音机上观看 YouTube、直接播放视频文件、收听 Soundcloud、音乐和动态电台!它完全支持多人同步、占用资源低,并且易于使用。

1.0 版本为您带来了全新的体验,包括全时间同步、新的推车和腰带播放器、可连接的扬声器、动态电台、新的波形可视化器等等!详情请参阅以下文档和更新日志。

请尽情享受 OdinOnDemand 1.0吧! Moddy

发现 Bug? -> Nexus || GitHub Issue Tracker

ValMedia 建议在观看影院时关闭泛光效果,以获得最佳观看体验。

img img

img 如果您喜欢这个模组,请考虑向我的 Ko-Fi 捐赠。

功能

  • 通用媒体支持
  • 完整时间同步与多人游戏集成
  • 影院屏幕
    • 剧院屏幕、平板电视、桌面电视、显示器、老式电视、笔记本电脑
  • 音乐播放器
    • 留声机、音箱、收音机、接收器
  • 可通过遥控器与任何固定媒体播放器连接的扬声器
    • 连接的扬声器会改变音频源位置
  • 可从远处控制屏幕的遥控器
  • 移动播放器;
    • 推车 - "吟游诗人之车",可建造。通过用遥控器指向并点击来使用。
    • 腰带 - "斯卡德之带",从 Haldor 处购买,配方可配置。通过装备并使用遥控器指向空处(例如未指向媒体播放器时)来使用。管理员可以指向并点击其他玩家的腰带并打开其菜单。
  • YouTube 播放列表支持
  • 独特的动态电台系统,易于添加电台扩展
  • 新的音乐波形可视化器
  • 完整的媒体播放器配置
    • 音频控制、循环播放、仅管理员选项
  • 自定义建筑和物品配方配置

YouTube 错误报告已完全更改以增加信息量。如果您发现可归类为用户界面消息的无害异常,请在 GitHub 上提出建议。 请在其他问题在 Nexus 或 GitHub 跟踪器上报告。

安装

插件的安装相当直接,只需安装到 Bepinex/plugins 或使用 r2modman 即可。必须在服务器和客户端上都安装。

使用

媒体播放器 在游戏中,放置一个媒体播放器。与其互动以打开 GUI。

远程播放 您可以将直接链接粘贴到 URL 字段中,以播放在线远程文件。链接的文件应为兼容的编解码器格式。 您也可以粘贴 youtube/youtu.be 链接,插件将在所有媒体播放器上为您处理。

所有媒体播放器都额外支持播放兼容编解码器的音频文件,以及 soundcloud.com 链接 - 某些 SoundCloud 歌曲可能无法播放,具体取决于艺术家及其上传/授权作品的方式。

本地播放 媒体播放器可以播放计算机本地文件系统中的文件。您可以使用绝对路径和相对路径查找本地文件。

绝对路径查找包含驱动器号,并且在多人游戏中不会同步,除非玩家具有相同的文件路径结构(这不太可能)。例如,C:\videos\bunny.mp4 或 file://C:\videos\bunny.mp4

相对路径查找从 OdinOnDemand 的文件夹开始搜索文件。相对路径查找必须包含前缀 local:// 或 local:\\ 要从插件文件夹加载文件,请确定您的媒体位置 - 例如,OdinOnDemand 插件文件夹中的 media 子文件夹 - 此处路径将为 local://movies/media.mp4 <- 将其输入到游戏中的 URL 字段。 这将转换为 F:\SteamLibrary\steamapps\common\Valheim\BepInEx\plugins\Valmedia-OdinOnDemand\movies\media.mp4 或用户安装《英灵神殿》的任何位置。 您可以将视频文件与您的模组包捆绑在一起,或指导维京人将文件放在适当的位置,以便更轻松地同步本地播放。在游戏中播放它们以用于事件、传说等。您可以从本地插件文件夹中的任何位置提取文件。

Youtube 播放列表 媒体播放器支持 Youtube 播放列表。当设置播放列表时,UI 中会出现新信息。最初设置播放列表的维京人将处理播放列表逻辑,因此如果他们离开该区域或断开连接,播放列表播放将停止。它是多人同步的。不要过快跳过曲目。您可以选择随机播放或循环播放列表。如果循环播放,整个播放列表将循环播放 - 而不是单个视频。最后播放的视频将保存为自动播放视频。

时间同步 媒体播放器将定期发送请求,以与当前媒体播放器 (ZDO) 的所有者同步时间。您可以在配置文件中配置请求之间的时间间隔。

要手动跳转到媒体中的某个时间,请使用齿轮设置菜单下的 "设置时间" 按钮。以秒为单位输入时间。

遥控器

可以使用遥控器从远处控制媒体播放器。可以用 1 个青铜制作一个遥控器。只需装备,指向媒体播放器并点击。指向并点击吟游诗人之车以使用它。在装备斯卡德之带时,指向未指向其他媒体播放器的地方并点击以使用它。管理员可以指向并点击其他玩家的斯卡德之带。 您可以使用遥控器的次要动作将扬声器与媒体播放器连接。选择一个扬声器,然后选择一个媒体播放器进行配对。重复此过程以取消配对。您可以从媒体播放器的设置面板查看扬声器数量并取消所有扬声器的连接。 配置选项包括按键配置、最大控制器距离,以及使遥控器访问私密的选项。

锁定

媒体播放器可以在菜单的右上角锁定。当媒体播放器被锁定时,只有拥有由守护结界创建的私人区域访问权限的维京人才能访问它。 管理员可以从齿轮菜单锁定媒体播放器,阻止普通维京人与特定屏幕互动。

附加选项

右下角的齿轮按钮显示额外选项。这里有仅管理员访问、收听距离和主音量的选项。

  • 主音量控制该类媒体播放器的整体音量级别,适用于每一个该类播放器。它是一个客户端选项,旨在允许维京人根据自己的喜好静音或增强媒体播放器的音频。每种类型的媒体播放器都有一个独立的混音器 - 影院屏幕、收音机和移动播放器。
  • 收听距离是一个多人同步的参数,用于更改单个媒体播放器的音频被听到的距离。这可以在插件的配置中进行限制,该限制不对管理员强制生效。

默认值和客户端主音量值也可以在配置中更改。

大多数功能通过 RPC 事件(包括玩家的时间)在多人游戏中进行同步。音量是客户端控制。

动态电台 要使用动态音频加载器,您需要以特定格式准备音频文件和其他资源。您可以从资源包或包含音频文件的文件夹创建自己的电台,然后通过模组仓库或模组包分发它们。

从资源包创建

  1. 准备资源包:
    • 您的资源包应包含您想要在电台中包含的所有音频片段。
    • 包含一个包含您电台名称的 title 文本资源。
    • 可选地,包含一个 thumbnail 精灵资源来直观地表示您的电台。确保在属性检查器中将资产类型设置为 "Sprite"。
    • 如果您希望电台以随机顺序播放曲目,请包含一个 shuffle 文本资源。 [img]
  2. 加载电台:
    • 当资源包放置在(插件路径,例如 OdinOnDemand)\assetbundles 中时,电台将自动创建。

从文件夹创建

  1. 准备文件夹:
    • 将所有音频文件(支持的格式:.ogg.wav.mp3.flac)放在一个文件夹中。
    • 创建一个包含您电台名称的 title.txt 文件,并将其放在同一文件夹中。
    • 可选地,添加一个名为 thumbnail 且具有支持的扩展名(.png.jpg.jpeg.bmp.tga.gif)的图像文件,以用作电台的缩略图。
    • 如果您希望电台以随机顺序播放曲目,请在文件夹中创建一个名为 shuffle.txt 的空文件。
  2. 加载电台:
    • 当文件夹放置在(插件路径,例如 OdinOnDemand)\radio 中时,电台将自动创建。

电台扩展 - 示例模组 要创建自定义的电台扩展以便轻松分发,请遵循以下简单步骤:

  1. 创建您的电台文件夹
  2. 创建必要文件:
    • odinondemand.txt: 此文件表示该文件夹是一个电台扩展。只需在您的电台文件夹中创建一个空的 odinondemand.txt 文件。
    • title.txt: 此文件应包含您电台的名称。在您的电台文件夹中创建一个 title.txt 文件,并在其中写入您的电台名称。
  3. 添加音频文件: 将您的音频文件(.ogg、.wav、.mp3 或 .flac)包含在电台文件夹中。插件将把这些文件识别为您的电台的一部分。
  4. (可选)AssetBundle 支持: 如果您更喜欢使用 AssetBundles,请按照上述说明创建您的 AssetBundle,然后将您的 AssetBundle 文件(文件扩展名为 ".assetbundle")放置在您的电台文件夹中。
  5. 将所有文件压缩成 zip 格式以供上传到 Thunderstore / Nexus,或将该文件夹放置在 Valheim\BepInEx\plugins\ 中。

电台播放

当游戏世界初始化后,服务器电台管理器将启动播放模拟:

  1. 曲目选择: 如果启用了随机播放模式,曲目将被随机排序以创建随机播放顺序。否则,曲目将按在电台中出现的顺序播放。
  2. 同步: 在多人游戏中,电台管理器确保所有玩家同时听到相同的曲目,从而创建共享的音频体验。这是通过定期将所有玩家的当前曲目和播放时间同步来实现的。
  3. 曲目推进: 曲目按顺序播放。当一个曲目结束时,下一个曲目开始。如果启用了随机播放,顺序将在每次完整循环通过电台曲目列表后更改。
  4. 循环: 电台持续循环其曲目列表。当最后一首曲目播放完毕后,播放将返回到第一首曲目(如果启用了随机播放,则返回到一个随机排序的曲目)。

服务器将模拟电台播放位置或“时间”,并在需要时将其发送给玩家。 一旦玩家通过媒体播放器启动电台播放,他们将从服务器接收最新的电台数据,加载客户端电台,并播放媒体。

客户端和服务器必须拥有完全相同的文件才能正常播放。

配置

从 OOD 1.0 开始,配置文件现在存储在 BepInEx\config\OdinOnDemand\ 中 配置包括 YouTube API 选择、音量控制、音频播放距离参数、服务器和客户端配置、遥控器功能、VIP 模式设置和音频淡入淡出选项的设置。它允许广泛自定义游戏中的媒体播放器行为,包括启用或禁用某些功能、调整音量、设置音频接收距离以及指定仅管理员设置的选项。

配方

现在可以通过位于 BepInEx\config\recipes.json & recipes_item.json 的 json 文件调整配方(建筑和物品)。模组将自动创建这些文件。但如果需要,默认配方文件可以在此处找到。

一些帮助您编辑此文件的有用链接如下

美化/验证 JSON Valheim 物品列表

除非您希望删除它们,否则不要更改物品名称。如果遇到任何问题,请记住您可以删除您的 .json 文件,模组将使用默认值重新创建它。

VIP 系统(Beta)

启用后,只有 VIP 可以放置、移除和与 OdinOnDemand 建筑互动(管理员除外)

通过配置文件启用。将 VIP 模式设置为 True,并添加 VIP 的 SteamID。您也可以自定义消息。该系统非常基础,因此请向 Github 或 Nexus 提供任何反馈。

已知问题

  • 音箱目前难以放置。只需……继续尝试。它们在平地上似乎更容易放置。我不太确定为什么会发生这种情况。留声机不受影响。

如果您在 GPU 驱动程序控制面板中强制启用了垂直同步,模组可能无法正常工作。

[img]

如果模组无法播放任何类型的视频文件(不仅仅是 YouTube),请检查 GPU 驱动程序的控制面板,确保垂直同步设置与您的游戏内设置相同或设置为“匹配应用程序设置”。您也可以检查您的 Player.log。如果出现与 Direct3D 和刷新率/垂直同步相关的错误,您可能需要进行此操作。

截图 [img] [img] [img] [img] [img] 由 DanAugust 建造。最后一张图片是在关闭背光设置的情况下拍摄的。

对于任何精通技术的维京人,有一个备份的 YouTube API,可以使用 Node 和 youtube-dl 自行托管。这是完全可选的,只要内置库(YouTubeExplode)得到维护,就不需要这样做。

教程视频

Github 说明

致谢