Unity AssetBundle笔记

Unity中的AssetBundle用于动态加载和卸载资源,提高应用性能。资源不应放入Resources目录除非需要运行时加载。利用GameObject.Destroy()无法释放资源,需用Resources.UnloadAsset()或UnloadUnusedAssets()卸载。推荐使用LZ4压缩方式打包AssetBundle,通过LoadFromFile()或LoadFromFileAsync()异步加载。加载资源时指定完整路径避免冲突,下载AB包后保存至可读写目录,使用AssetBundle.UnloadAllAssetBundles卸载全部AssetBundles,Resource.UnloadUnusedAssets卸载未使用的资源,GameObject.Destroy()销毁游戏对象。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Resources 目录

Unity 打包时只会保留Resources 和StreamingAssets 目录下的资源,所以不需要运行时加载的资源一定不要放到Resources 目录。

GameObject.Destroy()

删除游戏对象并不会把它引用的资源删掉,可以使用Resources.UnloadAsset() / Resources.UnloadUnusedAssets() 方法强制卸载资源。

AssetBundle

打包代码

using System.Collections.Generic;
using UnityEngine;
using UnityEditor;
using System.IO;
public class AssetBundleTool {
	[MenuItem("Tools/BuildAssetbundle")]
	static void BuildAssetbundle(){
		string outpath = Path.Combine(Application.dataPath, "StreamingAssets");
		if(Directory.Exists(outpath)){
			Directory.Delete(outpath, true);
		}
		Directory.CreateDirectory(outpath);

		// 在editor中填写bundle名后打包
		// BuildPipeline.BuildAssetBundles(outpath, BuildAssetBundleOptions.ChunkBasedCompression, BuildTarget.StandaloneWindows);

		// 代码中设置要打包的资源
		List<AssetBundleBuild> builds = new List<AssetBundleBuild>();
		builds.Add(new AssetBundl
Unity中,将地形转换为Mesh格式是优化静态场景的重要步骤,但随之而来的是资源的增加,这可能会影响游戏的加载时间和运行效率。为了优化这些资源并使它们更加适合部署,我们可以采取以下步骤: 参考资源链接:[Unity中地形Mesh转换技术详解](https://wenku.csdn.net/doc/52fdzcicbg?spm=1055.2569.3001.10343) 1. 首先,使用TerrainToMesh插件将Unity的地形系统转换成Mesh格式。这个过程涉及将地形的高度图和纹理信息转换为网格模型,并进行必要的设置,比如网格密度和材质应用。 2. 转换完成后,我们可以利用Mesh压缩技术来减小生成的网格模型文件大小。Unity提供了多种网格压缩选项,可以在导入模型时设置。例如,可以使用'Compress Meshes'选项来减小网格的内存占用。 3. 接着,为了进一步优化资源,可以将这些压缩后的Mesh模型打包成文件压缩包(如.zip格式)。这样做不仅减少了单个文件的大小,还可以将多个文件合并成一个文件,简化部署过程。 4. 在压缩包中,还可以包含其他优化后的资源,如纹理图集、音频文件等,这样可以确保所有的资源在传输和加载时都是高效和优化的。 5. 最后,在游戏启动或加载场景时,可以通过UnityAssetBundle功能来动态加载和卸载这些压缩包资源,确保游戏运行时不会占用不必要的内存。 通过上述步骤,我们可以有效地将Unity中的地形Mesh转换与文件压缩包技术结合起来,实现资源的优化,从而提升游戏的性能和用户体验。对于想深入了解Mesh转换和资源优化的开发者来说,《Unity中地形Mesh转换技术详解》是一个极好的学习资源,它详细介绍了Mesh转换的原理和操作流程,以及如何应用这些技术来提升游戏性能。 参考资源链接:[Unity中地形Mesh转换技术详解](https://wenku.csdn.net/doc/52fdzcicbg?spm=1055.2569.3001.10343)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值