菜鸟导入导出assetbundle

news2024/11/23 11:35:35

因为菜鸟不会用unity c#什么的,所以最后参考贴吧的方法用的是UABE(Unity Assets Bundle Extractor)和UABEA(Unity Assets Bundle Extractor Avalonia)
可以去github上下载

对于txt、xml什么的可以直接改,但是byte文件里还是会有一些类似乱码的东西,所以这种的还不太清楚怎么改比较好

用UABEA open要编辑的bundle,如果太大会提示保存到memory,总之是有个CAB数据在内存里,贴吧的教程是export出来,但我实践后感觉并不需要,直接点击info
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在弹窗选择对应文件后,其实可以直接edit,但是一般这种内容被整合在一个字符串""里面,无论看还是写都十分麻烦,所以我一般是export dump出来txt再编辑
当然这里的txt还是把字符串挤在一起的,所以为了清楚要改哪里,我还是用了UABE来导出一个更结构化的txt
在这里插入图片描述

记得用UABE读取bundle之前先要填入一个unity版本,不然会报错。每次打开都要填,还挺麻烦的
在这里插入图片描述

load file之后在左侧栏asset list可以找到打开对应文件,可以看到是比较结构化的
在这里插入图片描述
也可以这样export dump出来txt,不过这个txt是不能用来导入的,修改之后还是要做成一行字符串,换行都要用\n或者\r\n等

我是想把两个mod合并,所以就是要把两个bundle里的相应项拼在一起。不过有的几千条,一个一个搞太难受了,所以写了下面的python代码

# -*- coding: utf-8 -*-
import re


def merge_and_save_to_txt(str1, str2, output_file):

    # 使用正则表达式分割字符串
    list1 = re.split(r'\s{4,}', str1)
    list2 = re.split(r'\s{4,}', str2)

    # 合并两个列表并去重
    merged_list = list(set(list1 + list2))
    missing_in_merged = [item for item in list1 if item not in list2]
    print(len(list2),len(list1),len(missing_in_merged),len(merged_list))
    # 对合并后的列表进行排序
    merged_list.sort()

    # 逐行保存到文本文件
    with open(output_file, 'w', encoding='utf-8') as file:
        for item in merged_list:
            # 将 \n 和 \r 替换为原始形式
            item = item.replace('\n', '\\n').replace('\r', '\\r')
            #file.write(f"{item}\\r\\n\t\t\t")
            file.write(f"{item}\n")
    with open(output_file.replace(".txt","_rest.txt"), 'w', encoding='utf-8') as file:
        for item in missing_in_merged:
            # 将 \n 和 \r 替换为原始形式
            item = item.replace('\n', '\\n').replace('\r', '\\r')
            file.write(f"{item}\\r\\n\t\t\t")
            #file.write(f"{item}\n")

def find_special_characters(text):
    special_characters = set()
    for char in text:
        if not char.isalnum() and char not in [' ', '\t', '\n', '\r']:
            special_characters.add(char)
    return special_characters

# 因为懒得再让他读txt找对应项在哪,所以直接把相应部分复制上来
string1 = '''
'''
string2 = '''
'''
special_chars = find_special_characters(string1)
print("Special Characters found:")
for char in special_chars:
    print(repr(char))
special_chars = find_special_characters(string2)
print("Special Characters found:")
for char in special_chars:
    print(repr(char))
# 保存结果到文本文件
output_file_path = "merged_result4.txt"
merge_and_save_to_txt(string1, string2, output_file_path)

print(f"Results saved to {output_file_path}")

但是保存过程中可以看到有些编码问题,原本的txt中有些字符是非gbk或utf-8编码的,这里只能统一编码,所以可能会伤到原本的设置。所以如果害怕的话还是最好手动比较?反正还没发现更好的办法(甚至直接把txt用pycharm打开的话能够看到一些在记事本里没问题的地方,也会加塞一些乱码字符)
在这里插入图片描述

总之把这个神秘的txt改好后再通过UABEA import dump上去后,按照贴吧的教程是txt import给CAB,然后CAB再import给bundle,然后再compress。实践后感觉其实没那么复杂,就是一个save完事,除非另存为点save as
总之这样这个bundle就改好了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1406182.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

使用 Swift 代码优化项目编译速度

引言 软件的性能是评价一个软件质量的重要指标,尤其在今天这个时代,性能已成为大型项目不可或缺的考虑因素之一。对于用户量极大的软件,如网银系统、在线购物商城等,更是必须保证其高效稳定的性能。在这种背景下,优化…

AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(十)

又是认真学习的一天。 1.Git 初识 2.掌握 Git 仓库 3.Git 的三个区域 git ls-files 查看当前暂存区有哪些文件 4.Git 文件状态 5.Git 暂存区使用 使用git restore命令恢复修改过的index.css 使用git rm --catched命令从暂存区移除index.css文件 再用git add .放回9(…

使用 SpringBoot 框架手撸一个本地缓存工具!

在实现本地缓存的时候,我们经常使用线程安全的ConcurrentHashMap来暂存数据,然后加上SpringBoot自带的Scheduled定时刷新缓存。虽然这样可以实现本地缓存,但既不优雅也不安全。 那看一下我的思路,首先看一张图! 1.每个处理器都有…

喷墨打印机市场分析:预计2029年将达到548亿美元

喷墨打印机是将彩色液体油墨经喷嘴变成细小微粒喷到印纸上,有的喷墨打印机有三个或四个打印喷头,以便打印黄、品红青黑四色;有的是共用一个喷头,分四色喷印。 喷墨打印机是在针式打印机之后发展起来的,采用非打击的工作方式。比较突出的优点有…

kubernetes Pod 异常排查步骤

kubernetes Pod 异常排查步骤 详细排查图查看容器状态查看容器列表容器未启动成功排查容器启动成功排查pod状态对应原因 详细排查图 查看容器状态 查看容器列表 查看容器列表,最好在后面跟上命名空间,不跟上查询出来是默认的 kubectl get pods -n kubesphere-system单独查看某…

eNSP学习——理解ARP及Proxy ARP

目录 名词解释 实验内容 实验目的 实验步骤 实验拓扑 配置过程 基础配置 配置静态ARP 名词解释 ARP (Address Resolution Protocol)是用来将IP地址解析为MAC地址的协议。ARP表项可以分为动态和静态两种类型。   动态ARP是利用ARP广播报文,动态执行并自动进…

sprignboot电商书城源码

运行环境: jdk1.8,maven,mysql 项目技术: 后台主要是springbootmybatisshirojsp,前端界面主要使用bootstrap框架搭建,并使用了ueditor富文本编辑器、highcharts图表库。 有需要的可以联系我。 功能介绍: 该系统分为前台展示和后台管理两…

芯课堂 | 通过ISP升级芯片固件方法及框架

一、升级原理 芯片在应用前,是一颗裸片,内部没有任何驱动或应用程序。芯片在贴上PCB板子后,会实现各种功能,这是时候会开发对应的驱动或者应用程序,在芯片上面运行的程序,一般称之为固件(Firmw…

低代码,让软件开发不再复杂

低代码一词,有人认为它是第四代编程语言,有人认为它是开发模式的颠覆,也有人认为它是企业管理模式的变革……有很多声音,社区讨论很热烈。 即使这样,至今也有不少人还不知道这项技术,今天笼统的介绍一下低代…

DataStream API(输出算子)

源算子 源算子 转换算子 转换算子 输出算子 1.连接到外部系统 连接外部系统是计算机科学和信息技术领域中常见的一个任务,通常涉及到与外部数据源或服务进行交互。具体的方法和工具会根据不同的应用场景和需求而有所不同。以下是一些常见的连接外部系统的方法&…

BioTech - 量子化学与分子力场

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/135787607 量子化学是应用量子力学的规律和方法来研究化学问题的一门学科,主要关注分子的结构、性质和反应过程。 量子化学的理论方法…

Midjourney基础 | 使用流程 注册,基础文生图,图的放大微调,保存

文章目录 1 使用流程2 生成自己的第一张图3 图的放大,微调3.1 放大3.2 微调变化 4 图的保存 Midjourney是依托于Discord的,但我也是通过Midjourney才了解的Discord 维基百科说~~Discord是一款专为社群设计的免费网络实时通话,主要针对游戏玩家…

Dify学习笔记-手册(三)

1、应用构建及提示词 在 Dify 中,一个“应用”是指基于 GPT 等大型语言模型构建的实际场景应用。通过创建应用,您可以将智能 AI 技术应用于特定的需求。它既包含了开发 AI 应用的工程范式,也包含了具体的交付物。 简而言之,一个应…

【设计模式】美团三面:你连装饰器都举不出例子?

什么是装饰器模式? 装饰器模式,这个设计模式其实和它的名字一样,非常容易理解。 想象一下,每天出门的时候,我们都会思考今天穿什么。睡**衣、睡裤加拖鞋,还是西装、领带加皮鞋?又或者说是&…

获取b站目录

参考链接&#xff1a; JS获取B站视频选集目录 Week6 - 知乎 代码 var x document.getElementsByClassName("clickitem"); var i; for (i 0; i < x.length; i) {var page_num x[i].getElementsByClassName("page-num")[0].innerText;var part x[i…

huggingface学习|云服务器部署Grounded-Segment-Anything:bug总会一个一个一个一个又一个的解决的

文章目录 一、环境部署&#xff08;一&#xff09;模型下载&#xff08;二&#xff09;环境配置&#xff08;三&#xff09;库的安装 二、运行&#xff08;一&#xff09; 运行grounding_dino_demo.py文件&#xff08;二&#xff09;运行grounded_sam_demo.py文件&#xff08;三…

[反转链表] [合并两个有序链表][分割链表]

这里写目录标题 反转链表合并两个有序链表分割链表 反转链表 1、题目&#xff1a; 2.思路  思路1&#xff1a;建立一个newHead,取一个节点进行头插。具体做法如下&#xff01; 建立一个newHead(新头)&#xff0c;由于一个节点里面存的是下一个节点的地址&#xff0c;如果取…

华夏基金“冰火两重天”:产品增量不增值,靠什么赢得用户?

近日&#xff0c;华夏基金发布关于华夏野村日经225交易型开放式指数证券投资基金&#xff08;QDII&#xff09;&#xff08;下称“华夏野村日经ETF”&#xff09;二级市场交易价格溢价风险提示及临时停牌公告。 公告内容显示&#xff0c;华夏野村日经ETF二级市场交易价格明显高…

DFT计算杂谈调查问卷

为更好了解公众号受众对于DFT计算的了解情况以及目标需求&#xff0c;目的以更好更准确并实用地推送给公众号受众所需要的文章&#xff0c;所以本次推送发布调查问卷并收集填写者相关信息。 调查问卷调查内容仅与公众号运营和DFT计算相关&#xff0c;所收集信息仅用作公众号受众…

如何选择和配置适合医院病历管理系统的MySQL版本?

✍✍计算机编程指导师 ⭐⭐个人介绍&#xff1a;自己非常喜欢研究技术问题&#xff01;专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目&#xff1a;有源码或者技术上的问题欢迎在评论区一起讨论交流&#xff01; ⚡⚡ Java实战 |…