Panos and I have been hard at work creating, exporting, importing, and programming to progress further with the character customization. I'd like to share some of the epic and/or cringe inducing results.
It is important to mention that not all these assets are properly centered yet which is why some eyes are level with the nose for example. It got me a laugh so I just wanted to share it with you!
Look at this big page of images!
But wait, there's more!
Let's talk about texture swaps
The main problem with extra texture swaps is decreased performance. If you don't know what texture swaps are, click here.
Skeletons usually only take a single texture swap to render... but once use an attachment, that turns into 3 texture swaps. And if you use another attachment somewhere else in the draw order (aside from immediately after the last) then you have 5 texture swaps. You can see how quickly this gets out of hand.
Now let's talk about the solution to using attachments!
If you want to use attachments, you will unfortunately have to place every bone and slot for the skeleton without any images attached, except one! I usually just put a 1x1 black pixel at the very top of the draw order.
IMPORTANT NOTE: All images used as attachments should be from the same texture page.
Now in Game Maker: Studio you will need to use skeleton_attachment_create() to create all the images that will later be tied to our skeletons slots. Generally images will need to be rotated about 90 degrees in either direction but it depends on your skeleton. One important note is that all your sprites should be centered but when using skeleton_attachment_create(), leave the x and y origin at 0.
Next we will use skeleton_attachment_set() to connect all of our attachments to their corresponding slots.
How and why it works
When you replace all the skeletons images with images from within Game Maker (assuming they are from the same texture page), all the images will be drawn in the proper draw and only from the that texture page. Aside from that dot I mentioned earlier the game only has to draw sprites from one texture page. That means the whole skeleton only costs two texture swaps per skeleton with infinitely-many attachments.