Нотатки до випусків¶
🇬🇧 English | 🇺🇦 Українська
Коротко про кожен випуск: що з'явилося, що виправлено, на що звернути увагу під час оновлення. Найновіший випуск — угорі.
1.0¶
Unreal Engine 5.8. Перший випуск плагіна. Попередній прототип має інший API; шару сумісності з ним немає, тож переносьте інтеграцію за швидким стартом.
Що всередині: промінь, sphere sweep, фокус і теги; серверні запити, реєстр захоплень та дві VR-руки; фізичні предмети, спис і руйнування; VR-маніпуляції з профілями: дві руки одного гравця, socket/component/free anchors, масштабування й обертання, фізичне утримання, лук зі стрілою, маховик, посадка деталі та події удару.
Мережа:
- Сервер перевіряє позу кожної руки окремо: перешкода перед вільною рукою більше не змушує сервер упустити предмет в іншій руці, а локально вимкнена перша рука не зупиняє оновлення поз.
OnActionResultповідомляє причину відмовиEInteractionRejectReason:Cooldown,InvalidTarget,InvalidPose,NotReachable,HandBusy,Claimed,Unavailable(13).- Мережеві межі задаються в Project Settings → Plugins → Interaction System і перевизначаються на окремому
InteractorComponent(04). bGrabEnabledіbCanBeGrabbedреплікуються;SetGrabEnabledвимикає захоплення й безпечно відпускає поточні руки.- Фізичний предмет у руці власника передбачається й не відстає на час обміну з сервером.
- Знімок маніпуляції квантується й підтримує push model; нерухомі предмети тікають раз на 0.5 с і прокидаються від руху (Продуктивність).
Маніпуляція:
- Іменована частина актора (
TargetComponentName) — шухляда, кришка, важіль — залишається під своїм батьком, рухається разом із ним і повертається на місце після скидання. ResetManipulationповертає предмет у домашню позу з початку гри;SetHomeTransformїї змінює.BreakDistanceрахується від найближчого підходу тіла, тож фізичний предмет, узятий здалеку, не відпускається одразу.AttachToSurface,SetFreeSimulation,IsAttached,SyncTransformі запити реєстру захоплень доступні в Blueprint.
Цілі:
UInteractionBlueprintGrabTargetComponentдозволяє описати власну ціль захоплення в Blueprint (11).- Події інтерфейсу
OnGrab(Interactor)іOnRelease(Interactor, Reason, LinearVelocity, AngularVelocity)надходять від ядра для будь-якої цілі; Blueprint може їх реалізувати, але не викликати. - Актор лише з компонентом цілі отримує фокус тільки тоді, коли його зараз можна взяти.
Фізика й удари:
- Шкода від ударів фізичного актора вимкнена за замовчуванням і налаштовується в
ObjectData; звук удару має поріг і паузу між повтореннями (05). UInteractionDestructibleComponentприймає ефекти Niagara або Cascade, має налаштовувані пороги й подіюOnImpactDestroyed.- Швидкість удару
UInteractionStrikeComponentрахується за час між позами предмета.
Інструменти: модуль InteractionSystemDebug з панеллю на екрані й командами InteractionOverlay, InteractionStatus, InteractionLog, InteractionClaims, InteractionRelease, InteractionResetAll (15). У Shipping-збірках модуль нічого не реєструє.
Демо: InteractionLab і SpearRange з п'ятьма списами, мішенями, відмітками відстані й кнопками E/F; карта VRLab із сімома станціями й desktop-емулятором; Blueprint-карта VRLabBP з тими самими механіками на Event Graphs. Desktop-персонаж використовує Enhanced Input, створений у коді. Розколоте поліно у VRLabBP реплікується всім гравцям. VRLab і VRLabBP використовують спільну палітру з /InteractionSystem/Shared/Materials. Увесь контент — усередині плагіна; модулі Demo і Debug можна видалити, а тести пропускають їхні перевірки.
Документація: покрокові уроки, словник термінів, інтеграція в Blueprint і C++, мережева модель, довідник API і сторінка обмежень.
Окремого CHANGELOG.md немає — зміни записуються на цій сторінці.