PlayCanvas doesn’t support FBX at runtime.
Your best bet here is to use GLBs or upload the JSON files with the mapping files.
Eg, when you download JSON from the Editor, you can see the mapping.json file in the same directory as the model JSON file along side the material JSON files
The engine expects this layout in general.
All that said, GLBs as containers would be less messy and allow you to have textures and materials too.
Example: https://playcanvas.com/editor/scene/922242
Code: https://playcanvas.com/editor/code/655732?tabs=30952649
var LoadGlbExternalContainer = pc.createScript('loadGlbExternalContainer');
LoadGlbExternalContainer.attributes.add('url', {type: 'string'});
// initialize code called once per entity
LoadGlbExternalContainer.prototype.initialize = function() {
var app = this.app;
var self = this;
app.assets.loadFromUrlAndFilename(self.url, null, "container", function (err, asset) {
// Add the loaded scene to the hierarchy
self.entity.addComponent('model', {
asset: asset.resource.model
});
if (asset.resource.animations.length > 0) {
self.entity.addComponent('animation', {
assets: asset.resource.animations
});
}
});
};