Основні компоненти
Вивчення що є що.
Input Controller
Кросплатформна система введення з автоматичною конфігурацією для ПК і мобільних пристроїв. Не призначена для ручного редагування. Містить публічне поле для вибору Input System. За замовчуванням система налаштована на Old Input Manager. Для повного переходу виконайте ці кроки:
Відкрийте Edit → Project Settings → Player → Configuration і встановіть Active Input Handling на New/Old. Для New: встановіть пакет Input System Unity. Для Old: видаліть цей пакет. Перевірте EventSystem на сцені, щоб переконатися, що він налаштований правильно для поточної системи введення.
Встановіть inputSystemType на New/Old у компоненті InputController.

Також є поля для налаштувань звукового супроводу (Sound Design) та умов відтворення (Playback Conditions), щоб ефект з’являвся не постійно, а лише тоді, коли виконуються певні умови.
Mouse Input Type (LMB only / both) - введення миші на десктопах, яке викликає touch-ефект.
Effect Enabled (True/False) - вказує, чи активний ефект взагалі. За замовчуванням має значення True. Його можна ввімкнути або вимкнути за допомогою публічних методів у відповідних компонентах TouchGlowUI або SparkleSpawner: EnableTouch() та DisableTouch().
Operation Mode (Default / Manually Call) - вказує, чи буде ефект запускатися автоматично, коли виконуються умови, чи потребує ручного виклику з відповідного TouchGlowUI або SparkleSpawner за допомогою методу ShowEffect().
Check Target Type (Any Type / UI / 3D / 2D) - визначає тип об’єктів, по яким потрібно натиснути, щоб активувати touch-ефект.
Check Condition (Any Target / ByGameObject / ByTag / ByLayer) - визначає умову, за якою перевірятимуться об’єкти вибраного типу, по яким потрібно натиснути для активації touch-ефекту.
Target Object To Click, Target Tags, Target Layers - це додаткові посилання. Наприклад, якщо візуальний відгук потрібен лише тоді, коли користувач натискає UI-кнопки з тегом Success, потрібно встановити Target Type = UI, Condition = By Tag і додати назву тегу "Success" до списку Tags.
Sound Clips - список звуків, з якого відтворюється випадковий, коли активується ефект One-Touch. Див. TouchSounds.prefab > InputController.
Max Simultaneous Sounds - визначає, скільки звуків зі списку можуть відтворюватися одночасно. Якщо встановлено 1, відтворюється лише один звук без накладання, доки він не завершиться.
Sound Clips Swipe Start & End - списки звуків, з яких випадкові відтворюються на початку та в кінці свайпу (Trail ефект). Див. TouchTrailFromSimpleSpriteSounds.prefab > InputController.
Default Volume (0-1) - контролює базову гучність звукових ефектів.
Random Stereo (True/False) - контролює, чи звук відтворюється випадковим чином у лівому/правому вусі користувача.
TouchGlowUI (shader-based)

Основна система, що керує генерацією сліду, оптимізацією під платформи, пулінгом і рендерингом. Автоматично визначає платформу та застосовує відповідні налаштування. Не призначена для ручного редагування. Містить поля до заповнення:
Target Canvas (UI Canvas на сцені для позиціонування та масштабування).
Glow Material (матеріал, створений на основі шейдера для візуального ефекту частинок).
Input Controller.
Point Prefab (шаблон GameObject для частинок сліду). Не призначений для ручного редагування.
Parent Object For Points (контейнер для організації точок сліду).

Також містить поля для налаштувань.
Universal Settings:
Glow Mode (Trail/OneTouch) - режим роботи, що контролює поведінку частинок та пулінг. Коли Max Points встановлено вручну на 1, режим автоматично перемикається на OneTouch.
Використовує або 1 частинку для простого дотику, або 10 для multitouch-підтримки незалежно від Max Points.
Використовує значення Max Points для створення безперервного сліда з частинок (рекомендовано 512).
Не використовує Spacing.
Використовує значення Base Trail Spacing як інтервал для розташування частинок.
Створює одиночний ефект у місці дотику і або слідує за дотиком до його відпускання (якщо у Glow Material властивість Holding Forbidden = 0), або гасить ефект у точці створення.
Створює ефект-слід, який продовжується до відпускання.
Desktop Settings:
Desktop Max Points (512) - максимальна кількість точок сліду одночасно. Менше точок = вища продуктивність, але коротші сліди. Більше точок = довші сліди, але більше навантаження на GPU. Встановіть 1 для одиночного дотику без сліду (режим OneTouch). Якщо режим OneTouch уже активований, він має пріоритет і використовуватиме 1–10 частинок для одиночного ефекта без сліду, незалежно від цього налаштування.
Desktop Glow Lifetime (2s) - час, протягом якого кожна точка сліду залишається видимою перед зникненням. Менший час = швидкі ефекти на кшталт леза. Більший час = повільніше зникнення.
Desktop Point Size (120x120px) - розміри окремих точок сліду в пікселях.
Desktop Base Trail Spacing (10px) - мінімальна відстань у пікселях між точками сліду. Система додає нову точку, коли палець рухається на цю відстань, незалежно від часу. Менші значення = густіші сліди, але більше навантаження на GPU. Більші значення = рідкіші сліди з пропусками під час швидкого руху.
Desktop Target FPS (60) - контролює генерацію точок за часом. Система додає точки кожну 1/60 секунди, навіть якщо палець не рухається. Вищий FPS = частіша генерація точок = густіші сліди. Нижчий FPS = рідша генерація = рідші сліди під час повільного руху.
Start/End Taper Points Desktop (64/64) - кількість точок, що використовуються для плавного звуження на початку та в кінці сліду. Активно тільки коли Sharp Edges = true. Загальна кількість точок звуження повинна бути меншою за Max Points для правильної роботи.
Mobile Settings:
Mobile Max Points (512) - максимальна кількість одночасних точок, оптимізована для мобільних.
Mobile Glow Lifetime (2s) - тривалість життя точки сліду, оптимізована для мобільних.
Mobile Base Trail Spacing (8px) - більш щільне розташування, оптимізоване для менших екранів мобільних.
Mobile Target FPS (60) - цільова частота кадрів, оптимізована для мобільних.
Mobile Point Size (150x150px) - розміри точок для щільності на мобільних екранах.
Start/End Taper Points Mobile (32/32) - зменшена складність звуження, оптимізована для мобільних.
Additional Settings:
Initialization Delay (0.1s) - налаштовувана затримка перед запуском системи. Дозволяє контролювати, коли активується система, щоб уникнути впливу на продуктивність під час старту.
Always Last Sibling (true) - тримає ефекти поверх інших елементів UI. Логіка оптимізована так, що оновлення відбувається тільки коли з’являються нові об’єкти нижче в ієрархії UI, а не постійно змінює позицію. Несумісно з Dont Destroy On Load, оскільки друга функція переміщує об’єкт на окремий Canvas без спільної ієрархії з іншими елементами UI.
Dont Destroy On Load (false) - переносить ефекти між сценами. Система копіює налаштування батьківського Canvas і створює дублікат Canvas у зоні DontDestroyOnLoad для збереження ефектів між сценами. Рекомендовано, якщо на Canvas немає інших елементів, що перекривають ефект.
Enable Multi Touch (true) - дозволяє кілька одночасних дотиків. Створює окремі сліди для кожного пальця на сенсорних пристроях. Несумісно з Sharp Edges через конфліктну логіку звуження країв.
Sharp Edges (false) - увімкнення звужених початків та кінців слідів для ефекту на кшталт леза. Несумісно з multitouch-режимом через складну логіку звуження країв. Потребує налаштування значень Start/End Taper Points (> 0) для правильної роботи. Автоматично вимикається в режимі OneTouch.
Size Multiplier (1) - змінює загальний розмір ефекту, зберігаючи пропорції між розміром частинок і відстанню між ними.
Editor Settings:
Enable Debug Logs (true) - детальний вивід у консоль для розробки та налагодження. Автоматично вимикається в збірках для підвищення продуктивності.
Force Mobile In Editor (false) - тестування налаштувань мобільних пристроїв прямо в Unity Editor.
Methods For Manual Call
Компонент також містить методи ручного виклику, щоб увімкнути/вимкнути та показати ефект на вимогу, а не постійно. Див. Input Controller.
SparkleSpawner (sprite-based)
Додаткова система, що створює акцентні ефекти на основі спрайтів з налаштовуваним розсіюванням. Автоматично визначає платформу та застосовує відповідні налаштування. Не призначена для ручного редагування. Містить поля до заповнення:
Target Canvas (UI canvas на сцені для позиціонування та масштабування).
Input Controller.
Sparkle Particle Prefab (шаблон GameObject для окремих частинок). Не призначений для ручного редагування.
Sparkle Parent (контейнер для організації частинок).
Sparkle Textures (список текстур частинок для рандомізації).
Sparkle Colors (список кольорів частинок для рандомізації).
Також містить поля для налаштувань.

Universal Settings:
Sparkle Mode (OneTouch/Trail) - режим роботи, що контролює поведінку частинок та пулінг. Коли Max Points встановлено вручну на 1, режим автоматично перемикається на OneTouch.
Створює або 1 ефект для простого дотику, або 10 для multitouch-підтримки незалежно від Max Points.
Використовує Min/Max Sparkle Points на ефект (рекомендовано Max Points = 512).
Не використовує Spacing.
Використовує значення Base Trail Spacing (інтервал) для розташування точок.
Створює один ефект у місці дотику і гасить його.
Створює безперервні ефекти під час руху.
Dispersion Type (None/Radial/RadialSymmetric/Down/Left/Right/Up/Inward) - шаблон руху частинок. None залишає частинки нерухомими. Radial розсіює від центру назовні. Directional переміщує частинки у певних напрямках. Inward притягує частинки до центру.
Fade Animation Type (FadeAndScale/Fade/Scale) - стиль анімації зникання. FadeAndScale поєднує зміну прозорості та розміру. Fade змінює лише прозорість. Scale змінює лише розмір.
Rotation Type (None/Radial/Random) - налаштування, що визначає обертання частинок. None - початкове обертання, Radial - направлене від центру до радіальних кілець, Random - випадкове.
Desktop Settings:
Desktop Max Points (512) - максимальна кількість одночасних частинок на десктопах.
Desktop Sparkle Lifetime (1s) - час, протягом якого окремі частинки залишаються видимими перед зникненням. Менший час = швидкі спалахи, більший час = довше залишаються сліди.
Desktop Min/Max Point Size (20-40px) - діапазон розмірів окремих частинок у пікселях. Система випадково обирає розмір у цьому діапазоні для різноманітності.
Desktop Spacing (20px) - мінімальна відстань у пікселях між ефектами у режимі Trail. Контролює щільність появи під час руху.
Desktop Min/Max Sparkle Points (8-16) - кількість частинок у кожному ефекті. Система випадково обирає число у цьому діапазоні для природного варіювання.
Desktop Min/Max Radius (80-120px) - радіус навколо точки дотику, в межах якого малюється ефект. У вікні Scene відображається зона покриття.

Mobile Settings:
Mobile Max Points (512) - максимальна кількість одночасних частинок, оптимізована для мобільних.
Mobile Sparkle Lifetime (1s) - тривалість життя частинок, оптимізована для мобільних.
Mobile Min/Max Point Size (20-40px) - діапазон розмірів частинки, оптимізований для мобільних.
Mobile Spacing (10px) - більш щільне розташування, оптимізоване для менших екранів мобільних.
Mobile Min/Max Sparkle Points (8-16) - діапазон кількості частинок, оптимізований для мобільних.
Mobile Min/Max Radius (80-120px) - радіус створення частинок, оптимізований для мобільних.
Additional Settings:
Initialization Delay (0.1s) - налаштовувана затримка перед запуском системи. Дозволяє контролювати, коли активується система, щоб уникнути впливу на продуктивність під час старту.
Always Last Sibling (true) - тримає ефекти поверх інших елементів UI. За замовчуванням вимкнено, оскільки спрайт-ефекти зазвичай є допоміжним, дочірнім до шейдерного, який регулює це.
Dont Destroy On Load (false) - переносить ефекти між сценами. За замовчуванням вимкнено, оскільки спрайт-ефекти зазвичай є допоміжним, дочірнім до шейдерного, який регулює це.
Enable Multi Touch (true) - дозволяє кілька одночасних ефектів. Створює окремі ефекти для кожного пальця на сенсорних пристроях.
Size Multiplier (1) - змінює загальний розмір ефекту, зберігаючи пропорції між розміром частинок, радіусом і відстанню між частинками.
Editor Settings:
Enable Debug Logs (true) - детальний вивід у консоль для розробки та налагодження. Автоматично вимикається в збірках для підвищення продуктивності.
Force Mobile In Editor (false) - тестування налаштувань мобільних пристроїв прямо в Unity Editor.
Methods For Manual Call
Компонент також містить методи ручного виклику, щоб увімкнути/вимкнути та показати ефект на вимогу, а не постійно. Див. Input Controller.
TouchTextUI (TextMeshPro based)
Додаткова система, що створює ефекти на основі текстів з налаштовуваною анімацією. Автоматично визначає платформу та застосовує відповідні налаштування. Не призначена для ручного редагування. Містить поля до заповнення:
Target Canvas (UI canvas на сцені для позиціонування та масштабування).
Input Controller.
Text Prefab (шаблон GameObject). Не призначений для ручного редагування.
Text Parent (контейнер для організації текстів).
Font Asset Default (шрифт для текстового ефекту).
Font Style Default (стиль для текстового ефекту).
Main Sprite Asset (для вставки спрайтів в текст).
Text Strings (список текстових значень для рандомізації).
Text Colors (список кольорів текстів для рандомізації.
Також містить поля для налаштувань.

Universal Settings:
Appearance Animation (None/RadialRandom/RadialArc/Down/Left/Right/Up/ZoomIn/ZoomOut/Bounce). None тримає текст на місці. Radial анімує від центру назовні. Directional переміщує текст у певних напрямках. Zoom змінює розмір під час появи. Bounce задає особливу траєкторію. Усі ці типи появи визначають напрямок, тоді як точка появи тексту відносно дотику залежить від значення Min Move Distance, а точка зникнення - від Max Move Distance. Якщо вони рівні, руху не буде - текст анімується на місці.
Dissapearing Animation Type (FadeAndScale/Fade/Scale) - стиль анімації зникання. FadeAndScale поєднує зміну прозорості та розміру. Fade змінює лише прозорість. Scale змінює лише розмір.
Desktop Settings:
Desktop Text Lifetime (1с) - як довго окремий текст залишається видимим перед зникненням. Менший час = швидші ефекти.
Desktop Min/Max Font Size (24–48) - діапазон розмірів для окремого тексту. Система випадковим чином обирає розмір у цьому діапазоні для різноманітності.
Desktop Min/Max Move Distance (30–100px) - відстань від точки дотику, на якій текст з’являється і зникає в результаті руху під час появи. У вікні Scene є гізмо-візуалізація траєкторії та радіусу.

Mobile Settings:
Mobile Text Lifetime (1с) - тривалість ефекта, оптимізована під мобільні пристрої.
Mobile Min/Max Font Size (24–48) - діапазон розмірів, оптимізований під мобільні пристрої.
Mobile Min/Max Move Distance (30–100px) - радіус появи, оптимізований під мобільні пристрої.
Additional Settings:
Initialization Delay (0.1s) - налаштовувана затримка перед запуском системи. Дозволяє контролювати, коли активується система, щоб уникнути впливу на продуктивність під час старту.
Always Last Sibling (true) - тримає ефекти поверх інших елементів UI. За замовчуванням вимкнено, оскільки спрайт-ефекти зазвичай є допоміжним, дочірнім до шейдерного, який регулює це.
Dont Destroy On Load (false) - переносить ефекти між сценами. За замовчуванням вимкнено, оскільки спрайт-ефекти зазвичай є допоміжним, дочірнім до шейдерного, який регулює це.
Size Multiplier (1) - змінює загальний розмір ефекту, зберігаючи пропорції між розміром частинок, радіусом і відстанню між частинками.
Editor Settings:
Enable Debug Logs (true) - детальний вивід у консоль для розробки та налагодження. Автоматично вимикається в збірках для підвищення продуктивності.
Force Mobile In Editor (false) - тестування налаштувань мобільних пристроїв прямо в Unity Editor.
Methods For Manual Call
Компонент також містить методи ручного виклику, щоб увімкнути/вимкнути та показати ефект на вимогу, а не постійно. Див. Input Controller. Є метод для передачі текстового значення незалежно від вбудованого списку.
ReadOnlyAttribute
Службовий атрибут для створення ReadOnly-полів в Unity Inspector. Використовується в Touch Effect System для запобігання зміні вже налаштованих та ініціалізованих значень ігрової сесії.
ParticlePreviewPlayer
Компонент, який відтворює зациклену анімацію One-Touch-ефекта без необхідності введення. Підтримує одночасно як шейдерний підхід (TouchGlowUI), так і спрайти (SparkleSpawner). Використовується для додавання ефектів дотику на сцену, наприклад як візуальна підказка в навчальному туторіалі, де користувачу потрібно клікнути щось. Див. також Automatic Tutorial Maker. Цей префаб добре підходить для використання як Pointer Prefab у кроці туторіалу. Див. відео інтеграції → Поля до заповнення:

Universal Playback Settings:
Particle Lifetime (0.5-5.0s) - час, протягом якого частинка залишається видимою перед зникненням.
Playback Speed (0.1-3.0x) - множник швидкості анімації.
Pause Duration (0.1-2.0s) - час паузи між циклами анімації.
Shader Particle Settings:
Raw Image (компонент RawImage для відображення шейдерної частинки).
Glow Material (матеріал для рендерингу частинок на основі шейдера).
Shader Particle Size (120px) - розмір шейдерної частинки в пікселях.
Sprite Particle Settings:
Sparkle Textures (список текстур частинок для рандомізації).
Sparkle Colors (список кольорів частинок для рандомізації).
Sparkle Particle Prefab (шаблон GameObject для частинок).
Sparkle Parent (контейнер для організації частинок).
Dispersion Type (None/Radial/Down/Left/Right/Up/Inward) - тип розсіювання частинок.
Rotation Type (None/Radial/Random) - тип обертання частинок.
Pool Size (4-24) - кількість частинок для створення ефекта.
Min/Max Radius (40/80px) - радіус ефекта.
Sprite Particle Size (30px) - базовий розмір частинок.
Шейдери


Шейдери для різних візуальних стилів та ефектів.
Blade parts (ефект леза)
TouchPointBlur - ефект м'якої підсвітки.
TouchPointGradient - багатоколірний градієнт.
Glow parts (ефект теплового сліду)
TouchPointCore - слід з м’яким згасанням і звуженням.
TouchPointGlow - багатошаровий світловий ефект із кольорами від центра до краю.
Ink (ефект чорнила)
TouchGlowInk - монохромний ефект із частинками, що звужуються по мірі появи.
One Touch - Expanding Rings (кільця, що розходяться, як дотик по поверхні води)
TouchPointExpandingRing - просте кільце, що розширюється.
TouchPointRipple - декілька кілець, що розходяться.
TouchPointSonarPulse - багато кілець, що розходяться (схожі на Wi-Fi символ).
One Touch - Patterns (складні візерунки)
TouchPointForceFieldHex - ефект, що підсвічує силове поле з гексів, складається з хвилі та згасання.
TouchPointMatrixGrid - ефект, що підсвічує матричну сітку з квадратів, хвиля та згасання.
One Touch - Shapes Dynamic (динамічні форми, випадкова генерація)
TouchPointBrokenGlass - ефект, що імітує тріщини в склі, із налаштовуваною кількістю променів і кілець для досягнення ефекту "розбиття".
TouchPointNeonBlob - ефект, що імітує пляму випадкової форми.
TouchPointNeonLightning - ефект, що імітує удар блискавки в точці дотику, із налаштовуваною кількістю променів.
One Touch - Shapes Neon (неонові фігури)
TouchPointNeonCircle - ефект у формі кільця з регульованою зовнішньою та внутрішньою підсвіткою.
TouchPointNeonDiamond - ефект у формі ромба з регульованою зовнішньою та внутрішньою підсвіткою.
TouchPointNeonHexagon - ефект у формі шестикутника з регульованою зовнішньою та внутрішньою підсвіткою.
TouchPointNeonSquare - ефект у формі квадрата з регульованою зовнішньою та внутрішньою підсвіткою.
TouchPointNeonTriangle - ефект у формі трикутника з регульованою зовнішньою та внутрішньою підсвіткою.
One Touch - Shapes Rotating (ефекти з обертанням)
TouchPointRotatingSquare - ефект у формі сяючого квадрата, який збільшується в масштабі і обертається навколо осі.
TouchPointRotatingTriangle - ефект у формі сяючого трикутника, який збільшується в масштабі і обертається навколо осі.
One Touch - Shapes Simple (прості фігури)
TouchPointCircle, TouchPointDiamond, TouchPointSquare, TouchPointTriangle, TouchPointPlus, TouchPointSparkle - геометричні форми з налаштовуваними шарами центру, підсвітки і кільця для базових One-Touch ефектів.
Кожен шейдер підтримує налаштування кольору. Для матеріалів OneTouch є додаткові властивості:
HoldingForbidden визначає, чи частинка зникає одразу в точці дотику, чи може утримуватися в режимі OneTouch до відпускання.
OneTouchHoldAge визначає момент прогресу анімації - в цьому стані ефект утримується в режимі OneTouch.
Last updated