Im working on a 3D engine in Java using OpenGL. Animated models are set up and working by transforming vertices based on joint weights in the vertex shader, i think this is common practice.
I am now trying to figure out how to manage equipment that can be worn or carried by a character, like armor and weapons. How is this commonly done, or whats the best way to do it?
Im imagining that you make some sort of attachment point for weapons on the character model, but since that all happens in the vertex shader, how do you go about that? Would you "intercept" the joint transformations and render the weapon independently? Also, how do you find out what the attachment point for the weapon is? Im using a collada file loader to parse .dae files for models and animations, can you somehow "index" bones with special attributes in Blender/other 3D programs?
And for armor: Since armor has to not just move with the character but also stretch and deform with him, do you somehow merge the models, or overlap them?
Im really in the dark about the practices for this but i can't find anything comprehensive on the internet that explains it.