top of page

VR Player

Цілком новий клас пішаків гравців був розроблений спеціально для VR. Він має абсолютно новий механізм, який був написаний з нуля, щоб відповідати концепції VR.

Назва класу:

включають:

тип:

Рядки коду:

AVR_Player

#include "VR/VR_Player/VR_Player.h"

гравець

3181

Загальна інформація

опис

VR Player — готовий до гри клас, успадкований від класу пішака. Він має зіткнення та абсолютно інший рух, який був написаний з нуля, щоб відповідати концепції VR. Клас має вбудований ввід гравця, тому додаткові налаштування не потрібні (починаючи з Unreal Engine 5.2. Старіші збірки, такі як 4.27 потрібна стара настройка системи введення. Ви можете знайти конфігураційний файл тут ).


Основні особливості

  • Advanced Collision

  • Плавне пересування

  • Телепортація

  • Плавний поворот

  • Стрімкий поворот

  • Звуки кроків

  • Варіант Аватарка

  • Скелелазіння

  • Розширена поведінка камери VR

  • Готовий вхід для гри

  • Режим розробника

Зіткнення і рух


Зіткнення гравців має можливість адаптуватися до росту гравця та стежити за камерою під час руху в реальному світі. Переміщення в масштабі кімнати змушує колізію поводитися належним чином. Зіткнення не пройде крізь стіни, натомість реагує на всі перешкоди. Нижче наведено алгоритм, який показує, яка функція плагіна використовується для досягнення результату.


Огляд алгоритму

Зіткнення гравців має можливість адаптуватися до росту гравця та стежити за камерою під час руху в реальному світі. Переміщення в масштабі кімнати змушує колізію поводитися належним чином. Зіткнення не пройде крізь стіни, натомість реагує на всі перешкоди. Нижче наведено алгоритм, який показує, яка функція плагіна використовується для досягнення результату.
Алгоритм тику зіткнення та руху

Основні функції

  • CheckFloor (тільки версії 1.0-1.5) - Ця функція перевіряє, чи стоїть користувач на поверхні чи падає. Функція додатково містить оператори для ходьби по сходах і схилах. Функція використовує дві змінні, які можна регулювати: MaxStepHeight і MaxFloorSlope .

  • CheckClimbing - Ця функція перевіряє, чи лазить користувач, і змінює положення користувача відповідно до розташування рук.

  • UpdateCollisionHeight – ця функція оновлює висоту зіткнення та встановлює значення CurrentPlayerHeight .

  • CheckUpdatePlayerPosition - Ця функція оновлює позицію гравця у світовому просторі відповідно до переміщення в масштабі кімнати, зіткнення тощо.

  • CheckCollisionSeperation - Ця функція перевіряє, чи камера гравця вимагає відділення від зіткнення. Наприклад, гравець може захотіти спертися на стіл, щоб схопити щось. Функція використовує одну змінну, яку можна налаштувати: MaxSeperationDist . (Ця функція вимкнена під час використання Avatar) .


руки

Руки гравця — це актори, які створюються у функції BeginPlay . Клас рук можна вказати, вибравши правильний клас, змінивши значення змінної VR_HandsClass (Клас має бути дочірнім класом/BP AVR_Hands ) .


Руки гравця — це актори, які створюються у функції BeginPlay. Клас рук можна вказати, вибравши правильний клас, змінивши значення змінної VR_HandsClass (Клас має бути дочірнім класом/BP AVR_Hands).
Змінна VR_HandsClass

Перегляньте клас AVR_Hands для налаштування та додаткової інформації.


Аватар

Існує змінна AvatarMode , яка дозволяє перемикатися між параметрами HandsOnly і FullBody .


Існує змінна AvatarMode, яка дозволяє перемикатися між параметрами HandsOnly і FullBody.
HandsOnly
Існує змінна AvatarMode, яка дозволяє перемикатися між параметрами HandsOnly і FullBody.
Повне тіло

Налаштування

Типи vatarMode: HandsOnly FullBody DefaultPlayerHeight – висота персонажа за замовчуванням. AvatarAnimationInstanceClass – клас екземпляра анімації, який використовується класом гравця.
Налаштування аватара

Типи AvatarMode :

  • HandsOnly

  • Повне тіло

DefaultPlayerHeight - Висота персонажа за замовчуванням.

AvatarAnimationInstanceClass – клас екземпляра анімації, який використовується класом гравця.


Якщо вибрано параметр FullBody , перед використанням потрібно зробити дві речі. Необхідно налаштувати DefaultPlayerHeight і AvatarAnimationInstanceClass . Якщо ви хочете використовувати власну сітку, вам потрібно перепризначити ресурс, клацнувши правою кнопкою миші на скелетній сіті персонажа. Потім виберіть скелет, який постачається з плагіном ( "SK_Mannequin" ).



Якщо ви хочете використовувати власну сітку, вам потрібно перепризначити ресурс, клацнувши правою кнопкою миші на скелетній сіті персонажа.
Перепризначити сітку

УВАГА

ПЕРЕКОНАЙТЕСЯ, ЩО ВИ ПРИЗНАЧИЛИ ВЛАСНУ СІТКУ, ІНАКШЕ ВИ ОТРИМАЄТЕ ПОМИЛКИ.


Подивіться на клас UVR_AvatarAnimationInstance , щоб дізнатися про налаштування анімаційного плану та дізнатися більше про те, як це працює. Також перегляньте документацію Unreal Engine на AnimBlueprints .


Звуки кроків

Є різноманітні звуки кроків (44 звукових файли). Звук відтворюватиметься залежно від типу поверхні, на яку гравець наступає або падає. Звукову підказку кроків можна замінити у FootstepsAudioComponent. Перегляньте документацію аудіокомпонентів: Basics , C++ API .


Є різноманітні звуки кроків. Звук відтворюватиметься залежно від типу поверхні, на яку гравець наступає або падає.
Підказка кроків за замовчуванням

Є різноманітні звуки кроків (44 звукових файли). Звук відтворюватиметься залежно від типу поверхні, на яку гравець наступає або падає. Звукову підказку кроків можна замінити у FootstepsAudioComponent.
FootstepsAudioComponent

Щоб указати частоту звуків кроків, налаштуйте значення StepDistance у класі.


Щоб указати частоту звуків кроків, налаштуйте значення StepDistance у класі.
StepDistance

Сходи вимагають наступних типів поверхні. Ці типи поверхні можна додати в UnrealProject\Config\DefaultEngine.ini .

+PhysicalSurfaces=(Type=SurfaceType1,Name="Dirt")
+PhysicalSurfaces=(Type=SurfaceType2,Name="Rock")
+PhysicalSurfaces=(Type=SurfaceType3,Name="Sand")
+PhysicalSurfaces=(Type=SurfaceType4,Name="Water")
+PhysicalSurfaces=(Type=SurfaceType5,Name="Glass")
+PhysicalSurfaces=(Type=SurfaceType6,Name="Cloth")
+PhysicalSurfaces=(Type=SurfaceType7,Name="Metal")
+PhysicalSurfaces=(Type=SurfaceType8,Name="wood")
+PhysicalSurfaces=(Type=SurfaceType9,Name="Grass")
+PhysicalSurfaces=(Type=SurfaceType10,Name="Carpet")
+PhysicalSurfaces=(Type=SurfaceType11,Name="Concreate")
+PhysicalSurfaces=(Type=SurfaceType12,Name="Snow")
+PhysicalSurfaces=(Type=SurfaceType13,Name="Tile")
+PhysicalSurfaces=(Type=SurfaceType14,Name="Asphalt")
+PhysicalSurfaces=(Type=SurfaceType15,Name="Brick")
+PhysicalSurfaces=(Type=SurfaceType16,Name="Cardboard")
+PhysicalSurfaces=(Type=SurfaceType17,Name="Clay")
+PhysicalSurfaces=(Type=SurfaceType18,Name="Plastic")
+PhysicalSurfaces=(Type=SurfaceType19,Name="Electrinics")
+PhysicalSurfaces=(Type=SurfaceType20,Name="Sheetrock")
+PhysicalSurfaces=(Type=SurfaceType21,Name="Plaster")
+PhysicalSurfaces=(Type=SurfaceType22,Name="Leaver")
+PhysicalSurfaces=(Type=SurfaceType23,Name="Blood")

Відповіді каналу

VR Player і VR Hand потребують додаткових відповідей каналу. Ці відповіді каналу можна додати в UnrealProject\Config\DefaultEngine.ini .

+DefaultChannelResponses=(Channel=ECC_GameTraceChannel2,DefaultResponse=ECR_Block,bTraceType=False,bStaticObject=False,Name="GrabbedObject")
+DefaultChannelResponses=(Channel=ECC_GameTraceChannel3,DefaultResponse=ECR_Block,bTraceType=False,bStaticObject=False,Name="VR_Hands")
+DefaultChannelResponses=(Channel=ECC_GameTraceChannel4,DefaultResponse=ECR_Block,bTraceType=False,bStaticObject=False,Name="Door_Parent")
+DefaultChannelResponses=(Channel=ECC_GameTraceChannel5,DefaultResponse=ECR_Block,bTraceType=False,bStaticObject=False,Name="VRweapon")
+DefaultChannelResponses=(Channel=ECC_GameTraceChannel6,DefaultResponse=ECR_Block,bTraceType=False,bStaticObject=False,Name="NPC")

Покращений вхід

Enhanced Input не вимагає додаткового налаштування. Однак налаштування можна налаштувати (якщо плагін було додано до існуючого проекту або до стандартної VR UE Tamplate, розширений вхід може бути заблокований іншими файлами IMC та IA. Рішення полягає у видаленні інших файлів або додаванні зіставлення та заміні IMC та IA всередині Вхід VR Player) .


Enhanced Input не вимагає додаткового налаштування. Однак налаштування можна налаштувати (якщо плагін додано до існуючого проекту або до стандартної VR UE Tamplate, розширений вхід може бути заблокований іншими файлами IMC та IA. Рішення полягає у видаленні інших файлів або додаванні зіставлення та заміні IMC та IA всередині Вхід VR Player).
VR Player Enhanced Input Settings

Інвентар боєприпасів

Додатковий інвентар боєприпасів, який розташований за лівим плечем (подібно до інвентарю боєприпасів Half-Life:Alyx).


Налаштування
  • Амуніція – масив, у якому зберігається кількість боєприпасів за калібром (індекс масиву).

  • Максимальна кількість боєприпасів — масив, у якому зберігається максимальна кількість боєприпасів за калібром (індекс масиву).



Інші налаштування


  • Режим налагодження - показує трасування налагодження та всю інформацію про налагодження програвача.

  • Режим розробника – дозволяє запускати в режимі не VR (використовувати лише для попереднього перегляду).

  • Splash Screen texture - Текстура екрану завантаження.

  • Статус меню — має бути істинним, якщо гравець перебуває на рівні головного меню під час запуску.

  • У кімнаті для завантаження — має бути істинним, якщо гравець перебуває в кімнаті для завантаження на початку.

  • Максимальне здоров'я - максимальне значення здоров'я гравця.



Усі налаштування програвача VR

Довідник API Blueprint

Публічні функції члена


 

 


віртуальна порожнеча

Перевизначення OnConstruction (const FTransform &Transform).

 


віртуальна порожнеча

Перевизначення BeginPlay ().

 


віртуальна порожнеча

Перевизначення EndPlay (EEndPlayReason::Type EndPlayReason).

 


віртуальна порожнеча

 


віртуальна порожнеча

Tick (float DeltaTime) перевизначення

 


віртуальна порожнеча

Перевизначення SetupPlayerInputComponent (клас UInputComponent *PlayerInputComponent)

 


недійсний

PlayerMeshTick (плаваюча DeltaTime)

 


bool

CheckHandPtrExist (bool Hand)

 


недійсний

 

Скидає орієнтацію та положення HMD у VR.

 


недійсний

 

Кнопка ручки натиснута (Лівий контролер руху)

 


недійсний

 

Кнопка ручки відпущена (Лівий контролер руху)

 


недійсний

 

Кнопка ручки натиснута (правий контролер руху)

 


недійсний

 

Кнопка ручки відпущена (контролер руху вправо)

 


недійсний

GrabActor_Server (bool Hand)

 


bool

 


недійсний

 


недійсний

 


bool

 


недійсний

 


недійсний

 


bool

 


недійсний

 


недійсний

 


bool

 


недійсний

 


недійсний

 

Кнопка тригера натиснута (Лівий контролер руху)

 


недійсний

 

Кнопка тригера відпущена (Лівий контролер руху)

 


недійсний

Index_Press_Server (bool Hand, bool Pressed)

 


bool

Index_Press_Server_Validate (bool Hand, bool Pressed)

 


недійсний

Index_Press_Server_Implementation (bool Hand, bool Pressed)

 


недійсний

Index_Press_Multycast (bool Hand, bool Pressed)

 


bool

Index_Press_Multycast_Validate (bool Hand, bool Pressed)

 


недійсний

Index_Press_Multycast_Implementation (bool Hand, bool Pressed)

 


недійсний

 

Натиснуто кнопку тригера, використовується для Oculus (Лівий контролер руху)

 


недійсний

 

Кнопка тригера не торкається, використовується для Oculus (Лівий контролер руху)

 


недійсний

 

Натиснуто кнопку тригера, використовується для Oculus (контролер руху вправо)

 


недійсний

 

Кнопка тригера не торкається, використовується для Oculus (контролер руху вправо)

 


недійсний

 

Кнопка тригера натиснута (правий контролер руху)

 


недійсний

 

Кнопка тригера відпущена (контролер руху вправо)

 


недійсний

 

Кнопка тригера натиснута (правий контролер руху)

 


недійсний

 

Кнопка тригера натиснута (правий контролер руху)

 


недійсний

 

Використовується для Oculus HMD Indetify, коли гравець торкається верхніх кнопок.

 


недійсний

 

Використовується для Oculus HMD Indetify, коли гравець знімає верхні кнопки.

 


недійсний

Thumb_Press_Server (bool Hand, bool Pressed)

 


bool

Thumb_Press_Server_Validate (bool Hand, bool Pressed)

 


недійсний

Thumb_Press_Server_Implementation (bool Hand, bool Pressed)

 


недійсний

Thumb_Press_Multycast (bool Hand, bool Pressed)

 


bool

Thumb_Press_Multycast_Validate (bool Hand, bool Pressed)

 


недійсний

Thumb_Press_Multycast_Implementation (bool Hand, bool Pressed)

 


недійсний

 

Кнопка тригера натиснута (Лівий контролер руху)

 


недійсний

 

Кнопка тригера відпущена (Лівий контролер руху)

 


недійсний

A_Press_Server (bool Hand, bool Pressed)

 


bool

A_Press_Server_Validate (bool Hand, bool Pressed)

 


недійсний

A_Press_Server_Implementation (bool Hand, bool Pressed)

 


недійсний

A_Press_Multycast (bool Hand, bool Pressed)

 


bool

A_Press_Multycast_Validate (bool Hand, bool Pressed)

 


недійсний

A_Press_Multycast_Implementation (bool Hand, bool Pressed)

 


недійсний

 

Rightg A Кнопка натиснута.

 


недійсний

 

Rightg Відпущена кнопка A.

 


недійсний

 

Натиснута ліва кнопка A.

 


недійсний

 

Кнопка зліва A відпускається.

 


недійсний

B_Press_Server (bool Hand, bool Pressed)

 


bool

B_Press_Server_Validate (bool Hand, bool Pressed)

 


недійсний

B_Press_Server_Implementation (bool Hand, bool Pressed)

 


недійсний

B_Press_Multycast (bool Hand, bool Pressed)

 


bool

B_Press_Multycast_Validate (bool Hand, bool Pressed)

 


недійсний

B_Press_Multycast_Implementation (bool Hand, bool Pressed)

 


недійсний

 

Справаg b Натиснута кнопка.

 


недійсний

 

Справаg b Кнопка відпущена.

 


недійсний

 

Ліворуч b Натиснуто кнопку.

 


недійсний

 

Зліва b Кнопка відпущена.

 


недійсний

 

Трекпад справа g торкається.

 


недійсний

 

Правий трекпад не торкається.

 


недійсний

ThumbsticRightXAxis (const FInputActionValue &Value)

 

Обертання гравця на правій пальці.

 


недійсний

ThumbsticRightYAxis (const FInputActionValue &Value)

 

Оновлює нахил камери в режимі розробника та присідання у VR.

 


недійсний

ThumbsticLeftXAxis (плаваюче значення)

 

Обертання гравця правим джойстиком.

 


недійсний

ThumbsticLeftYAxis (плаваюче значення)

 

Оновлює нахил камери в режимі розробника та присідання у VR.

 


недійсний

UpdateMovment (const FInputActionValue &Value)

 

Рухає гравця в напрямку.

 


недійсний

MoveForward (плаваюче значення)

 

Використовується для скріплення пальцями.

 


недійсний

MoveRight (плаваюче значення)

 

Використовується для скріплення пальцями.

 


недійсний

RightTriggerAxis (const FInputActionValue &Value)

 


недійсний

LeftTriggerAxis (const FInputActionValue &Value)

 


недійсний

RightGripAxis (const FInputActionValue &Value)

 


недійсний

LeftGripAxis (const FInputActionValue &Value)

 


недійсний

ThumbTrackpadAxis (плаваюче значення)

 

Використовується для молотків зброї (пістолетів)

 


недійсний

 

Натискання кнопки E (працює лише в режимі без VR)

 


недійсний

 

Кнопку E відпущено (працює лише у режимах без VR)

 


недійсний

E_Press_Server (випущено bool)

 


bool

E_Press_Server_Validate (випущено bool)

 


недійсний

E_Press_Server_Implementation (випущено bool)

 


недійсний

E_Press_Multycast (випущено bool)

 


bool

E_Press_Multycast_Validate (випущено bool)

 


недійсний

E_Press_Multycast_Implementation (випущено bool)

 


недійсний

Execute_E_Press (bool Випущено)

 


недійсний

 


недійсний

 


недійсний

 


недійсний

 


недійсний

 


недійсний

 


FВектор

 


недійсний

 


недійсний

 

Переміщує GetCapsuleComponent() до камери, додаючи світове зміщення.

 


недійсний

UpdatePlayerPostion (FVector CurrentCameraPosition, FRotator DeviceRotation)

 

Оновлює розташування актора до розташування GetCapsuleComponent().

 


недійсний

UpdateCollisionHeight (FVector DevicePosition)

 

Оновлює висоту GetCapsuleComponent().

 


недійсний

SetMaxSeperationDist (float NewDist)

 

Встановлює MaxSeperationDist(float)

 


недійсний

 

Зникає камера, якщо об’єкти накладаються.

 


недійсний

 

Оновлює змінні, лише atm, змінну LastCollisionLocation.

 


недійсний

 


недійсний

ChangeFidelity (рівень uint8)

 


Фротатор

GetRotationFromInput (float UpAxis, float RightAxis, клас AVR_Hands *MotionController)

 

Повертає обертання для телепорту.

 


недійсний

ExecuteTeleportation (клас AVR_Hands *MotionController)

 

Керувати телепортацією.

 


недійсний

TeleportActor (клас AVR_Hands *MotionController)

 

Телепорт гравця.

 


FORCEINLINE UCapsuleComponent *

GetCollision () const

 


Поплавок FORCEINLINE

 


Поплавок FORCEINLINE

 


плавати

GetTargetMS (float DisplayHRZ)

 


FВектор

 


FВектор

 


FВектор

GetComponentDirection (клас USceneComponent *Component)

 


Клас FORCEINLINE UMotionControllerComponent *

 


Клас FORCEINLINE UMotionControllerComponent *

 


недійсний

OnCameraCollisionOverlapBegin (клас UPrimitiveComponent OverlappedComp, клас AActor OtherActor, клас UPrimitiveComponent *OtherComp, int32 OtherBodyIndex, bool bFromSweep, const FHitResult &SweepResult)

 

На камері GetCapsuleComponent() Початок перекриття.

 


недійсний

OnCameraCollisionOverlapEnd (клас UPrimitiveComponent OverlappedComp, клас AActor OtherActor, клас UPrimitiveComponent *OtherComp, int32 OtherBodyIndex)

 

На камері GetCapsuleComponent() Кінець перекриття.

 


віртуальна порожнеча

OnAmmoBoxOverlap (клас UPrimitiveComponent OverlappedComp, клас AActor OtherActor, клас UPrimitiveComponent *OtherComp, int32 OtherBodyIndex, bool bFromSweep, const FHitResult &SweepResult)

 

На коробці з боєприпасами починається перекриття.

 


віртуальна порожнеча

OnAmmoBoxOverlapEnd (клас UPrimitiveComponent OverlappedComp, клас AActor OtherActor, клас UPrimitiveComponent *OtherComp, int32 OtherBodyIndex)

 

On Ammo Box Overlap Overlap end.

 


недійсний

OnCollisionOverlapBegin (клас UPrimitiveComponent OverlappedComp, клас AActor OtherActor, клас UPrimitiveComponent *OtherComp, int32 OtherBodyIndex, bool bFromSweep, const FHitResult &SweepResult)

 

На GetCapsuleComponent() починається перекривання блоків.

 


недійсний

OnCollisionOverlapEnd (клас UPrimitiveComponent OverlappedComp, клас AActor OtherActor, клас UPrimitiveComponent *OtherComp, int32 OtherBodyIndex)

 

On GetCapsuleComponent() Box Overlap Overlap end.

 


внутр

GetAmmo (uint8 &калібр)

 

Повертає боєприпаси вибраного калібру.

 


віртуальна порожнеча

 

Перевірте, чи є об'єкт в ящику інвентарю.

 


недійсний

 

Перевірте, коли відтворювати кроковий звук.

 


недійсний

 

Перевірте, чи є у гравця підйомний об’єкт.

 


недійсний

 


недійсний

Грати FootstepsSound (bool bHasFallen)

 

Відтворює звук кроків.

 


недійсний

EnableMovment (bool enable)

 


недійсний

 


FORCEINLINE бул

 


FORCEINLINE бул

GetMenuStatus () const

 


FORCEINLINE AVR_Руки *

GetRightHand () const

 


FORCEINLINE AVR_Руки *

GetLeftHand () const

 


FORCEINLINE внутр

GetHealth () const

 


FORCEINLINE внутр

GetMaxHealth () const

 


FORCEINLINE бул

 


FORCEINLINE TArray< int >

GetAmmoArray () const

 


FORCEINLINE бул

 


FORCEINLINE FТрансформація

 


FORCEINLINE FТрансформація

 


FORCEINLINE FТрансформація

 


FORCEINLINE USkeletalMeshComponent *

GetAvatarMesh () const

 


FORCEINLINE FТрансформація

 


FORCEINLINE FВектор

 


Поплавок FORCEINLINE

 


Поплавок FORCEINLINE

 


FORCEINLINE EVRAvatarMode

GetAvatarMode () const

 


FORCEINLINE FName

 


FORCEINLINE бул

IsSprinting () const

 


FORCEINLINE бул

CanSptint () const

 


FORCEINLINE бул

HasStamina () const

 


Поплавок FORCEINLINE

GetStamina () const

 


плавати

GetDistanceMoved (FVector CurrentCameraPosition)

 


плавати

GetDistanceRotation (FRotator CurrentCameraRotation)

 


FORCEINLINE FВектор

GetFloorPoint () const

 


плавати

GetMovementDirection (FTransform CurrentCameraWorldTransform)

 


плавати

PlayVoiceLine (USoundWave *SoundWave)

 

Відтворення голосової лінії.

 


недійсний

EnableCameraFadeOnObj (bool Enable)

 


недійсний

EnableLoadingRoom (bool Enable)

 


недійсний

TeleportPlayerPawn (FVector DestLocation, FRotator DestRotation)

 


недійсний

ReciveDamage (int Damage)

 


недійсний

Лікування (int HealthToAdd)

 


недійсний

SetInventory (TArray< TSubclassOf< class AActor > > InventoryActors, TArray< UStaticMesh * > InventoryMeshes, TArray< int > NewAmmo)

 


недійсний

SetUserMode (bool VRMode)

 


недійсний

SendUserMode_Server (APawn *Player, bool VRMode)

 


bool

SendUserMode_Server_Validate (APawn *Player, bool VRMode)

 


недійсний

SendUserMode_Server_Implementation (APawn *Player, bool VRMode)

 


недійсний

SendUserMode_Multicast (APawn *Player, bool VRMode)

 


bool

SendUserMode_Multicast_Validate (APawn *Player, bool VRMode)

 


недійсний

SendUserMode_Multicast_Implementation (APawn *Player, bool VRMode)

 


Публічні атрибути


FВектор

 


bool

 


TSubclassOf< клас AActor >

 


Захищені атрибути


USceneComponent *

 

Корінь сцени за замовчуванням.

 


USceneComponent *

 

Корінь сцени камери гравців.

 


USceneComponent *

 


 

Камера гравців.

 


клас USkeletalMeshComponent *

 

Гравці GetCapsuleComponent()

 


USphereComponent *

 

Зіткнення камери гравців.

 


UBoxComponent *

 

Ящик для патронів, у який гравець може покласти патрони.

 


UAudioComponent *

 


UAudioComponent *

 


 


 


UChildActorComponent *

 


UChildActorComponent *

 


UPhysicsHandleComponent *

 


 

Контролер руху зліва.

 


 

Правий контролер руху ///.

 


USoundCue *

 


USoundCue *

 


клас UInputMappingContext *

 


клас UInputAction *

 


клас UInputAction *

 


клас UInputAction *

 


клас UInputAction *

 


клас UInputAction *

 


клас UInputAction *

 


клас UInputAction *

 


клас UInputAction *

 


клас UInputAction *

 


клас UInputAction *

 


клас UInputAction *

 


клас UInputAction *

 


клас UInputAction *

 


клас UInputAction *

 


клас UInputAction *

 


клас UInputAction *

 


клас UInputAction *


bottom of page