creator3是否支持运行时加载外部fbx并动态上材质和贴图

creator3是否支持运行时加载外部fbx并动态上材质和贴图?

3.0.0用什么语法什么类型,能否写几行Demo,谢谢

内部resources目录下的模型加载没问题,
resources.load(“a_01/对象024”, Mesh, (err, mesh: any) => {
this.model.mesh = mesh
})

外部载入的就不行
assetManager.loadRemote(“http://xxx.xxx.xxx/box.fbx”, Mesh, (err, mesh: any) => {
以上第一个方法resources目录内引擎解析之后发现真正的mesh数据是在fbx文件内部叫“对象024”
而下载到的二进制存储在mesh._file里,如何拿出来构建成mesh对象呢?
//this.model.mesh = mesh 报错
//this.model.mesh = mesh._file 报错
})

问一下引擎官方吧,我没试过:joy:

好吧,谢啦

官方就不支持直接使用fbx,你在编辑器里导入的fbx是被编辑器默默的转义成gltf的,不信你找一下你的fbx文件在library里长什么样

我将 fbx 打成 asset bundle 资源可以加载,这个是否满足你的需求

可以打成 asset bundle,我这样是可以动态替换材质和模型的。你们是 3D 模型吗?我们这样替换发现结果不符合预期,不同模型的材质个数,以及 mesh 可能不同。

你们这个是为了做什么需求呀?动态换装吗

bundle应该可以

是的。请问大佬这边有3D 换装的的思路吗?非常感谢

直接换贴图吧

感谢各位热情建议,我是给甲方做3D磨具展示的,甲方希望产品交付之后,他们后期有新模型可以直接仍在远程服务器的文件夹里由Web远程加载展示,他们不会Cocos,不会技术。不过看来这种方法cocos creator 3.0也不支持。assetBundle客户是不会做的。单子已经放弃了。

我们也接了这种案子,有能解决问题的方案吗

需要在运行时解析 FBX 数据,然后构建 Mesh,参考 Geometry 中构建 mesh 的方法

2赞

好的,谢谢,我去看看

image

我是这样动态加载FBX里面的Anim,mesh应该也是同理

具体代码怎么写呢?

同问这个问题

遇到类似的需求了