Damage Direction Indicator
Червона дуга навколо гравця, що вказує, звідки прилетів удар, — біль із компасом.
Приклади
Записано з інтерактивного демо нижче на цій сторінці.
Огляд
Індикатор напрямку шкоди відповідає на питання, яке кожен гравець ставить у мить удару: «ЗВІДКИ?». Червона дуга спалахує на кільці навколо гравця (або центру екрана), повернута в бік джерела шкоди, і згасає приблизно за секунду.
Математика — це азимут: кут від гравця до атакера, переведений у простір погляду гравця — у top-down це один atan2, у first-person — кут відносно forward камери. Поки індикатор видимий, він мусить відстежувати цей азимут; дуга, що стоїть на місці, поки гравець обертається, гірша за жодної.
Додайте до дуги напрямлений здриг — штовхніть гравця чи камеру на кілька пікселів ГЕТЬ від джерела — і удар отримує фізичність поверх інформації. Кілька індикаторів для кількох атакерів складаються в картину: їхнє розташування миттєво повідомляє «оточили».
Інтерактивне демо
the arc points at the shooter · press Hit repeatedly to get surrounded
Де застосовується
Найкращі практики
Варто
- ✓Повертайте індикатор до джерела кожен кадр, поки він видимий, — він мусить пережити оберт гравця.
- ✓Показуйте окремий індикатор на кожне джерело і дозволяйте їм накладатися; три дуги одночасно — це і Є інформація.
- ✓Додайте маленький здриг геть від удару, щоб напрямок відчувався тілом, а не лише читався з HUD.
Не варто
- ✕Не згасайте надто швидко — гравцям треба час зреагувати; менш як пів секунди дуга субліминальна.
- ✕Не вмикайте його для шкоди, яку гравець сам ініціював чи бачить; бережіть для ударів поза екраном і в спину.
- ✕Не робіть дугу настільки широкою, що вона перестає бути напрямленою, — за ~120° вона каже лише «боляче, десь».
Поширені помилки
- ⚠Кут порахований у світовому просторі без урахування повороту камери — у first-person дуга вказує не туди.
- ⚠Індикатор прив'язаний до краю екрана лінійними координатами замість кільця, тож діагоналі виглядають неправильно.
- ⚠Один спільний індикатор на всі удари — він телепортується посеред згасання, коли стріляє другий атакер.
Реалізація
Встав це у свого ШІ-асистента (Cursor, Copilot, Claude), щоб додати ефект у проєкт.
Додай у мій проєкт ефект "Damage Direction Indicator": Червона дуга навколо гравця, що вказує, звідки прилетів удар, — біль із компасом.
Як це працює: Індикатор напрямку шкоди відповідає на питання, яке кожен гравець ставить у мить удару: «ЗВІДКИ?». Червона дуга спалахує на кільці навколо гравця (або центру екрана), повернута в бік джерела шкоди, і згасає приблизно за секунду.
Рекомендації:
- Повертайте індикатор до джерела кожен кадр, поки він видимий, — він мусить пережити оберт гравця.
- Показуйте окремий індикатор на кожне джерело і дозволяйте їм накладатися; три дуги одночасно — це і Є інформація.
- Додайте маленький здриг геть від удару, щоб напрямок відчувався тілом, а не лише читався з HUD.
Чого уникати:
- Не згасайте надто швидко — гравцям треба час зреагувати; менш як пів секунди дуга субліминальна.
- Не вмикайте його для шкоди, яку гравець сам ініціював чи бачить; бережіть для ударів поза екраном і в спину.
- Не робіть дугу настільки широкою, що вона перестає бути напрямленою, — за ~120° вона каже лише «боляче, десь».
Реалізуй ефект у тому рушії/стеку, який уже використовується в проєкті, і дотримуйся наявного стилю коду. Підключи його там, де це доречно.Джерела
- Game Feel — Steve Swink (book)
- GDC: Juice It or Lose It — Martin Jonasson & Petri Purho
Пов'язані ефекти
Flick
Спалах самого об'єкта білим (чи кольором) на кілька кадрів при отриманні удару — також відомий як hit flash.
Screen Flash
Короткий спалах кольору на весь екран (чи локально), що підкреслює великий момент.
Delayed Health Bar
Смужка-привид, що затримується після шкоди й показує, скільки саме зняв удар.
Коментарі
…