02 — Перші кроки¶
🇬🇧 English | 🇺🇦 Українська
Цей приклад перетворює відстань до цілі на плавний рівень агресії.
1. Створіть Data Asset¶
У Content Browser виберіть Add → Miscellaneous → Data Asset, потім клас Fuzzy System. Назвіть асет DA_EnemyBehavior і відкрийте його.
2. Додайте вхід¶
У Inputs створіть елемент:
| Поле | Значення |
|---|---|
Name |
Distance |
Range.Min |
0 |
Range.Max |
2000 |
Default Value |
1000 |
Додайте три множини:
| Множина | Форма | Параметри |
|---|---|---|
Near |
Trapezoid | 0, 0, 300, 700 |
Mid |
Triangle | 400, 900, 1400 |
Far |
Trapezoid | 1100, 1500, 2000, 2000 |
3. Додайте вихід¶
У Outputs створіть Aggression з діапазоном 0…1. Додайте:
| Множина | Форма | Параметри |
|---|---|---|
Cautious |
Triangle | 0, 0.15, 0.55 |
Watchful |
Triangle | 0.25, 0.5, 0.75 |
Aggressive |
Triangle | 0.5, 0.9, 1 |
4. Запишіть правила¶
Додайте до Rules:
IF Distance IS Near THEN Aggression IS Aggressive
IF Distance IS Mid THEN Aggression IS Watchful
IF Distance IS Far THEN Aggression IS Cautious
Збережіть асет. Compile Log має повідомити, що система успішно скомпільована.
5. Перевірте результат¶
На вкладці Inference змінюйте Distance у лівій панелі. Картка Aggression справа показує:
- поточне чітке значення;
- вихідні множини слабкими кольоровими лініями;
- агреговану область;
- білий маркер дефазифікованого результату.
Нижня панель показує, які правила спрацювали й з якою силою. Preview-значення тимчасові та не змінюють Default Value у Data Asset.
6. Використайте у Blueprint¶
- Додайте до актора компонент Fuzzy Logic.
- Встановіть
System Asset = DA_EnemyBehavior. - Перед прийняттям рішення викличте
Set Input: Variable Name = Distance;Value = відстань до цілі.- Викличте
Evaluate Output: Output Variable Name = Aggression;- збережіть повернене число.
- Використайте число для швидкості, ваги атаки, вибору анімації або іншого плавного параметра.
Set Input зберігає значення між обчисленнями. Якщо змінилася лише відстань, інші входи повторно задавати не потрібно.
7. Перенесіть систему через JSON¶
У тулбарі редактора натисніть Save To JSON. Щоб створити інший Data Asset із того самого пресета, відкрийте його та натисніть Load Preset. Імпорт спочатку перевіряє весь документ; невдале завантаження не змінює асет.
Наступний розділ пояснює модель даних: 03 — Основні поняття.