Hello! I am fairly new to 3d rendering and BabylonJS so might have a beginner question.
I am able to load a gltf file into the app successfully, but there seem to be some extra meshes rendering below the pet.
(squares, circles, triangle shapes, and have names such as
- cs_solid_bar_01
- cs_solid_circle_squashed_green
- cs_solid_fk_red_primitive0)

I cannot simply remove these meshes because that would actually affect the rendering of animal. Any suggestions how I can remove/hide those?
Environment:
- iOS
- React Native Babylon
- gltf
Is this a skeleton mesh?
It looks like those extra meshes are skeletal controllers.
Generally they shouldn’t be exported, what 3d software are you using to export the gltf file.
Hi @qq2315137135
Yes I think it is, since the gltf is rigged and animated! I didn’t make the 3d object myself but I know it was created with blender. Should I re-export it without the skeletons?
If you don’t want to dig deeper into the problem.
You can try to find the common parent of these additional meshes, and then call
// node is the parent node you found for them
node.setEnabled(false)
No, the skeleton does not cause this problem, the skeleton is not visible.
These meshes should be left over from the controller, so you should generally be able to remove them safely
If you don’t mind, you can post the glb file.
I can help you see how to get rid of these things
1 Like
That’s too much to ask for lol! But thanks so much for offering the help!
I’ll try to remove them in an editor myself and see if it works! Thanks again!
GLTF doesn’t really have a notion of meshes visibility, so you are always going to get all the meshes in the file. Drop your glb into sandbox (sandbox.babylonjs.com). Open inspector, and you can see what meshes are in the scene. Find the common root of all those extra meshes and turn them all off with setEnabled(false).
2 Likes
Omg that worked like a charm, I inspected the gltf file and did find a root node for the extra mesh. So was able to fix the problem with
// remove unused parts
loadScene.getNodes().forEach((n) => {
if (n.name === "cs_grp") {
console.log(n);
n.setEnabled(false);
}
});
Thank you both so much @ericwood73 and @qq2315137135 really appreciate the help!
1 Like