自定义视频背景模组  
为《七日杀》主菜单定制视频或动态背景

自定义视频背景模组 为《七日杀》主菜单定制视频或动态背景

TechFreqs 自定义视频背景模组 V1.4,专为《七日杀》设计,通过允许玩家在主菜单中使用自定义视频背景来增强游戏体验。该模组将默认的静态背景替换为动态视频文件,提供

用户界面

TechFreqs自定义视频背景模组 V1.4

专为《七日杀》设计,通过允许玩家在主菜单中使用自定义视频背景来增强游戏体验。该模组将默认的静态背景替换为动态视频文件,提供更具沉浸感和个性化的体验。

支持多种视频格式(WebM搭配VP8、MP4搭配H.264以及MOV搭配H.264),若视频播放失败,还包含转换工具作为备用机制。

该模组还配备了额外的批量转换脚本工具,设计时充分考虑了灵活性,让用户能轻松利用现成的一套自定义批处理脚本,对已有视频文件进行转换和剪辑!这使得用户可以便捷地为《七日杀》主菜单定制动态视频背景。

这些脚本确保视频格式、分辨率和时长符合游戏最佳性能要求,如有不符,可随意使用修剪批处理脚本将视频裁剪至30秒或1分钟,并重新运行转换批处理脚本,不过1分钟时长 1080p或720p的视频通常就足够了。

该模组还可以从Resources文件夹加载多个视频文件。
默认情况下,每次加载主菜单时,它会随机选择一个视频播放,为体验增添多样性。
在视频播放完毕前,它会继续播放下一个随机视频,或者按顺序播放(如果您偏好此方式)。
这些设置可在config json文件中进行配置。

视频已预先加载并缓存以减少加载时间,但由于它使用config.json文件来控制视频播放设置,它会挂钩到游戏的主菜单UI,并用纹理替换默认背景。

主要特点:

  • 自定义视频背景:用用户提供的视频文件替换默认的主菜单背景。
    • WebM(VP8编解码器,非透明)
    • MP4(H.264编解码器,非透明)
    • MOV(H.264编解码器,非透明)
  • 回退机制:如果视频播放失败,则显示Textures文件夹中的静态PNG图像(mainmenuoverlay.png)。
  • 视频转换工具:包含批量脚本,用于将视频转换并裁剪为所需格式,确保与游戏的兼容性。
  • 视频转换工具调试日志:转换脚本包含逐步调试日志,以帮助用户在视频准备过程中排查任何问题。
  • 在F1日志中启用Mod调试日志记录,以便用户可以看到加载或跳过了哪些视频。
  • 调试日志,用于故障排除!如果我没能及时查看这里的评论,日志中高亮显示的蓝色文本里有我的社交媒体链接,可以进一步获取支持。
  • 现在包含在V1.3版本中 可以输入自定义文件夹用于存放自定义视频 哇!
  • V1.3版本现已包含以下功能:
    可在新闻画面后静音主菜单音乐,以实现无缝视频播放。

示例文件夹和配置JSON结构:

该模组及其相关工具的组织结构如下:

  • 视频资源文件夹
  • 透明背景PNG的纹理文件夹
  • 配置文件夹,XUi_Menu文件夹用于窗口xml
  • 以及mod dll和配置json文件的根目录。
  • 根据需要转换视频格式文件夹以用于批处理脚本
  • 根据需要,在转换后将已转换/裁剪的视频移至资源文件夹。

新示例配置Json:

{
  "启用调试日志记录": false,
  "静音视频音频": false,
  "随机视频选择": true,
  "视频音量": 0.5,
  "AllowedExtensions": [".mp4", ".webm", ".mov"],
  "循环视频": true,
  "从上次位置恢复": false,
  "CustomVideosFolder": "资源",
  "静音主菜单音乐": true
}

关于示例配置JSON的更多详情

  • "启用调试日志记录": true // 将详细的调试信息记录到游戏日志中(例如视频播放、音乐静音)。设置为false以禁用。
  • "MuteVideoAudio": false // 如果为true,则静音背景视频的音频。如果为false,则播放自定义视频中的音频。
  • "随机视频选择": true // 若为true,则从文件夹中随机选择视频。若为false,则按顺序依次播放视频。
  • "VideoVolume": 0.5 // 视频音频的音量(0.0 至 1.0)。如果 MuteVideoAudio 为 true 则忽略此项。
  • "AllowedExtensions": [".mp4", ".webm", ".mov"] // 允许用于背景视频的文件类型
  • "LoopVideos": true // 如果为true,则循环播放当前视频或播放下一个视频。如果为false,则播放一次后停止。
  • "ResumeFromLastPosition": false // 如果为true,重启时从上次位置继续播放视频。如果为false,则从头开始播放。
  • "CustomVideosFolder": "资源" // 视频文件夹。默认为"Resources"使用Mods/TechFreqsCustomVideoBackgrounds/Resources/路径,但可以自定义路径,请确保使用双斜杠,例如D:\资源\或D:\视频\菜单视频
  • "MuteMainMenuMusic": false // 如果为true,则静音游戏主菜单音乐。如果为false,音乐正常播放

使用转换脚本:

该模组包含四个批处理脚本,帮助您准备游戏所需的视频文件。这些脚本使用FFmpeg(包含在Convert WEBM to WEBMVP8文件夹中)将视频转换并剪辑为所需格式。每个脚本都包含逐步调试日志,方便您跟踪处理过程。

转换前提条件:

确保ffmpeg.exe存在于Convert WEBM to WEBMVP8文件夹中。如果缺失,请从 https://www.gyan.dev/ffmpeg/builds/ 下载(例如,ffmpeg-release-essentials.zip)并将ffmpeg.exe放入该文件夹中。

脚本概述:

  1. convert_webm_to_vp8.bat

    • 用途:将WebM文件转换为使用VP8编解码器的WebM格式。
    • 输入:任何WebM文件。
    • 输出:转换后的<文件名>.webm位于Convert WEBM to WEBMVP8文件夹中。
    • 用法:将WebM文件(例如Avalanche.webm)拖放到脚本上。
  2. convert_mov_to_h264.bat

    • 用途:将MOV文件转换为使用H.264编码的非透明MOV格式。
    • 输入:任意MOV文件。
    • 输出:转换后的<文件名>.mov文件位于Convert WEBM to WEBMVP8文件夹中。
    • 用法:将MOV文件拖放到脚本上。
  3. convert_mp4_to_nontransparent_mp4.bat

    • 用途:将MP4文件转换为使用H.264编码的不透明MP4格式。
    • 输入:任何MP4文件(包括带有透明度的文件)。
    • 输出:转换后的<文件名>.mp4文件位于Convert WEBM to WEBMVP8文件夹中。
    • 用法:将MP4文件拖放到脚本上。
  4. trim_video.bat

    • 用途:将视频剪辑至指定时长(30秒或1分钟),并输出为WebM(VP8)或MP4(H.264)格式。
    • 输入:任何视频文件(WebM、MP4、MOV 等)。
    • 输出:在Convert WEBM to WEBMVP8文件夹中生成trimmed_<文件名>.webmtrimmed_<文件名>.mp4文件。
    • 用法:
      1. 将视频文件拖放到脚本上。
      2. 选择持续时间(1为30秒,2为1分钟)。
      3. 选择输出格式(1为WebM,2为MP4)

备注:

该模组支持 WebM (VP8)MP4 (H.264)MOV (H.264) 格式文件。请确保您的视频采用其中一种格式。 MP4和MOV输出中移除了透明度,以确保与游戏的兼容性。

性能:

视频应保持合理的分辨率(如1280x720或1920x1080)和比特率(如VP8为2M,H.264为5M),以避免游戏中的性能问题。 将视频剪辑为30秒或1分钟有助于减小文件大小和加载时间。 如果脚本运行失败,请检查命令提示符输出中的调试日志,以确定失败的具体步骤。

免责声明:

使用此模组即表示您承认,TechFreq不对因使用该模组而导致的任何问题、崩溃或冲突负责。 使用风险自负。在安装任何类型的模组前,请备份您的游戏文件。 感谢您的下载,祝您游戏愉快!

安装:

  • 确保harmony mod存在于mod目录中,因为它是必需的。
  • 下载模组文件,解压模组文件。
  • 请备份您的世界、存档或游戏文件。
  • 将它们放入你的《七日杀》游戏Mods目录中。
  • EAC必须禁用,虽然我希望未来能有所改变,目前DLLS不受EAC支持,但XML没有问题,遗憾的是这是一个dll修改。
  • 这仅适用于客户端,但也许这也适用于服务器端和客户端兼容性?
  • 无需进一步设置。尽情享受吧!

鸣谢:

感谢 TechFreq 和 A.I、ChatGPT 或 Microsoft CoPilot A.I 或 Twitter(X)的 Grok AI 帮助我创建这个模组,同时由于我对游戏模组的了解非常有限,边学边做,没有它们的帮助我无法完成这一切,还要感谢整个模组社区的集体智慧与支持。 非常感谢您的支持,也欢迎对模组提出任何反馈意见。

支持公告:

对于那些想支持"TechFreqs"作品的人, 本模组可能会也可能不会跨平台发布。 通过7daystodiemods网站经由ModsFire(广告支持,每次下载都能获得收益)下载, 如果发布在那里或与其他示例模组网站上,将对我有很大帮助, 然而! (尽管每次下载仅需10美分)此外,还提供了一个直接镜像站点,可使用NexusMods网站替代,该镜像也提供直接下载链接,但这些链接不会按点击或下载次数计费,而是通过不同的系统使用捐赠点数运行。除了下载模组、与朋友分享模组、留下反馈以及为模组点赞之外,支持TechFreq的最佳方式就是这些了。但如果你愿意更进一步,虽然并非必要,你也可以通过PayPal或Ko-fi页面使用捐赠链接,这同样会带来很大帮助! 然而,捐赠并非强制要求, 每一点支持都能帮助我们前行, 为未来的更多模组、音乐和漏洞修复提供动力。 再次感谢您的阅读、 一如既往的支持, 以及查看这篇模组帖子。

社交媒体:

如果你欣赏'TechFreqs'的作品并想表示支持,可以使用这个捐赠链接,尽管并非必须。 Kofi 页面:https://ko-fi.com/techfreq 感谢大家查看模组帖子、分享并享受任何模组内容本身。再次感谢!祝游戏愉快!

喜欢这个模组吗?有反馈、想法或需要故障排除? 加入TechFreq超酷小队Discord服务器!https://discord.com/invite/SQCnGjNUhw 加入我们的Discord,一起畅聊游戏、分享梗图,获取更多模组更新! 至于TechFreqs音乐,这是免版税音乐,可用于您的项目或休闲聆听! 源音乐文件可随意索取,欢迎在Discord上询问!或获取更多内容! TechFreqs 社交媒体:https://beacons.ai/techfreq 来看看今天的幕后花絮吧!再次感谢大家查看模组帖子。

更新日志:

版本1.4

  • 修复了一个错误,即在进入其他菜单时会重新开始播放视频。
  • 修复了一个bug,即在进入世界并退出世界时,播放功能有时能正常工作,有时完全无法播放。
  • 注意:请谨慎使用1.4版本,启用调试日志时会大量刷屏日志记录,因此目前建议设置为false以减少在窗口切换时的日志刷屏现象。

V1.3

  • 添加自定义文件夹用于存放配置json,而非默认的资源文件夹
  • 在日志中添加调试感谢和故障排除消息支持
  • 在配置JSON中添加自定义静音主菜单音乐

V1.2G

至于1.2G

  • 细微修复了ModInfo xml的问题,如果模组因文件夹命名问题无法运行,必须确保文件夹名称与xml文件中ModInfo name属性的值一致。因此重新上传了模组,但这次创建了一个正确命名的文件夹,并将内容放入其中,而不是直接在下载zip中存放无文件夹的文件。因为从服务器下载后,文件名会带有减号和数字,解压后并非所有人都知道需要与ModInfo xml中的name值匹配。出于某种原因,服务器似乎不会为文件添加特定命名的文件夹,而是直接提供包含文件的zip,而非模组的标准文件夹名称,从而导致错误。

(注:在测试时,我之前安装了跳过新闻的模组,所以我认为如果卸载它,应该只需一秒钟左右,背景就会变成动态视频壁纸,你可以选择现有的视频!另外,如果你在文字周围看到一个小黑点,那是因为我使用的纹理PNG文件。我对GIMP在照片编辑上的使用几乎一无所知,如果有人能提供一个灵活的版本,这样加载后就不会出现这种情况了。这种小问题只会在极短的毫秒间出现,非常微小,但功能是正常的!)

示例文件夹结构:

该模组及其相关工具的组织结构如下:

  • 视频资源文件夹
  • 透明背景PNG的纹理文件夹
  • 配置文件夹,XUi_Menu 文件夹用于窗口 xml
  • 以及mod dll和配置json文件的根目录。
  • 根据需要转换视频格式文件夹为批处理脚本
  • 根据需要,将转换/裁剪后的视频移至Resources文件夹。

示例配置 JSON:

{
  "视频设置": {
    "随机化视频": true,
    "特定视频": "",
    "循环视频": true,
    "音量": 0.5,
    "淡入持续时间": 1.0,
    "淡出持续时间": 1.0
  },
  "后备设置": {
    "使用后备图片": true,
    "备用图片路径": "Textures/mainmenuoverlayV1.png"
  },
  "性能设置": {
    "最大分辨率": "1920x1080",
    "最大比特率": 10000
  }
}