立绘提取

首先找到碧蓝航线立绘所在的位置。
立绘在sdcard0/Android/data/com.bilibili.azurlane/files/AssetBundles中
参考:https://www.bilibili.com/read/cv2832458

碧蓝航线app

目录结构解释:

文件夹名称作用
/activitypainting活动人物
/aircrafticon游戏飞机资源
/battlescore得分画面
/bg游戏背景(含剧情背景)
/boxprefab游戏素材(箱子,水雷……)
/chapter游戏地图
/char人物Q版模型
/chargeicon商店里的图标
/chargo装备外观?
/clouds
/clutter公告之类的图片
/commanderhrz指挥喵出征半图
/commandericon指挥喵头像
/commanderrarity喵窝UI
/commanderskillicon指挥喵技能
/commandertalenticon指挥喵阵营增益BUFF图标
/commonbg活动、商店、公告中背景之类
/cueBGM
/dailylevelicon每日日常
/dailyui点击特效
/effect特效素材
/emblem军衔
/emoji表情
/enemies活动特殊敌人
/equips装备
/eventtypeQ版小人
/extra阴影
/font字体
/furniture家具
/furniture家具图标
/helpbgHelp图片
/herohrzicon技能图片
/item游戏画面特效
/levelmap地图
/live2dlive2d动态
/loadingbg载入图片
/lotterybg活动相关
/map地图相关数据
/mapres地图其他(像海,天空等等)
/medal奖章
/memoryicon回忆图标
/newshipbg新船背景
/numbericon数字
/painting立绘
/paintingface立绘头像
/prints阵营图片
/props物品资源
/puzzla活动收集相册之类
/qiconQ版头像
/sfurniture特殊家具
/shipdesignicon科研船头像
/shipmodelsQ版照片
/shiprarity船的稀有程度
/shipyardicon立绘卡片
/skillicon技能图标
/squareicon立绘方块图像
/strategyicon游戏中一些图标(防空标识)
/tecfateskillicon科研船技能
/template模板

painting是立绘文件夹,将painting复制到电脑中,方便操作,大家可以根据自己的需求复制相应的文件夹

立绘解包

解包需要一个工具, AssetStudio。
链接如下:https://github.com/Perfare/AssetStudio/releases
github访问比较慢,可以访问github国内的镜像站,浏览器会报警告,不用在意,继续访问就好。
链接如下:https://kgithub.com/Perfare/AssetStudio/releases

下载后打开
在这里插入图片描述
加载文件

立绘文件是以_tex结尾的文件,其他文件是索引文件

//img-blog.csdnimg.cn/f8df6195f03644b58a992867c7c713a7.png)
导出全部文件
在这里插入图片描述
导出后

导出后会出现四个文件夹,只需要MeshTexture2D文件夹,其他的文件夹可以删除。

在这里插入图片描述

Texture2D中是图片文件,Mesh中是以.obj结尾的坐标文件,可以用记事本打开。

例:

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

图片合成

图片合成会很麻烦,可以用PS自己拼接,或者写代码让系统处理,分享一个合成的工具,链接:https://kgithub.com/yukinotech/AzurLanePaintComposite/blob/master/%E6%89%B9%E9%87%8F%E5%90%88%E6%88%90%E7%AB%8B%E7%BB%98(%E7%A2%A7%E8%93%9D%E8%88%AA%E7%BA%BF).vbs
下载后在命令行中使用,这个小工具虽然是2019年的,但是现在还可以用。
例:c:\Users\Administrator\Desktop\碧蓝航线\AzurLanePaintComposite-master\AzurLanePaintComposite.exe c:\Users\Administrator\Desktop\碧蓝航线\Texture2D\22.png c:\Users\Administrator\Desktop\碧蓝航线\Mesh\22-mesh.obj
合成后的图片在./AzurLanePaintComposite-master/Picture

在这里插入图片描述

python代码

使用命令行一个个输挺麻烦的,自己写了一个小工具,方便合成

import os
from concurrent.futures import ThreadPoolExecutor
from pathlib import Path


# py文件路径
demo_path = str(Path(__file__).parent)
# AzurLanePaintComposite.exe文件路径
azur = os.path.join(demo_path, 'AzurLanePaintComposite-master', 'AzurLanePaintComposite.exe')
# Mesh路径
mesh = os.path.join(demo_path, 'Mesh')
# Texture2D路径
texture2d = os.path.join(demo_path, 'Texture2D')

cmdList = []
pngList = os.listdir(texture2d)
for png in pngList:
    name, file_type = png.split('.')
    obj = name + '-mesh.obj'
    cmd = azur + ' ' + os.path.join(texture2d, png) + ' ' + os.path.join(mesh, obj)
    cmdList.append(cmd)


def runCmd(cmd):
    """
    运行命令行命令
    """
    os.system(cmd)

# 线程池,最大线程为8,根据自己电脑更改,太多系统会卡死
pool = ThreadPoolExecutor(max_workers=8)
pool.map(runCmd, cmdList)
pool.shutdown()

GUI页面

为了方便操作,写了一个GUI界面,根据提示操作即可
注:如果出现闪退请检查路径是否正确,线程数根据自己电脑CPU的核数选择,线程过多时,页面会卡死,qt它会把主线程也添加到线程池中,而且qt的多线程是根据CPU的核心数决定的。
链接地址:碧蓝航线立绘合成小工具

在这里插入图片描述

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐