Skip to content

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-збірку і поведінку на гарнітурі.