The Godot Q&A is currently undergoing maintenance!

Your ability to ask and answer questions is temporarily disabled. You can browse existing threads in read-only mode.

We are working on bringing this community platform back to its full functionality, stay tuned for updates.

godotengine.org | Twitter

+1 vote

Is there a way of doing this? I’ve spent days trying to figure out how to attach a weapon to have a hand model and import it, but only armature deform works and that warps the gun.

  • Bone and object constraints (child of, copy transform) don’t work at all as gltf doesn’t export it or Godot ignores it.
  • bone parenting seems to almost work and even imports as a boneattachment, but it’s offset badly in Godot and requires each gun to have its own bone and armature, which is clunky.

Is there a method to this I’m not understanding? I don’t want to manually parent a boneattachment to every gun as I may need to make changes later to the weapons glb and there’s no way of reparenting inherited nodes.

in Engine by (42 points)

2 Answers

–1 vote

Look up the BoneAttachment node. I think this is what you should be using

by (1,346 points)
0 votes

Per the documentation:

A bone can be the parent of an object in Blender; this relation is exported as a BoneAttachment node in the Godot scene.
https://docs.godotengine.org/en/stable/tutorials/assets_pipeline/escn_exporter/skeleton.html#bone-attachment

Make your gun the child of the bone you want it to be attached to in Blender, and Godot will import it properly.

by (97 points)
Welcome to Godot Engine Q&A, where you can ask questions and receive answers from other members of the community.

Please make sure to read Frequently asked questions and How to use this Q&A? before posting your first questions.
Social login is currently unavailable. If you've previously logged in with a Facebook or GitHub account, use the I forgot my password link in the login box to set a password for your account. If you still can't access your account, send an email to [email protected] with your username.