引入
前几天看见有人把《明日方舟:终末地》的LOGO改成了开机动画
哔哩哔哩视频加载中...
正好之前也自己改过一个COD里 ATLAS 的的开机动画,用了快一年了,正好换新换换口味,顺便复习一下制作的步骤
制作步骤
1.剪切视频
原动画作者在 视频 下面给出了网盘的视频源文件
下周后根据需要剪辑,剪掉两头多余的部分和中间同一画面停留过长的地方。
2.视频切分为帧
使用 ffmpeg 将视频切分为每帧一张图片,根据实际情况调整帧率
ffmpeg -i input.mp4 -vf "fps=30" %0d.png
3.整理文件名
对于这个只有一段的动画,将图片放到part0文件夹中
在图片目录打开PowerShell粘贴下方代码块中的内容进行规范命名。
Get-ChildItem -Filter *.png | ForEach-Object {
if ($_.BaseName -match '^\d+$') {
$num = [int]$_.BaseName
$newName = "{0:D3}{1}" -f $num, $_.Extension
if ($_.Name -ne $newName) {
Rename-Item -Path $_.FullName -NewName $newName
Write-Host "已重命名: $($_.Name) -> $newName" -ForegroundColor Green
}
}
}
4.新建配置文件
在part0同级目录新建desc.txt
1080 1440 30
c 1 0 part0 000000
参数解析:
第一行:全局基础属性
CodeBlock Loading...
这行定义了动画的全局基础显示属性,格式为:[WIDTH] [HEIGHT] [FPS]
- 1080 (WIDTH):动画的宽度,单位是像素。与图片分辨率一致即可。
- 1440 (HEIGHT):动画的高度,单位是像素。
- 30 (FPS):动画的帧率,代表每秒播放 30 张图片。
第二行:动画段落播放控制
格式均为:[TYPE] [COUNT] [PAUSE] [PATH] [BACKGROUND_COLOR] [CLOCK]
CodeBlock Loading...
- c (TYPE):代表 "complete"(完整播放)。**即使系统在后台已经加载完毕,这一段也必须强制完整播完,不允许打断。另外可选: p:代表 "play"(可打断播放)。只要系统加载完毕准备好进入锁屏/桌面,无论这一段有没有播完,都会立刻被系统强制打断并结束开机画面。
- 1 (COUNT):播放次数。1 代表这一段动画(part0 文件夹里的图片)只播放 1 次。
- 0 (PAUSE):播放结束后的暂停时间,单位是帧数。停顿为 0(播完立刻进入下一阶段)
- part0 (PATH):该段动画读取对应压缩包里的 part0 文件夹。
- #000000 (BACKGROUND):这一段播放时的屏幕背景颜色,这里是纯黑色。
- -1 (CLOCK):时钟显示的 Y 坐标(通常用于手表系统)。-1 代表隐藏/不显示时钟。
5.打包为bootanimation.zip
part0和desc.txt打包为一个.zip文件
压缩时选择压缩程度:仅储存
最终结构:
CodeBlock Loading...
这是我制作的版本,可以 下载 参考:
刷入手机
由于我手机刷了第三方类原生的Rising OS系统,可以直接在设置中选择自定义的bootanimation.zip作为开机动画
对于一般已获取root的手机,可以构建一个简单的magisk模块刷入,覆盖系统原有的bootanimation即可