[Unity]UnityFactory.factory.BuildArmatureComponent空引用异常怎么办
最近做面试项目,第一次接触DragonBones,尝试在代码中创建ArmatureComponent
,
armatureComponent = UnityFactory.factory.BuildArmatureComponent(clothesName);
Assert.IsNotNull(armatureComponent);
然后每次都是BuildArmatureComponent
抛空引用异常,连Assert都碰不到,就算有时候能碰到也过不去这个Assert,好像跟mesh什么什么有关系
直接说结论,导入资源的时候,正常来说是在项目中导入两个json一个png,然后在这里
创建一个ScriptableObject,然后现在项目里是这四个文件对吧:
这个时候不能直接拖Data给脚本用,需要在Hiearchy里创建一个Armature Object
出来
然后Data文件拖到右边Inpector里,点一下这个Create
这个时候再看文件夹,会生成第五个文件:
有了那个_tex_Mat
之后,在脚本里调用BuildArmatureComponent
才不会抛异常
报错就是因为缺这个文件,具体我不懂Unity学太浅了
自己直接调用BuildArmatureComponent
的时候不会生成这个文件,只有在Editor里创建一个对象出来,然后点那个脚本里的Create才可以
所以就是每次换素材时(三个全新的文件),都要去编辑器里手动用新素材创建一个ArmatureObject
出来,然后去右边点一下那个Create来生成这个_tex_Mat
文件,后面再调用脚本再干嘛的就能用了
如果是用UGUI模式我猜测也需要手动创建一个ArmatureObject(UGUI)
对象,然后生成UGUI版的这个文件,在代码里才能正常使用
所以为什么BuildArmatureComponent()
函数不能直接生成这个文件呢,为什么呢
浪费我两个小时的时间,真生气啊
分类:
Unity
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构