隆重推出 OdinOnDemand 1.0:Valheim 的终极媒体体验!OdinOnDemand(OOD)为英灵神殿添加了大量独特的媒体播放器,让你可以在游戏内的屏幕和收音机上观看YouTube、直接播放视频文件、收听Soundcloud、音乐以及动态广播电台!它完全支持多人同步,资源占用低,且易于使用。
1.0版本为您带来全新体验,包括全时段同步、全新卡带与传送带播放器、可链接扬声器、动态广播电台、全新波形可视化器以及更多内容!请参阅下方文档与更新日志。
请享受OdinOnDemand 1.0!
莫迪
发现漏洞?->
奈克萨斯 ||
GitHub 问题追踪器ValMedia建议观看影片时关闭泛光效果,以获得最佳观看体验。
如果你喜欢这个模组,请考虑向我的Ko-Fi捐赠。
功能- 通用媒体支持
- 全程同步与多人游戏整合
- 电影屏幕
- 影院屏幕、平板电视、桌面电视、显示器、老式电视、笔记本电脑
- 音乐播放器
- 留声机,便携式立体声收录机,收音机,接收器
-可使用遥控器连接到任意固定媒体播放器的扬声器
- 关联扬声器会改变音频中心位置
- 遥控器,可远距离操作屏幕
- 移动端玩家;
- 马车 - “吟游诗人的货车”,可建造。通过遥控器指向并点击使用。
- 腰带 - “吟游诗人的腰带”,从哈尔多处购买,配方可配置。使用方法:装备后,对着空白处(例如不指向媒体播放器)使用遥控器。管理员可以指向并点击其他用户的腰带,打开其菜单。
- 支持YouTube播放列表
- 独特的动态广播电台系统,支持轻松添加电台插件
- 新音乐波形可视化器
- 完整的媒体播放器配置
- 音频控制、循环、仅限管理员选项
- 自定义棋子与物品配方配置
YouTube 错误报告机制已全面调整,输出信息更加详细。如果您发现可归类为用户界面提示的无害异常,请在 GitHub 上提出建议。
请在Nexus或GitHub跟踪器上报告任何其他问题。
安装插件的安装非常简单,只需安装到Bepinex/plugins目录或使用r2modman即可。它必须同时在服务器端和客户端安装。
使用媒体播放器在游戏中,放置一个媒体播放器。与其交互以打开界面。
远程播放你可以将直接链接粘贴到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,或用户 Valheim 安装目录所在的任意位置。
你可以将视频文件与你的模组包捆绑在一起,或指示Vikings将文件放置在适当位置,以便更轻松地同步本地播放。在游戏内播放它们,用于活动、剧情等。你可以从本地插件文件夹中的任意位置提取。
YouTube 播放列表媒体播放器支持YouTube播放列表。设置播放列表后,界面上会出现新信息。最初设置播放列表的维京人负责处理播放列表逻辑,因此如果他们离开区域或断开连接,播放列表将停止播放。它支持多人同步。不要过快跳过曲目。你可以选择随机播放或循环播放列表。如果选择循环,整个播放列表将循环——而非单个视频。最后播放的视频将保存为自动播放视频。
时间同步媒体播放器会定期发送请求,与当前媒体播放器(ZDO)拥有者同步时间。你可以在配置文件中设置发送请求的时间间隔。
要在媒体中手动跳转到某个时间点,请使用齿轮设置菜单下的“设置时间”按钮。输入时间(以秒为单位)。
遥控器媒体播放器可以用遥控器远程控制。遥控器可以用1个青铜制作。只需装备、对准媒体播放器并点击即可。对准并点击吟游诗人的马车即可使用。装备吟游诗人的腰带后,对准并点击其他任何媒体播放器即可使用。管理员可以对准并点击其他玩家的吟游诗人的腰带。
你可以使用次要遥控操作将扬声器与媒体播放器连接。选择一个扬声器,然后选择一个媒体播放器进行配对。重复此过程可取消配对。你可以在媒体播放器的设置面板中查看扬声器数量并断开所有扬声器的连接。
配置选项包括按键配置、最大控制器距离,以及将远程控制访问设为私有的选项。
锁定媒体播放器可以锁定在菜单右上角。当媒体播放器被锁定时,维京人只有在拥有进入由结界石创建的私人区域的权限时才能访问它。
管理员可以通过齿轮菜单锁定媒体播放器,阻止普通维京人操作特定屏幕。
附加选项右下角的齿轮按钮会显示额外选项。管理员专属访问、收听距离和主音量的选项都在这里。
- 主音量控制该类媒体播放器的整体音量,作用于所有媒体播放器。这是一个客户端选项,旨在让维京人可以根据个人喜好静音或增强媒体播放器的音频。每种媒体播放器都有独立的混音器——影院屏幕、收音机和移动播放器。
- 收听距离是一个多人同步参数,用于改变从各个媒体播放器听到音频的距离。这可以在插件的配置中限制,但该限制对管理员不生效。
默认值和客户端主音量值也可以在配置中更改。
大多数功能通过RPC事件在多人游戏中同步,包括玩家时间。音量是客户端侧的。
动态电台要使用动态音频加载器,你需要按特定格式准备好音频文件和附加资源。你可以通过资源包或包含音频文件的文件夹创建自己的电台,然后通过模组仓库或模组包进行分发。
从资源包创建1.
准备资源包: - 您的资源包应包含您想要在电台中加入的所有音频片段。
- 包含一个 `title` 文本资产,其中含有你空间站的名称。
可选:加入一个`thumbnail`精灵资源来以视觉方式呈现你的站点。确保在属性检视面板中将其设置为“Sprite”类型资源。
- 如果你想让电台随机播放曲目,请添加一个`shuffle`文本资产。
2.
加载站: - 当资产包被放入(插件路径,例如 OdinOnDemand)\assetbundles 时,站点将自动创建。
从文件夹创建1.
准备文件夹: - 将所有音频文件(支持的格式:`.ogg`、`.wav`、`.mp3`、`.flac`)放入同一个文件夹中。
- 创建一个包含你电台名称的 `title.txt` 文件,并将其放在同一文件夹中。
- 可选:添加一个名为 `thumbnail` 的图片文件,使用支持的扩展名之一(`.png`、`.jpg`、`.jpeg`、`.bmp`、`.tga`、`.gif`),作为空间站的缩略图。
- 如果你想让电台随机播放曲目,请在该文件夹中创建一个名为 `shuffle.txt` 的空文件。
2.
加载站: - 当文件夹被放入(插件路径,例如 OdinOnDemand)\radio 时,电台将自动创建。
电台插件 - [示例模组](https://valheim.thunderstore.io/package/ValMedia/VikingRadioStation_OdinOnDemand/)要为便于分发而创建自定义广播电台扩展,请按以下简单步骤操作:
1. 创建你的站点文件夹
2.
创建必要文件: -
odinondemand.txt: 此文件表示该文件夹是一个电台插件。只需在您的电台文件夹中创建一个空的 `odinondemand.txt` 文件即可。
-
title.txt: 此文件应包含您的电台名称。在电台文件夹中创建一个 title.txt 文件,并在其中写入您的电台名称。
3.
添加音频文件: 将你的音频文件(.ogg、.wav、.mp3 或 .flac)放入电台的文件夹中。该插件会将这些文件识别为你广播电台的一部分。
4.
(可选)AssetBundle 支持: 如果你更倾向于使用AssetBundle,请按照上面的说明创建AssetBundle,然后将AssetBundle文件放入你的站点文件夹中,文件扩展名为“.assetbundle”。
5. 将文件压缩打包以便上传至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英灵神殿物品列表除非你想移除物品名称,否则不要更改它们。如果你遇到任何问题,请记住你可以删除你的.json文件,模组会用默认值重新创建它。
VIP系统(测试版)启用后,仅VIP可放置、移除和操作OdinOnDemand部件(管理员除外)
通过配置文件启用。将VIP模式设为True,并为VIP添加SteamID。你也可以自定义消息内容。该系统非常简陋,如有任何反馈请提交至Github或Nexus。
已知问题- 目前留声机很难放置。就……多试几次吧。放在地形上似乎更容易一些。我不太确定为什么会这样。留声机不受影响。
如果你在显卡驱动控制面板中强制启用了垂直同步,该模组可能无法正常工作。 如果模组无法播放任何类型的视频文件(不仅仅是YouTube),请检查你的GPU驱动程序控制面板,确保垂直同步设置与你的游戏内设置一致,或设为“由应用程序控制”。你也可以查看Player.log。如果出现关于Direct3D和刷新率/垂直同步的错误,你可能需要执行此操作。
截图
[sub]由DanAugust制作 最后一张图片是关闭背光设置后的效果。[/sub]
对于精通技术的维京人来说,有一个备用的YouTube API可以使用Node和youtube-dl自行托管。这完全是可选的,只要内置库(YouTubeExplode)得到维护,就不需要这样做。
教学视频GitHub 说明致谢-
SoundCloudExplode |
YouTubeExplode |
油管下载器 |
Node.js |
yt-dlp- 灵感源自
木筏影院模组- 特别鸣谢
英灵殿服务器 社区与管理
- 以及所有其他项目支持者——感谢一路以来的所有关注与支持。