I’m a beginner in Three.js and trying to build a dressing room demo, but I’m not sure how to approach it.
Goal of the Project
I want to create an interactive 3D humanoid avatar where users can:
Adjust body proportions using sliders:
Height
Weight (scaling upper/lower body, similar to the Nintendo Wii Mii editor)
Chest width
Hip size
Try on different shirts and change their sizes (XS to XL) to see how they fit the avatar.
Challenges I’m Facing
How to modify the character’s shape dynamically. Should I use skeleton-based scaling (skinning), or manipulate individual body parts with morph targets?
Best way to apply clothing. Should the shirts be separate 3D models, or should I use a cloth physics simulation?
Handling size variations for clothing. Should I swap different shirt models, or scale a single mesh dynamically?
Looking for Advice On
Best approach for scaling body parts realistically.
How to attach clothing to the model.
Whether there are any Three.js libraries or examples that could help with this.
Generally, what you write seems to me to be very difficult to achieve, I mean, it’s going to be a lot of work… for several reasons.
If you are talking about a model with clothes, it will be the usual geometry of the model with clothes on it. Nothing more. If you want to animate it in some way (simplest way), where the clothes fade in and fade our, it probably won’t be very exciting for you or the potential user. What you are writing about appears in my head where the user will dynamically modify the avatar with appropriate transitions (fancy animations) that will add additional geometries. Because whether it is an avatar or a piece of clothing, it is nothing more than geometry with all its consequences. To illustrate how much work you would have to put into this type of project, take a look at this:
, and we have “only” models that have been changed to particles that change position for a specific event (and you probably need whole let say structure like whole one part, for example t-shirt - not like points) . And now imagine how much work you would have to put into the whole thing to morph like this SVG together with gsap, but only in a 3D environment:
But even if you created such a project, it seems to me that you would have a lot of problems with performance.