Описание проекта:
Нужен качественный нарисованный human-like avatar для интерактивного web widget. Это не статичная картинка и не
простая CSS-анимация. Нужен живой анимированный персонаж в Rive: аватар смотрит на пользователя, моргает,
слегка двигает головой, реагирует на разные состояния интерфейса и может двигать ртом во время речи/озвучки.
Стиль: современный, чистый, friendly, human-like, похожий на качественный digital illustration / product
mascot. Не нужен 3D, не нужен фотореализм, не нужен детский мультяшный стиль.
Главная задача:
Создать один базовый Rive-риг human avatar, который можно кастомизировать: имя, цвет бренда, волосы, цвет
волос, лицо, одежда, цвет одежды, цвет глаз, skin tone, аксессуары. В будущем на базе этого рига планируется
сделать библиотеку из 10-20 аватаров.
Что должно быть в результате:
1. Исходный файл .riv.
2. Экспортированный .riv, готовый для web runtime.
3. Все права на коммерческое использование должны быть переданы нам.
4. Нельзя использовать чужие copyrighted assets, чужих персонажей или копии существующих сервисов.
5. Аватар должен работать через Rive runtime в браузере.
6. Файл должен быть оптимизирован для web widget: быстро грузиться, без тяжёлых текстур и внешних зависимостей.
Обязательная кастомизация персонажа:
Аватар должен поддерживать переключение вариантов через Rive inputs / state machine / data binding:
- Skin tone: минимум 6 вариантов.
- Face shape: минимум 3 варианта.
- Hair style: минимум 8 вариантов.
- Hair color: минимум 10 вариантов.
- Eye color: минимум 6 вариантов.
- Eyebrow style/color: отдельно или связано с hair color.
- Outfit style: минимум 5 вариантов.
- Outfit color: минимум 10 вариантов.
- Brand accent color: минимум 10 вариантов или управляемый цвет.
- Accessories: минимум 5 вариантов, например glasses, headset, earrings, no accessory.
- Optional: background glow / ring / online badge color.
Если в Rive неудобно передавать HEX-цвета напрямую, можно сделать palette indexes: hairColorIndex,
outfitColorIndex, brandColorIndex, skinToneIndex.
Состояния аватара:
Нужна Rive State Machine с понятными inputs. Название state machine: AvatarStateMachine.
Обязательные состояния:
- idle — спокойное ожидание, лёгкое дыхание, микродвижения головы.
- greeting — короткое приветствие / wave / smile.
- active — аватар находится в активном состоянии.
- listening — аватар внимательно слушает.
- thinking — короткая реакция ожидания.
- speaking — аватар говорит, активная mouth animation.
- handoff — нейтральное состояние перехода.
- offline — спокойное выключенное состояние.
- error — мягкая ошибка, без агрессивной анимации.
Обязательные анимации лица:
- Natural blinking.
- Eye movement / subtle look around.
- Smile / neutral / focused expressions.
- Head nod.
- Small head turn left/right.
- Mouth movement for speaking.
- Smooth transition between states.
- No “jumping up and down” as the main animation. Нужна именно живая мимика лица.
Lip sync / mouth rig:
Нужна поддержка lip sync. Минимальный вариант: input mouthOpen или volume, который открывает рот по уровню
громкости.
Идеальный вариант: viseme inputs:
viseme_0 ... viseme_21: number 0-1
isSpeaking: boolean
volume: number 0-1
Если full viseme rig слишком дорогой, нужно дать отдельную цену для simple volume mouth и full viseme mouth.
Rive inputs, которые должны быть документированы:
isActive: boolean
isListening: boolean
isThinking: boolean
isSpeaking: boolean
isOnline: boolean
isMuted: boolean
isError: boolean
greet: trigger
wave: trigger
nod: trigger
smile: trigger
handoff: trigger
volume: number 0-1
lookX: number -1 to 1
lookY: number -1 to 1
skinToneIndex: number
faceShapeIndex: number
hairStyleIndex: number
hairColorIndex: number
eyeColorIndex: number
outfitStyleIndex: number
outfitColorIndex: number
accessoryIndex: number
brandColorIndex: number
Artboards / размеры:
Нужны минимум 3 artboards:
1. WidgetAvatar — квадратный avatar для web widget, 512x512 или scalable vector.
2. LargeAvatar — крупный bust/portrait avatar для demo screen.
3. AvatarOnlyTransparent — только персонаж на прозрачном фоне.
Аватар должен хорошо смотреться в маленьком размере примерно 160x160 px и в крупном размере примерно 500x500
px.
Качество дизайна:
Персонаж должен быть приятный, современный, human-like. Не нужен примитивный flat icon style. Не нужен странный
cartoon face. Не нужен generic stock avatar. Лицо должно выглядеть аккуратно: нормальные пропорции, приятные
глаза, качественные волосы, аккуратная одежда.
Перед финальной анимацией нужно сначала согласовать static concept: 2-3 варианта лица/стиля. После утверждения
одного варианта делать rig и анимацию.
Этапы работы:
1. Moodboard / style proposal.
2. 2-3 static avatar concepts.
3. Утверждение одного concept.
4. Создание Rive rig.
5. Добавление кастомизации.
6. Добавление state machine.
7. Добавление facial animations.
8. Добавление mouth rig / lip sync.
9. Оптимизация файла.
10. Передача .riv, документации по inputs и короткого demo HTML/preview.
Критерии приёмки:
- Аватар выглядит профессионально и human-like.
- Все состояния переключаются через Rive State Machine.
- Можно менять волосы, цвет волос, skin tone, глаза, одежду, цвет бренда.
- Есть idle, active, listening, thinking, speaking animations.
- Рот двигается во время speaking.
- Анимация лица живая, не только движение всего тела вверх-вниз.
- .riv работает в web runtime.
- Файл не содержит чужих copyrighted assets.
- Переданы коммерческие права.
- Есть короткая документация: список inputs, artboards, states, как менять варианты.