1.2版本安卓下gltf模型丢失材质问题

问题描述

  • Unity中导出的Gltf模型,导出后有3个文件(.gltf&.bin&.png)
  • 然后我导出了两个模型,这两个模型使用的是相同的贴图
  • 目录结构是这样:
    企业微信截图_16068186903510
  • 预览和web平台上两个模型正常表现:
  • 材质是默认导入的状态:
    企业微信截图_16068187676135
  • 这样在安卓平台上会出现:只会有一个模型有贴图,其他的都会变黑:
  • 然后呢,我尝试对这两个模型使用提取材质,并且对提取后的材质重新赋予贴图,这样的话,在安卓平台上渲染才会正常
  • 虽然这是一个解决方案,但是模型提取材质后,拼好的场景中的模型全部会丢失材质。如果重新拖或者重新赋值材质会要老命啊
  • 所以官方能不能给个这个问题的解决方案哟

复现Demo

  • 版本:CocosCreator3D 1.2
  • 直接构建安卓工程即可发现材质丢失现象
  • ModelIssueDemo.zip (1.2 MB)

自顶,勿沉

BUG的问题不知道,但是确实要吐槽下这个丢失材质的问题,之前看官方教程的时候就感觉莫名繁琐了,提取材质后重新索引到提取后的材质应该是通用的需求把。

感觉导入模型后默认第一步操作就应该提取材质,虽然你现在修改起来很繁琐但是材质最好还是提取后统一管理比较好。

主要是模型资源都是Unity中买的,重新提取材质的话,还得一个个提取然后重新给贴图,现在批量操作还有BUG,所以当时就选择让他自己去读取贴图,使用的是模型中导出的自带材质。万万没想到在安卓上会出现这种问题

用自带材质不提取的话,最直接一个问题就是性能优化都不好处理吧。你着急的话肯定也只能慢慢提取,安卓的问题解决了也只是解决你眼前的问题,提取材质我觉得目前来说是没法跳过的。另外我也想知道有没有更好的实践方案。

嗯,确实是,之前没注意到静态合批要求材质相同