To switch views on your character from a front-facing to a side view for any animation while allowing for interchangeable outfits and hairs, you have a few options based on the contexts provided:
Use Separate Skeletons for Different Views: As suggested in the first context, handling different perspectives can be done by using everything in one skeleton or multiple skeletons. For ease and flexibility, especially when different views have unique bone structures or attachments, using separate skeletons for each direction (front, side, etc.) might be easier. At runtime, you would display the appropriate skeleton based on the character's direction.
Attachments/Skin Placeholders for Directions: Another approach, as mentioned in the second context, is to have each direction as a separate attachment/skin placeholder inside the same slot. This setup allows you to create animations specific to each direction by turning the attachments/skin placeholders on or off as needed. This method keeps everything within a single skeleton but may require more intricate setup for animations.
Combining Skins Programmatically at Runtime: If you're dealing with multiple skins (outfits and hairs) that need to be interchangeable across different views, you might need to programmatically construct a skin at runtime by combining elements from different skins or attachments as needed. This approach allows for a high degree of customization and can accommodate complex character setups where players can change outfits or hairstyles on the fly.
Animation and Skin Management: Ensure that your animations are set up in a way that can accommodate switching between different views. This might involve creating specific animations for each view and managing skin changes through your game's logic to ensure the correct view and outfit/hair combination is displayed based on the character's actions and player choices.
Given your requirements, a combination of these approaches might be necessary. For example, you could use separate skeletons for drastically different views (front vs. side) and manage outfits and hairs through attachments/skin placeholders that can be programmatically combined at runtime. This setup allows for flexibility in animation and skin management, accommodating the interchangeable nature of outfits and hairs across different character views.