09 — VRLabBP: демонстрація на Blueprint¶
🇬🇧 English | 🇺🇦 Українська
/InteractionSystem/Demo/VRLabBP/Maps/VRLabBP — окрема карта у плагіні InteractionSystem 1.0 для Unreal Engine 5.8. У Content Browser увімкніть Show Plugin Content, відкрийте карту й натисніть Play. Для Quest 2 використовуються OpenXR і Touch-контролери; без шолома запускається емулятор двох рук з тими самими клавішами, що у VRLab. Tab і Backspace переходять між сімома майданчиками. Карта не змінює наявні InteractionLab, SpearRange і VRLab.
Сцена має світлу кам'яну підлогу, кобальтові стіни, блакитні та бірюзові акценти, золоті покажчики і червоне колесо. Яскрава палітра разом із батьківськими інстансами лежить у /InteractionSystem/Shared/Materials. Ці самі інстанси використовує карта VRLab; зміна кольору оновлює обидві сцени без перемальовування mesh.
Перед грою відкрийте покрокову інструкцію захоплення й використання предметів: вона пояснює, як поставити сфери долонь, утримувати дві кнопки миші, взяти лук і стрілу, натягнути тятиву та вистрілити.
| Майданчик | Blueprint-актори | Що перевірити |
|---|---|---|
| 01. Взаємодія та метання | BP_PickupCube, BP_UseButton, BP_ThrowableSpear |
Взяти куб, натиснути червону кнопку, метнути спис у мішень. Кнопка обробляє Interaction у власному Event Graph. |
| 02. Дві руки | BP_TwoHandRifle, BP_TwoHandBinoculars |
Гвинтівка використовує Grip_Main/Grip_Support на mesh; бінокль — два component anchors без socket. |
| 03. Огляд збірки | BP_ScalableEngine, BP_RemovablePiston |
Дві руки масштабують і повертають двигун; PistonSeat приймає відпущений поршень з тегом Interaction.EnginePiston. |
| 04. Просторова панель | BP_SpatialPanel |
Руками змінити розмір рамки, окремим pointer натиснути TEST POINTER. WorldControls прикріплений до mesh і масштабується разом із рамкою. |
| 05. Лук | BP_Bow, BP_Arrow |
Тримати лук та стрілу різними руками, поставити стрілу на тятиву, натягнути й відпустити. UpperString та LowerString видно навіть без стріли. Event Tick лука оновлює обидва сегменти за натягом BowInteraction; OnShot → Launch запускає стрілу. |
| 06. Бункер | BP_BunkerWheel, BP_BunkerDoor |
Взяти обід червоного трипроменевого колеса, зробити два повні оберти. Event Graph колеса перевіряє хід. Двері плавно повертаються на 100° навколо бічної петлі, а колесо рухається разом із полотном. |
| 07. Удар | BP_TwoHandAxe, BP_ChoppingLog |
Взяти сокиру двома руками та влучити лезом у поліно. OnStrike на сервері викликає подію SplitNow, яка встановлює реплікований bSplit; функція OnRep_bSplit ховає ціле поліно й показує дві підготовлені половини на всіх машинах. |
Кнопка RESET ALL DEMONSTRATIONS на панелі, Home в емуляторі або B на Quest Touch спочатку звільняють активні захоплення на сервері. Потім BP_VRLabPawn.OnLabResetRequested виконує server travel назад на VRLabBP: двері, поліно, кнопка й усі предмети повертаються до початкового стану.
Відкрийте BP_Bow, BP_BunkerWheel, BP_BunkerDoor, BP_TwoHandAxe, BP_ChoppingLog, BP_UseButton і BP_VRLabPawn, щоб переглянути власні Event Graphs.
BP_ChoppingLog — зразок того, як зробити видимий для всіх стан у Blueprint. Подія удару виконується лише на сервері, тож змінювати меші прямо в ній не можна: інші гравці цього не побачать. Натомість змінна bSplit має Replication = RepNotify, а вся візуальна зміна живе у функції OnRep_bSplit. Сервер викликає її сам після Set w/ Notify, клієнти — коли отримують нове значення, зокрема гравець, який приєднався після удару.
Простими словами. Сервер не малює розколоте поліно за всіх — він лише оголошує «поліно розколото». Кожна машина, почувши це оголошення, сама ховає ціле поліно й показує половинки. Решта предметів показують композицію з
UInteractionManipulationComponent,UInteractionGripPointComponent,UInteractionDockComponent, профілів і звичайних властивостей Blueprint. Захоплення, мережеве володіння, фізика й дворукий solver залишаються реалізацією reusable-модулів Core/World.BP_VRLabPawnіBP_VRLabGameModeє Blueprint-ассетами; для XR-вводу, desktop-емулятора та переходів між станціями pawn успадковує готовийAInteractionVRPawn. Просторовий widget використовуєUInteractionVRPanelWidgetіз Demo-модуля. Отже, приклади поведінки предметів можна вивчати та змінювати в Blueprint, не переписуючи низькорівневий XR-ввід.
Усі 16 Blueprint-ассетів, карта та матеріали входять до плагіна. Відкрийте Blueprint у редакторі, щоб переглянути або змінити графи та налаштування компонентів; додаткові скрипти для запуску не потрібні. Для Quest 2 перевірте власну Android-збірку і поведінку на гарнітурі.