|
| 1 | +# Customization Guideline |
| 2 | + |
| 3 | +## Anatomy of Face |
| 4 | + |
| 5 | +<img src="https://github.com/user-attachments/assets/0f9da4df-f5f6-48ce-adc6-ac0405041b6f" width=50% alt="anatomy"> |
| 6 | + |
| 7 | +`m5avatar::Face` consists of five components: |
| 8 | + |
| 9 | +- left eye |
| 10 | +- right eye |
| 11 | +- mouth |
| 12 | +- left eyebrow |
| 13 | +- right eyebrow |
| 14 | + |
| 15 | +You can customize a face with replacing the components. |
| 16 | +[examples/face-and-color/face-and-color.ino](../examples/face-and-color/face-and-color.ino) is an example of using and customizing faces. |
| 17 | + |
| 18 | +## Face templates |
| 19 | +Pre-assembled faces are available and defined in [src/faces/FaceTemplates.hpp](../src/faces/FaceTemplates.hpp) |
| 20 | + |
| 21 | +|preview|face|eye|mouth|eyebrow|notes| |
| 22 | +|:-:|:-|:-|:-|:-|:-| |
| 23 | +|<img src="https://github.com/user-attachments/assets/5908e69f-9674-43df-a933-9f8d24fa488c/" width=20% alt="SimpleFace">|`SimpleFace`| `EllipseEye` | `RectMouth` | -- | Alternative implementation of (Native) `Face` |
| 24 | +|<img src="https://github.com/user-attachments/assets/5457eaec-a774-46f5-90dd-7ee1a3e13c03" width=20% alt="DoggyFace">|`DoggyFace`|`DoggyEye`|`DoggyMouth`|`RectEyebrow`|Alternative implementation of `DogFace`| |
| 25 | +|<img src="https://github.com/user-attachments/assets/0ddd047a-76bf-450f-8a32-d245fdc40380" width=20% alt="OmegaFace">|`OmegaFace`|`EllipseEye`|`OmegaMouth`|--|| |
| 26 | +|<img src="https://github.com/user-attachments/assets/fc0a5d3f-bf0d-4563-aa19-1e2d565e83aa" width=20% alt="GirlyFace">|`GirlyFace`|`GirlyEye`|`UShapeMouth`|`EllipseEyebrow`|| |
| 27 | + |
| 28 | + |
| 29 | + |
| 30 | + |
| 31 | + |
| 32 | +## Eyes |
| 33 | + |
| 34 | +Predefined eye components are in [src/Eyes.hpp](../src/Eyes.hpp) and [src/Eyes.cpp](../src/Eyes.cpp) |
| 35 | + |
| 36 | +- `EllipseEye` (Extended implement of `Eye`) |
| 37 | +- `GirlyEye` |
| 38 | +- `PinkDemonEye` |
| 39 | +- `DoggyEye` (Alternative implement of `DogEye`) |
| 40 | + |
| 41 | + |
| 42 | + |
| 43 | +## Mouth |
| 44 | + |
| 45 | +Predefined mouth components are in [src/Mouths.hpp](../src/Mouths.hpp) and [src/Mouths.cpp](../src/Mouths.cpp) |
| 46 | + |
| 47 | +- `RectMouth` (Alternative implement of `Mouth`) |
| 48 | +- `OmegaMouth` |
| 49 | +- `UShapeMouth` |
| 50 | +- `DoggyMouth` (Alternative implement of `DogMouth`) |
| 51 | + |
| 52 | +## Eyebrows |
| 53 | + |
| 54 | +Predefined mouth components are in [src/EyeBrow.hpp](../src/EyeBrow.hpp) and [src/EyeBrow.cpp](../src/EyeBrow.cpp) |
| 55 | + |
| 56 | +- `RectEyebrow` |
| 57 | +- `EllipseEyebrow` |
| 58 | +- `BowEyebrow` |
| 59 | + |
| 60 | + |
| 61 | +## Notes |
| 62 | + |
| 63 | +### Native files |
| 64 | +- [src/Eye.h](../src/Eye.h) and [src/Eye.cpp](../src/Eye.cpp) : Native `Eye` code |
| 65 | +- [src/Mouth.h](../src/Mouth.h) and [src/Mouth.cpp](../src/Mouth.cpp) : Native `Mouth` code |
| 66 | +- [src/Eyeblow.h](../src/Eyeblow.h) and [src/Eyeblow.cpp](../src/Eyeblow.cpp) : Native `Eyeblow` code for Eyebrow |
| 67 | +- [src/faces/DogFace.h](../src/faces/DogFace.h) : Native `DogFace` code |
0 commit comments