# MAYU VULPINE EDIT ## Финальное техническое задание Нужно превратить уже существующую пользовательскую кастомную модель на основе Mayu в самостоятельную, аккуратно оформленную и максимально совместимую VRChat-базу под названием: `Mayu Vulpine Edit` Это НЕ задача «сделать кастомную Mayu с нуля». Основной FBX пользователя уже содержит его визуальные изменения и является главным исходником внешности: `Mayu Oyama Ears & Tora Tail.fbx` Оригинальный Mayu asset/package используется только как READ-ONLY эталон для восстановления и проверки всей оригинальной функциональности Mayu. Также предоставляется отдельный донор хвоста: `Fluffy Tail - Gell3D.fbx` --- # 1. ЧТО НУЖНО ПОЛУЧИТЬ В конце должны существовать отдельные версии: `Mayu_Vulpine_PC_Compatible` `Mayu_Vulpine_PC_Optimized` `Mayu_Vulpine_Android_Fallback` При необходимости для корректной публикации настоящего VRChat Custom Fallback также создать Windows-вариант того же облегчённого fallback: `Mayu_Vulpine_Fallback_PC` Оригинальная Mayu и пользовательский исходный custom FBX должны остаться нетронутыми. --- # 2. ПУТИ, КОТОРЫЕ НУЖНО ЗАПРОСИТЬ У ПОЛЬЗОВАТЕЛЯ В начале запросить только: ```text SOURCE_FOLDER = MAYU_ORIGINAL_ASSET_FOLDER = UNITY_PROJECT = OUTPUT_FOLDER = ``` ## SOURCE_FOLDER Содержит рабочие исходники пользователя: `Mayu Oyama Ears & Tora Tail.fbx` `Fluffy Tail - Gell3D.fbx` Основной FBX уже редактировал пользователь. Не пытаться заменить его оригинальной Mayu. Он является визуальной и геометрической основой Mayu Vulpine Edit. ## MAYU_ORIGINAL_ASSET_FOLDER Полная оригинальная папка Mayu. Использовать исключительно как: `READ ONLY REFERENCE` Нужно анализировать её для понимания: - prefab; - hierarchy; - controllers; - animation clips; - expressions; - parameters; - MMD; - Face Tracking; - PhysBones; - Contacts; - Materials; - Audio; - меню; - toggles; - Modular Avatar/VRCFury; - accessory attachment; - прочей оригинальной функциональности. Ничего внутри неё не изменять. ## UNITY_PROJECT Отдельный тестовый Unity-проект, который предоставляет пользователь. Пользователь может заранее импортировать нужные VRChat/Mayu/GoGo Loco/MMD/другие assets. ## OUTPUT_FOLDER Использовать для: - `.blend`; - временных FBX; - отчётов; - Blender Python scripts; - backup; - промежуточных результатов. --- # 3. READ-ONLY ЗАЩИТА ОРИГИНАЛЬНОЙ MAYU Перед работой просканировать `MAYU_ORIGINAL_ASSET_FOLDER`. Создать: `OriginalMayuHashes_Before.json` Сохранить для каждого файла: - relative path; - file size; - SHA256. После завершения повторить: `OriginalMayuHashes_After.json` Хеши должны совпадать. Codex не имеет права внутри original Mayu folder: - создавать файлы; - менять `.meta`; - менять import settings; - пересохранять prefab; - изменять controllers; - изменять clips; - изменять FBX; - переименовывать; - удалять; - делать Unity reserialization. Если для Mayu Vulpine Edit нужно изменить оригинальный Mayu asset: сначала создать независимую копию в папке Mayu Vulpine Edit и работать только с ней. --- # 4. ВАЖНО: КАКОЙ FBX ЯВЛЯЕТСЯ БАЗОЙ `Mayu Oyama Ears & Tora Tail.fbx` — уже пользовательская кастомная модель. Не восстанавливать её внешний вид из оригинальной Mayu. Не заменять пользовательские изменения оригинальными Mayu мешами. Не считать этот файл «чистым оригиналом». Он является: `Mayu Vulpine Edit visual source` Нужно сохранить все пользовательские визуальные изменения, кроме тех элементов, которые далее явно указано исправить или заменить. --- # 5. BLENDER Пользователь использует: `Blender 5.2.2 LTS` Использовать эту версию как основную. Допускается создавать Blender Python scripts для автоматизации анализа и безопасных изменений. Не требовать от пользователя вручную выполнять операции, которые можно безопасно выполнить скриптом. --- # 6. ПОЛНЫЙ АУДИТ CUSTOM FBX Сначала импортировать пользовательский custom FBX без изменений. Сохранить: `Mayu_Vulpine_00_IMPORTED.blend` Создать: `CustomSourceAudit.json` Зафиксировать: - Objects; - Meshes; - Armatures; - vertices; - triangles; - materials; - material slots; - UV; - textures; - modifiers; - Shape Keys; - полный список Shape Keys; - порядок Shape Keys; - bones; - bone hierarchy; - bone names; - full bone paths; - rest transforms; - deform flags; - vertex groups; - skin weights; - constraints; - drivers; - actions; - custom properties. Предварительный анализ дал примерно: ~20 120 vertices ~38 432 triangles 162 bones ~350 Shape Keys / BlendShape channels 3 material slots Все значения самостоятельно перепроверить. --- # 7. ОРИГИНАЛЬНАЯ MAYU КАК ФУНКЦИОНАЛЬНЫЙ ЭТАЛОН Проанализировать `MAYU_ORIGINAL_ASSET_FOLDER`. Создать: `OriginalMayuStructure.md` `OriginalMayuDependencies.md` Найти оригинальные: - prefab; - FBX; - Armature; - Animator Controllers; - FX; - Gesture; - Action; - Locomotion; - Animation Clips; - Expression Menu; - Expression Parameters; - AudioSources; - AudioClips; - PhysBones; - PhysBone Colliders; - Contacts; - Constraints; - Face Tracking; - MMD; - Visemes; - Eye Look; - Materials; - Textures; - toggles; - clothing hooks; - accessory hooks; - Modular Avatar; - VRCFury; - nested prefabs; - prefab variants. Цель: Mayu Vulpine Edit должна сохранить максимум полезных оригинальных возможностей Mayu. --- # 8. DEPENDENCY GRAPH Построить dependency graph оригинальной Mayu. Особенно определить: - какие clips управляют ушами; - какие parameters используются лицом; - какие параметры используются MMD; - какие assets отвечают за звуки; - какие PhysBones относятся к ушам/хвосту/усам; - какие bone paths используются сторонними assets; - что нужно скопировать, а что можно оставить shared reference. Не изменять оригинальные зависимости. --- # 9. FBX ROUND-TRIP TEST До редактирования сделать контроль: Original Custom FBX → Blender 5.2.2 → FBX export → новая пустая Blender scene → FBX import Сравнить с исходником. Проверить: - bones; - hierarchy; - transforms; - Shape Keys; - Shape Key names; - Shape Key order; - weights; - vertices; - triangles; - materials; - scale. При экспорте избегать опасных изменений armature. В частности не включать без доказанной необходимости: `Add Leaf Bones` `Apply Transform` `Apply Pose as Rest Pose` `Automatic Bone Orientation` Не менять bone roll ради внешнего вида Blender. Если round-trip ломает модель — сначала решить эту проблему и только потом продолжать. --- # 10. GELL3D TAIL Донор: `Fluffy Tail - Gell3D.fbx` Предварительно обнаружено: ~3319 vertices ~6164 triangles 1 material Shape Keys отсутствуют Skin/Cluster присутствует Bone hierarchy примерно: ```text Hip └── Tail root (physbone) └── Tail Gell3D └── Tail Gell3D.001 └── Tail Gell3D.002 └── Tail Gell3D.003 └── Tail Gell3D.004 └── Tail Gell3D.004_end ``` Самостоятельно перепроверить. --- # 11. ХВОСТ НУЖНО ЗАМЕНИТЬ, А НЕ ДОБАВИТЬ В Mayu Vulpine Edit должен быть один хвост. Не держать: - старый текущий хвост; - и Gell3D хвост одновременно. Текущая геометрия хвоста custom model должна быть заменена на Gell3D geometry. --- # 12. PC COMPATIBLE: СОХРАНИТЬ MAYU SKELETON Для `PC_Compatible` максимальная совместимость с Mayu assets важнее Bone Count. По возможности сохранить полностью: - количество Mayu bones; - имена; - hierarchy; - full paths; - attachment points. Не удалять даже `_end` bones только потому, что они пустые. Не оптимизировать skeleton Compatible-версии ради Performance Rank. --- # 13. GELL3D TAIL НУЖНО ПЕРЕВЕСИТЬ НА MAYU TAIL BONES Не оставлять в финальной Compatible-версии вторую Gell3D Armature. Использовать Gell3D skeleton как источник информации о: - изгибе; - skin weights; - распределении деформации. Финально получить: `Gell3D tail geometry + Mayu original tail bones` Не: `Mayu skeleton + отдельный Gell3D skeleton` Перенести веса Gell3D на существующую цепочку хвоста Mayu. Поскольку у Mayu больше сегментов хвоста, распределять веса плавно. --- # 14. SHAPE-KEY-SAFE ЗАМЕНА ХВОСТА Если текущий хвост является частью общего mesh с Shape Keys: не делать обычное destructive удаление вершин без проверки. Сохранить: - Face Tracking; - MMD; - все facial morphs. При необходимости выполнить одинаковое удаление старой tail geometry из Basis и всех Shape Keys либо использовать другой безопасный pipeline. После замены хвоста сравнить Shape Keys до/после. --- # 15. КОСЯК С УСАМИ — ОБЯЗАТЕЛЬНО ИСПРАВИТЬ Это известный дефект текущего пользовательского custom FBX. Пользователь уже визуально передвинул сами усы в правильное место. Но кости усов пользователь передвинуть корректно не смог. Поэтому сейчас: `whisker mesh position = правильное пользовательское положение` `whisker bones = неправильное/старое положение` НЕ возвращать геометрию усов обратно к костям. Нужно исправить КОСТИ под уже существующую визуальную геометрию. --- # 16. WHISKER BONE FIX Определить все whisker bones. Сохранить: - их names; - количество; - parent hierarchy; - attachment paths. Исправить: - rest position; - orientation; - pivot; - при необходимости weights так, чтобы bones физически соответствовали текущему расположению усов. Сначала сохранить оригинальные transforms в отчёт. Создать: `WhiskerFixReport.md` Указать: - какие bones изменены; - old transforms; - new transforms; - изменялись ли weights; - почему. --- # 17. НЕ ЛОМАТЬ MAYU ASSET COMPATIBILITY УСАМИ Если полное перемещение whisker bone создаёт несовместимость с Mayu assets: попытаться сохранить: - bone name; - hierarchy; - full path и изменить только rest transform/weights. Не добавлять новый произвольный whisker rig, если можно исправить существующий. --- # 18. ПРОВЕРКА УСОВ Проверить усы при: - Neutral; - head rotation; - Face Tracking; - MMD; - GoGo Loco; - sync dance; - extreme poses. Не должно быть: - двойного transform; - отрыва; - snap; - неправильного pivot; - смещения после Unity import. --- # 19. УШИ Текущий custom FBX уже содержит пользовательский вариант ушей. Не возвращать оригинальную визуальную геометрию Mayu. Сохранить пользовательские уши. Но адаптировать их поведение под: `fox / arctic fox ear behaviour` --- # 20. EAR BONES По возможности сохранить оригинальные Mayu: - bone names; - count; - hierarchy. Не создавать новый ear skeleton, если существующий может работать. Основные изменения делать через Animation Clips и Animator Controllers. --- # 21. ОРИГИНАЛЬНЫЕ MAYU CONTROLLERS Найти оригинальные Mayu Animator Controllers. Не редактировать оригиналы. Создать независимые копии внутри Mayu Vulpine Edit. Например: `Vulpine_FX.controller` `Vulpine_Gesture.controller` `Vulpine_Action.controller` `Vulpine_Locomotion.controller` Сохранять архитектуру Mayu там, где это помогает совместимости. --- # 22. АУДИТ АНИМАЦИЙ УШЕЙ Найти ВСЕ clips/states, затрагивающие: - ear bones; - ear blendshapes; - ear constraints. Создать: `EarAnimationAudit.md` Указать: - Controller; - Layer; - State; - Clip; - Parameter; - Property; - Affected Bone. --- # 23. ПЕРЕДЕЛАТЬ ДВИЖЕНИЯ УШЕЙ ПОД ЛИСЬИ Создать естественные состояния: Neutral Happy Sad Angry Fear Shy Relaxed Surprised Не копировать оригинальные Mayu rotations вслепую. Ориентироваться на геометрию текущих пользовательских ушей. Уши должны выглядеть естественно именно как лисьи/песцовые. --- # 24. FACE TRACKING Полный PC Compatible должен максимально сохранить все нужные Shape Keys. Не удалять Shape Keys ради небольшого уменьшения размера. Проверить: - Blink L/R; - Eye Wide; - Eye Look; - Jaw; - Mouth; - Visemes; - Vowels; - Smile; - Frown; - Cheeks; - Tongue; - другие tracking shapes. Сравнить список Shape Keys до/после автоматически. --- # 25. MMD Сохранить всю доступную MMD-функциональность custom model/Mayu. Не считать MMD исправным только по наличию morphs. В конце протестировать реальные: - body animation; - facial MMD; - eye animation; - mouth; - expressions; - start/stop; - возвращение к обычному animator. --- # 26. ЗВУКИ MAYU Провести полный Audio Audit оригинальной Mayu. Найти все: - AudioClips; - AudioSources; - Animation Events; - Animator-triggered audio; - contact-triggered sounds; - expression-triggered sounds. Создать: `AudioAudit.md` --- # 27. ЗАМЕНИТЬ ВИДОВЫЕ ЗВУКИ MAYU НА ЛИСЬИ Оригинальные Mayu/cat-like character vocalizations заменить подходящими лисьими/песцовыми. Примеры: meow → fox chirp/yip happy vocal → happy fox chatter sad → soft fox whine angry → restrained fox growl startled → short fox yelp playful → quiet fox yip/chirp Не использовать постоянный громкий `fox scream`. --- # 28. НЕ ЗАМЕНЯТЬ НЕ-ГОЛОСОВЫЕ FX БЕЗ ПРИЧИНЫ Если звук относится к: - prop; - UI; - механизму; - объекту; - cloth; - interaction effect, не заменять его лисьей вокализацией только потому, что это Vulpine Edit. --- # 29. ПОИСК ЗВУКОВ Codex должен найти подходящие fox audio assets, если доступен интернет. Использовать только материалы с понятной лицензией. Предпочтительно: - CC0; - Public Domain; - royalty-free с явным разрешением. Не использовать ripped audio из: - игр; - фильмов; - сериалов; - YouTube; - чужих VRChat avatars. Сохранить для каждого стороннего звука: - source; - author; - URL; - license; - date; - attribution requirements. Создать: `Audio/Licenses/` и: `Audio/README_AudioSources.md` --- # 30. AUDIO PROCESSING Допускается: - trim; - fade; - normalize; - cleanup; - EQ; - небольшая pitch correction. Не превращать весь набор в мультяшные пищалки. Свести громкость клипов к разумному общему уровню. --- # 31. PC COMPATIBLE Это максимально полноценная версия Mayu Vulpine Edit. В ней НЕ выполнять агрессивную оптимизацию. Сохранить по возможности: - исходный custom mesh quality; - полный skeleton; - полный Shape Key set; - полные материалы; - full-resolution setup; - все нужные Mayu features. Изменения: - Gell3D tail; - исправленные whisker bones; - лисьи ear animations; - fox sounds; - необходимые исправления функциональности. --- # 32. PC COMPATIBLE — СЧЁТЧИКИ Не пытаться специально уменьшать: - bone count; - Shape Key count; - material count; - geometry count только ради Performance. Это «обычная/full» версия новой базы. Естественное изменение triangle count из-за замены хвоста допустимо. --- # 33. PC OPTIMIZED После успешного создания Compatible сделать отдельную копию: `Mayu_Vulpine_PC_Optimized` Compatible больше не изменять. Цель Optimized: максимально уменьшить нагрузку, сохраняя внешний вид и функциональность. По возможности получить: `VRChat PC Good` --- # 34. ПОРЯДОК ОПТИМИЗАЦИИ PC Сначала оптимизировать наиболее безопасное: 1. ненужные Unity Components; 2. duplicated assets; 3. Texture Memory; 4. texture compression/resolution; 5. materials; 6. hidden geometry; 7. duplicated geometry; 8. безопасную topology; 9. PhysBones; 10. constraints; 11. только затем skeleton, если именно он реально ограничивает rank. Не начинать с удаления костей. --- # 35. PC OPTIMIZED И MAYU ASSETS После каждой потенциально несовместимой оптимизации тестировать Mayu assets. Если реальный Mayu asset работает на Compatible, но перестал работать на Optimized: найти конкретную оптимизацию, вызвавшую регрессию. Если выгода несущественна — вернуть совместимость. --- # 36. BONE OPTIMIZATION PC Удалять bones в PC Optimized только если VRChat SDK показывает, что именно Bone Count ограничивает рейтинг. Перед удалением проверить: - weights; - children; - animation curves; - constraints; - drivers; - VRCFury; - Modular Avatar; - prefab references; - Mayu accessories. В первую очередь рассматривать только доказанно безопасные helper/end bones. Не делать эту оптимизацию в PC Compatible. --- # 37. UNITY Работать в предоставленном `UNITY_PROJECT`. Сначала определить: - Unity version; - VRChat SDK; - VCC; - Modular Avatar; - VRCFury; - shaders; - Face Tracking; - MMD; - GoGo Loco; - Mayu assets. Ничего автоматически не обновлять без необходимости. --- # 38. ОТДЕЛЬНАЯ UNITY-ПАПКА Вся новая база должна жить внутри: `Assets/MayuVulpineEdit/` Не раскидывать изменённые файлы по оригинальным директориям Mayu. --- # 39. UNITY GUID SAFETY Изменяемые Unity assets копировать безопасно через Unity/AssetDatabase либо другим способом, который создаёт корректные новые GUID. Не создавать дублирующиеся GUID путём слепого копирования `.meta`. --- # 40. РЕКОМЕНДУЕМАЯ СТРУКТУРА ```text Assets/MayuVulpineEdit/ ├── Models/ │ ├── PC_Compatible/ │ ├── PC_Optimized/ │ └── Android/ ├── Prefabs/ ├── Controllers/ ├── Animations/ │ ├── Ears/ │ └── Other/ ├── Materials/ ├── Textures/ ├── Audio/ │ ├── Vocal/ │ ├── Processed/ │ └── Licenses/ ├── Expressions/ ├── Parameters/ ├── PhysBones/ ├── Tests/ └── Documentation/ ``` --- # 41. НЕ КОПИРОВАТЬ SHARED PACKAGES Не копировать внутрь MayuVulpineEdit: - VRChat SDK; - Modular Avatar; - VRCFury; - GoGo Loco; - Poiyomi; - другие package dependencies. Можно ссылаться на установленные packages. Но любой файл, который специально модифицируется для Vulpine Edit, должен иметь отдельную копию. --- # 42. UNITY IMPORT CHECK После каждого финального FBX проверить: - scale; - transforms; - Humanoid mapping; - Hips; - Spine; - Chest; - Head; - Eyes; - Jaw; - Arms; - Hands; - Fingers; - Legs; - Feet; - BlendShapes; - Materials; - Normals; - Tangents. Не считать отсутствие красной ошибки достаточным тестом. --- # 43. PHYSBONE GELL3D TAIL Использовать Mayu tail hierarchy. Адаптировать PhysBone под более пушистую Gell3D geometry. Проверить: - Root; - Pull; - Spring; - Stiffness; - Gravity; - Limits; - Colliders; - affected transforms. Хвост не должен: - отрываться; - масштабироваться; - получать offset; - ломаться при hip rotation. --- # 44. MAYU FEATURES Сравнить оригинальную Mayu и Vulpine Compatible. Перенести/восстановить все разумно применимые оригинальные возможности Mayu, включая: - menus; - toggles; - expressions; - parameters; - controllers; - Face Tracking; - MMD; - PhysBones; - Contacts; - audio triggers; - другие системы. Не переносить элементы, которые противоречат пользовательскому Vulpine design. Например оригинальные кошачьи вокализации заменяются, а не копируются как есть. --- # 45. GOGO LOCO Пользователь позже предоставит или импортирует нужный GoGo Loco. Использовать именно эту версию. Не скачивать другую автоматически. Протестировать: - Idle; - Walk; - Run; - Backwards; - Strafe; - Jump; - Crouch; - Sit; - Lay; - Prone/Crawl, если есть; - Height Adjustment; - transitions. --- # 46. GOGO LOCO — ПРОВЕРКА МОДЕЛИ Во всех состояниях проверить: - body; - ears; - corrected whiskers; - tail; - PhysBones; - clothing; - accessories. После выхода из GoGo Loco pose не должно оставаться stuck transforms. --- # 47. ОДЕЖДА И MAYU ASSETS Пользователь позже предоставит: - кофту; - штаны; - другие Mayu-compatible assets. Проверить: - Merge Armature; - Bone Proxy; - parenting; - Skinned Mesh; - Modular Avatar; - VRCFury; - constraints. Проверить минимум: - верхнюю одежду; - штаны; - Head accessory; - Hand accessory. --- # 48. СОВМЕСТИМОСТЬ ОДЕЖДЫ Если asset нормально работает на оригинальной Mayu/Compatible, но ломается только из-за изменения skeleton path Vulpine: считать это регрессией. Предпочитать исправление Custom Base, а не ручную переделку каждого Mayu asset. --- # 49. MMD / SYNCHRONIZED DANCE Пользователь позже предоставит подходящий MMD/sync-dance asset. Использовать именно его. Не заменять случайным аналогом. Проверить: - start; - loop; - stop; - restart; - body animation; - face animation; - ears; - whiskers; - tail; - clothing; - PhysBones; - возврат к locomotion. --- # 50. ФИНАЛЬНАЯ ПОСЛЕДОВАТЕЛЬНОСТЬ PC-ТЕСТА Для Compatible и Optimized прогнать: ```text Avatar Load → Idle → Face Tracking → Facial Expression → Ear Animation → Fox Audio Reaction → GoGo Loco → Idle → MMD → MMD Facial Animation → Sync Dance → Stop → GoGo Loco → Idle ``` После этого никакая система не должна оставаться в повреждённом состоянии. --- # 51. ANDROID FALLBACK Создать совершенно отдельную ветку: `Mayu_Vulpine_Android_Fallback` Не оптимизировать PC Compatible поверх неё. --- # 52. FALLBACK ОБРАЗ Android Fallback должен быть законченным образом: `Mayu Vulpine Edit` + `Gell3D-style tail` + `кофта` + `штаны` Это фиксированный fallback outfit. Не хранить внутри него много выключенных тяжёлых комплектов. --- # 53. ANDROID PERFORMANCE Использовать фактический текущий VRChat SDK для определения Performance Rank. Цель: `Good` Не полагаться исключительно на старые hardcoded цифры из документации/памяти. SDK является финальной проверкой. --- # 54. ANDROID GEOMETRY Оптимизировать значительно сильнее. Особенно: - полностью скрытые поверхности; - тело под непрозрачной одеждой; - внутренние поверхности; - волосы; - хвост; - крупные гладкие участки; - мелкую геометрию. Не уничтожать лицо глобальным Decimate. --- # 55. ANDROID GELL3D TAIL Сделать отдельную облегчённую копию Gell3D tail. Не менять PC Gell3D mesh. Сохранить узнаваемый силуэт и пушистую форму. --- # 56. ANDROID MATERIALS/TEXTURES Стремиться к минимальному material count. При необходимости создать atlas: - body; - hoodie; - pants; - tail. Контролировать фактический Texture Memory в SDK. Оптимизировать: - resolution; - compression; - mipmaps; - unused channels; - duplicate maps. --- # 57. ANDROID SHAPE KEYS Сохранить максимально возможный набор важных expressions. Высокий приоритет: - lipsync; - visemes; - eyes; - blink; - jaw; - базовые эмоции. MMD сохранить настолько, насколько позволяет мобильный бюджет. Не удалять Morphs молча. Любое сокращение задокументировать. --- # 58. ANDROID SKELETON Сначала попробовать сохранить Mayu-compatible skeleton. Если SDK подтверждает, что именно skeleton мешает получить Good: создать отдельную Lite-вариацию только для fallback. Никогда не использовать урезанный Android skeleton как основу PC Compatible. --- # 59. FALLBACK WINDOWS PAIR Если текущий VRChat fallback workflow требует одинаковый avatar Blueprint для Windows/Android: создать облегчённую Windows-пару: `Mayu_Vulpine_Fallback_PC` Она должна визуально соответствовать Android Fallback и проходить необходимые требования SDK. Не путать её с основными: `PC Compatible` и `PC Optimized`. --- # 60. AUDIO И ANDROID Не считать аудио обязательной частью мобильного fallback. Проверить реальные ограничения установленного VRChat SDK/platform. Если Avatar AudioSource на Android недоступен или не подходит fallback pipeline: не ломать Android rank ради аудиосистемы. Полный Vulpine Audio Set обязателен прежде всего для PC Compatible/Optimized. --- # 61. FINAL PREFABS В конце обязательно создать: `Assets/MayuVulpineEdit/Prefabs/Mayu_Vulpine_PC_Compatible.prefab` `Assets/MayuVulpineEdit/Prefabs/Mayu_Vulpine_PC_Optimized.prefab` `Assets/MayuVulpineEdit/Prefabs/Mayu_Vulpine_Android_Fallback.prefab` При необходимости: `Mayu_Vulpine_Fallback_PC.prefab` --- # 62. PC COMPATIBLE PREFAB Должен представлять полную базу Mayu Vulpine Edit. Содержать: - пользовательскую custom geometry; - Gell3D tail; - полный Mayu-compatible skeleton; - исправленные whisker bones; - fox ear animations; - Face Tracking; - MMD; - Vulpine audio; - Avatar Descriptor; - Expressions; - Parameters; - PhysBones; - Contacts; - прочие восстановленные Mayu features. --- # 63. PC OPTIMIZED PREFAB Визуально тот же Vulpine Edit. Но максимально оптимизированный с целью получить PC `Good`. Не жертвовать очевидно важной функциональностью ради рейтинга. --- # 64. ANDROID FALLBACK PREFAB Содержит: - оптимизированную Vulpine base; - облегчённый Gell3D-style tail; - кофту; - штаны; - мобильные materials/shaders; - необходимые expressions; - оптимизированную физику. Цель: Android `Good`. --- # 65. PRODUCTION PREFABS НЕ ДОЛЖНЫ СОДЕРЖАТЬ TEST ASSETS Не оставлять внутри production prefab: - sync dance test; - debug scripts; - test cameras; - временные MMD components; - profiling components. Тестовые варианты хранить отдельно: `Assets/MayuVulpineEdit/Tests/` --- # 66. ACCEPTANCE SCENE Создать: `Assets/MayuVulpineEdit/Tests/Mayu_Vulpine_Acceptance.unity` Использовать для: - animations; - ears; - whiskers; - tail; - PhysBones; - Face Tracking; - GoGo Loco; - MMD; - clothing; - sync dance. --- # 67. FINAL PREFAB CLEAN TEST Создать новую пустую сцену. Перетащить в неё только готовый production prefab. Проверить: - Missing Scripts; - Missing References; - missing materials; - broken Animator references; - missing clips; - broken menu/parameter references. Prefab должен работать без рабочей Blender/Temp директории. --- # 68. SELF-CONTAINED ASSETS Все изменённые assets Mayu Vulpine Edit должны находиться внутри: `Assets/MayuVulpineEdit/` Финальные prefab не должны ссылаться на: - Downloads; - Temp; - OUTPUT_FOLDER; - temporary import folders. Разрешены ссылки на установленные shared packages. --- # 69. PERFORMANCE REPORT Создать: `Documentation/Performance.md` Таблица: ```text CUSTOM SOURCE | PC COMPATIBLE | PC OPTIMIZED | ANDROID FALLBACK Triangles Vertices Bones Weighted Bones Shape Keys Materials Skinned Meshes Texture Memory PhysBones Affected Transforms Constraints VRChat Rank ``` --- # 70. SKELETON REPORT Создать: `Documentation/SkeletonComparison.md` Сравнить: - custom source; - original Mayu reference; - PC Compatible; - PC Optimized; - Android. Указать: - bone count; - added bones; - removed bones; - renamed bones; - hierarchy differences; - changed Rest Transforms. Whisker bones выделить отдельно. --- # 71. WHISKER REPORT Обязательно отдельно указать: - визуальное положение усов из пользовательского custom FBX сохранено; - какие whisker bones были перемещены; - как были исправлены weights; - проходят ли Unity/MMD/Face Tracking/GoGo Loco tests. Это известный исходный дефект и его исправление является обязательной частью работы. --- # 72. AUDIO REPORT Создать: `Documentation/AudioCompatibility.md` Для каждого character vocal sound: - original Mayu clip; - purpose; - Vulpine replacement; - trigger; - source; - license; - test result. --- # 73. COMPATIBILITY REPORT Создать: `Documentation/Compatibility.md` Для каждой версии: ```text Humanoid Mayu Asset Compatibility Shape Keys Face Tracking MMD GoGo Loco Fox Ear Animations Whisker Fix Gell3D Tail Tail PhysBone Vulpine Audio Clothing Head Accessories Hand Accessories Sync Dance Return to Locomotion VRChat Performance ``` Статусы: `PASS` `PARTIAL` `FAIL` `NOT TESTED` Каждый FAIL/PARTIAL объяснить. --- # 74. README Создать: `Assets/MayuVulpineEdit/README.md` Описать: - что такое Mayu Vulpine Edit; - какой FBX был исходной пользовательской кастомной моделью; - что оригинальная Mayu использовалась только как read-only reference; - замену хвоста; - исправление whisker bones; - лисьи анимации ушей; - Vulpine audio; - Face Tracking; - MMD; - три версии; - dependencies; - порядок использования prefab; - известные ограничения. --- # 75. PC COMPATIBLE НИКОГДА НЕ УДАЛЯТЬ АВТОМАТИЧЕСКИ После успешного создания Optimized: не удалять Compatible. Compatible является эталонной полной версией Mayu Vulpine Edit и recovery point. --- # 76. BACKUPS Перед каждым destructive milestone создавать отдельный `.blend`. Например: `00_IMPORTED` `01_ROUNDTRIP_OK` `02_TAIL_REPLACED` `03_WHISKERS_FIXED` `04_PC_COMPATIBLE` `10_PC_OPTIMIZED_WORK` `11_PC_OPTIMIZED_FINAL` `20_ANDROID_WORK` `21_ANDROID_FINAL` Не перезаписывать последнюю известную рабочую версию. --- # 77. РЕЖИМ РАБОТЫ CODEX Codex должен максимально выполнять работу самостоятельно: - анализировать FBX; - писать Blender scripts; - изменять копии; - проверять round-trip; - импортировать в Unity; - писать Unity Editor scripts; - анализировать Animator Controllers; - исправлять clips; - строить prefab; - запускать проверки; - анализировать VRChat SDK stats; - формировать отчёты. Не просить пользователя вручную выполнять то, что Codex может безопасно сделать сам. --- # 78. КОГДА МОЖНО ОСТАНОВИТЬСЯ И СПРОСИТЬ ПОЛЬЗОВАТЕЛЯ Только если: - путь не существует; - невозможно определить нужный asset; - отсутствует обязательный сторонний package; - пользователь ещё не предоставил одежду/MMD/GoGo Loco/sync dance; - требуется финальный Build & Publish/upload; - есть несколько технически равнозначных вариантов, которые заметно меняют внешний вид. --- # 79. ОТЛОЖЕННЫЕ TEST ASSETS Пользователь позже может добавить: - GoGo Loco; - кофту; - штаны; - дополнительные Mayu assets; - MMD setup; - synchronized dance asset. Если их пока нет: не блокировать создание самой базы. Закончить всё остальное и выставить статус: `BASE BUILD COMPLETE — WAITING FOR FINAL FUNCTIONAL TEST ASSETS` После появления assets продолжить с текущего состояния, а не начинать заново. --- # 80. FINISH CRITERIA — PC COMPATIBLE Работа над Compatible завершена, только если: - пользовательская custom geometry сохранена; - Gell3D tail установлен; - Gell3D mesh использует подходящую Mayu-compatible систему костей; - whisker bones исправлены под уже передвинутые пользователем усы; - ear animations переделаны; - Shape Keys работают; - Face Tracking работает; - MMD работает; - Humanoid работает; - Mayu features перенесены; - Vulpine audio работает; - prefab не имеет Missing References. --- # 81. FINISH CRITERIA — PC OPTIMIZED Дополнительно: - максимально оптимизировано безопасными методами; - проверены реальные Mayu assets; - VRChat SDK Performance Rank задокументирован; - по возможности достигнут `Good`. Если Good невозможно без серьёзной поломки совместимости: оставить лучший безопасный результат и точно указать limiting metric. --- # 82. FINISH CRITERIA — ANDROID FALLBACK - узнаваемый Mayu Vulpine Edit; - Gell3D-style tail; - кофта; - штаны; - Humanoid; - базовые expressions; - мобильные materials; - оптимизированные textures; - оптимизированные PhysBones; - фактический SDK rank задокументирован; - цель `Good`; - подготовлен для custom fallback workflow. --- # 83. ФИНАЛЬНЫЙ РЕЗУЛЬТАТ В UNITY Пользователь должен открыть: `Assets/MayuVulpineEdit/` и увидеть полностью оформленный самостоятельный asset. Минимально: ```text Assets/MayuVulpineEdit/ ├── Models/ ├── Prefabs/ │ ├── Mayu_Vulpine_PC_Compatible.prefab │ ├── Mayu_Vulpine_PC_Optimized.prefab │ └── Mayu_Vulpine_Android_Fallback.prefab ├── Controllers/ ├── Animations/ ├── Materials/ ├── Textures/ ├── Audio/ ├── Expressions/ ├── Parameters/ ├── PhysBones/ ├── Tests/ ├── Documentation/ └── README.md ``` При необходимости также: `Mayu_Vulpine_Fallback_PC.prefab` --- # 84. КЛЮЧЕВОЕ ПРАВИЛО Не превращать задачу в автоматическое «уменьши цифры любой ценой». Главный результат — полноценная самостоятельная база: `Mayu Vulpine Edit` которая сохраняет пользовательский custom design и возможности Mayu, исправляет известные недостатки текущей модели и имеет отдельные Compatible, Optimized и Android Fallback варианты. Известные обязательные изменения: 1. Не потерять уже существующий пользовательский custom внешний вид. 2. Заменить текущий хвост на Gell3D tail. 3. Сохранить Mayu-compatible skeleton в Compatible-версии. 4. Исправить whisker bones под уже передвинутую пользователем геометрию усов. 5. Не возвращать усы в старое положение. 6. Переделать управление ушами под лисье/песцовое. 7. Сохранить Face Tracking. 8. Сохранить MMD. 9. Сохранить максимум оригинальных возможностей Mayu. 10. Заменить видовые Mayu vocal sounds на лицензированные лисьи. 11. Проверить GoGo Loco. 12. Проверить Mayu-compatible одежду и аксессуары. 13. Проверить MMD/sync dance. 14. Сделать полноценный PC Compatible. 15. Сделать отдельный максимально лёгкий PC Optimized. 16. Сделать Android Good Fallback по возможности. 17. Не изменять original Mayu folder. 18. В конце оставить полностью готовые prefab и собственную папку `Assets/MayuVulpineEdit/`.