I’m working on a Unity project where I fetch a dynamic 3D model from an API, which can be different for each user. My goal is to allow users to apply and adjust makeup to the model (face, eyes, lips) in real-time during runtime.
What I want to achieve:
Enable users to add, remove, and adjust makeup in real-time (e.g., colors, textures, opacity) to dynamic 3D models. Provide a variety of makeup options (e.g., eyeshadow, lipstick, blush, etc.). Create an intuitive UI for selecting and adjusting different makeup options. Ensure that the app performs well on both Android and iOS devices
Challenges:
The model is fetched dynamically and is different for each user. I need to apply makeup textures/materials specifically to face regions (e.g., lips, eyelids) without knowing the exact model details in advance.
- What I’ve tried:
I’ve successfully retrieved the 3D models from the API and displayed them in Unity. I have applied static materials and textures to fixed models, but since the models vary for each user, the makeup doesn’t always align with the model’s facial features. I’ve experimented with Unity’s SkinnedMeshRenderer and material properties to dynamically change textures, but I’m struggling to properly target specific regions (e.g., lips, eyes) on varying face models.
- What I’m expecting:
I want a solution that can dynamically apply makeup to specific areas (e.g., lips, eyelids) on any 3D model, regardless of variations in model structure. The makeup should be adjustable (colors, opacity, etc.) and should smoothly adapt to different models. I’m looking for efficient techniques to ensure this works on mobile devices without performance issues.