首页 > 解决方案 > 如何从资产包中加载网格?

问题描述

我正在尝试使用脚本加载网格以替换另一个网格。我不是在做一个 Unity 项目,而是一个带有统一参考的 Visual Studio 项目。我加载资产包和获取网格的代码是:

var vshojoBundle = AssetBundle.LoadFromFile("vshojo");
if (vshojoBundle == null) meshNames.Add("bundle not read");
GameObject silverObject = vshojoBundle.LoadAsset("SilverAssets.obj");
MeshFilter silverNewMesh = silverObject.GetComponent<MeshFilter>();
meshNames.Add(silverNewMesh.mesh.name);

MeshNames只是一个列表,稍后会写入日志文件以帮助我弄清楚事情。当试图在最后一行中获取网格的名称时,我收到以下错误:NullReferenceExpection: System.NullReferenceException: Object reference not set to an instance of an Object. 如果我不使用该行写入日志并跳到网格替换,则会发生相同的异常,当我替换网格时会出现相同的错误。

标签: unity3dmeshassetbundle

解决方案


推荐阅读