unity3d - 如何从资产包中加载网格?
问题描述
我正在尝试使用脚本加载网格以替换另一个网格。我不是在做一个 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
. 如果我不使用该行写入日志并跳到网格替换,则会发生相同的异常,当我替换网格时会出现相同的错误。
解决方案
推荐阅读
- excel - 用于检查列的 VBA 代码只有公式
- php - PhP 如何将会话数组发送到 MySQL 表?
- arrays - 使过滤器与 Angular Material Data Table 中的 Array Object 属性一起正常工作
- azure - 无法从本地机器 ping 到 azure vnet
- azure - 阅读所有注册 azure notification hub python
- spring - 消息处理在 Spring 集成中随机暂停/暂停一小段时间
- javascript - 如何从一个html页面重定向到另一个html
- html - 使用属性在 HTML 中定位链接
- c++ - 非模板类中模板方法中的dll和静态变量
- elasticsearch - 字段总和的Elasticsearch(ELK堆栈)划分