top of page

Компонент VR Grab

Це компонент, який дозволяє руками захоплювати його приєднаний батьківський компонент. (Прикріплений батьківський компонент має бути дочірнім елементом примітивного компонента: статична сітка, скелетна сітка тощо).

Назва класу:

включають:

тип:

Рядки коду:

UVR_GrabComponent

#include "VR/VR_Components/VR_GrabComponent.h"

Взаємодіючий компонент

742

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

опис

VR Grab Component — це компонент сцени для захоплення/взаємодії (див. VR Hand) .



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


Може помістити в інвентар — ця змінна вказує, чи може гравець помістити актора в інвентар рук. Метод захоплення – ця змінна вказує метод захоплення (див. Змінні VR). Кожен вибір принесе додаткові параметри, такі як змінні анімації, сокети тощо. (У PhysicsAnimated і PhysicsAnimatedNearSocket індекс масиву анімації дорівнює індексу масиву сокетів). Дозволити забрати – ця змінна вказує, чи може гравець захопити компонент. Дозволити скидання – ця змінна вказує, чи може гравець скинути компонент. Обома руками - ця змінна вказує, чи гравець може актора обома руками. Чи може гравець наступити на нього – ця змінна вказує, чи може гравець наступити на цього актора. Чи може NPC взаємодіяти – ця змінна вказує, чи може NPC взаємодіяти з цим актором. Максимальна відстань взаємодії компонентів – це максимальна відстань, на якій може схопити рука. Увімкнути пріоритет - це визначає пріоритет поточного компонента захоплення, який буде захоплено першим серед інших. Автоматичне обертання руки – якщо встановлено значення «справжня рука», вона автоматично повертатиметься відповідно до положення. Зварювати вручну. Якщо встановлено значення true, компонент буде зварюватися за допомогою захоплення рукою. Нижча приєднана сила - якщо справжня фізична сила обмеження буде нижчою. Can Pull Grab - ця змінна вказує, чи може гравець тягнути захопити цього актора.
Налаштування компонентів VR Grab

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

  • Метод захоплення – ця змінна вказує метод захоплення (див. Змінні VR) . Кожен вибір принесе додаткові параметри, такі як змінні анімації, сокети тощо (у PhysicsAnimated і PhysicsAnimatedNearSocket індекс масиву анімації дорівнює індексу масиву сокетів)

  • Allow Pick Up – ця змінна вказує, чи може гравець захопити компонент.

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

  • Обома руками - ця змінна вказує, чи гравець може актора обома руками.

  • Чи може гравець наступити на нього – ця змінна вказує, чи може гравець наступити на цього актора.

  • Чи може NPC взаємодіяти – ця змінна вказує, чи може NPC взаємодіяти з цим актором.

  • Максимальна відстань взаємодії компонентів – це максимальна відстань, на якій може схопити рука.

  • Увімкнути пріоритет - це визначає пріоритет поточного компонента захоплення, який буде захоплено першим серед інших.

  • Автоматичне обертання руки – якщо встановлено значення «справжня рука», вона автоматично повертатиметься відповідно до положення.

  • Зварювати вручну. Якщо встановлено значення true, компонент буде зварюватися за допомогою захоплення рукою.

  • Нижча приєднана сила - якщо справжня фізична сила обмеження буде нижчою.

  • Can Pull Grab - ця змінна вказує, чи може гравець тягнути захопити цього актора.

  • Анімація захоплення – це змінна анімації захоплення рукою, яка застосовується під час захоплення.

  • Анімація тригера - це змінна анімації натискання курка рукою, яка застосовується під час натискання курка.

  • A Pressed Animation - Це змінна анімації натискання руки A, яка застосовується до натискання A.

  • B Анімація натискання – це змінна анімації натискання рукою B, яка застосовується до натискання B.

  • Перевірити вісь дочірніх зіткнень – перевіряє, чи приєднані до компонента дочірні колізії UVR_GrabBoxCollisionComponent і UVR_GrabCapsuleCollisionComponent. Якщо є дитячі зіткнення, рука буде прив’язана до найближчої.


Події


Події компонентів VR Grab

Довідник API Blueprint

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


 

 


віртуальний бол

 


віртуальний бол

 


віртуальний бол

 


недійсний

OnHitCheckColliding (UPrimitiveComponent HitComponent, AActor OtherActor, UPrimitiveComponent *OtherComp, FVector normalImpulse, const FHitResult &Hit)

 


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

Перевизначення TickComponent (float DeltaTime, ELevelTick TickType, FActorComponentTickFunction *ThisTickFunction)

 


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

Interaction_Implementation (клас AVR_Hands *MotionController, bool &HandleStatus, bool bFroceAttachHandle)

 

Реалізація самовивозу.

 


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

Stop_Interaction_Implementation (клас AVR_Hands *MotionController)

 

Від'єднайте об'єкт від руки.

 


недійсний

 

Підібрати об’єкт за допомогою методу AttachTo. Примусове приєднання, без фізики.

 


недійсний

 

Зібрати об’єкт за допомогою методу PhysicsConstraint Physics, примусово приєднати.

 


недійсний

 

Підібрати об’єкт за допомогою методу PhysicsConstraint та анімації. (Об’єкт прив’язується до цілі) Фізика, примусове приєднання.

 


недійсний

 


недійсний

 

Відкидає метод AttachTo.

 


недійсний

Drop_PhysicsConstraint (UPhysicsConstraintComponent *PickPhysicsConstraint)

 

Відкидає метод PhysicsConstraint.

 


недійсний

 

Відкидає метод PhysicsConstraintAnimated.

 


недійсний

 


недійсний

 

Роз’єднує обмеження.

 


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

 

Виконується перед PickUp. Функцію можна перевизначити.

 


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

 

Виконується перед скиданням. Функцію можна перевизначити.

 


недійсний

 

Перевіряє тип анімації для Drop_PhysicsConstraintAnimatedNearSocket.

 


недійсний

SetGrabMethod ( EGrabMethod NewGrabMethod)

 

Встановити метод захоплення.

 


недійсний

 

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

 


недійсний

EnablePullGrab (bool Enable)

 


недійсний

EnableBlockPullGrab (bool Enable)

 


недійсний

SetAllowPickUp (bool PickUpStatus)

 

Встановлює bSetAllowPickUp (якщо справжній гравець може Grab)

 


недійсний

 

Встановлює true для bJustDroped на короткий час (корисно, якщо нам потрібно щось помістити в інвентар).

 


FORCEINLINE EGrabMethod

GetGrabMethod () const

 

Отримайте метод захоплення.

 


FORCEINLINE UAnimSequence *

 

Отримайте анімацію самовивозу.

 


FORCEINLINE EAnimationType

GetAnimnType () const

 


FORCEINLINE бул

GetInHand () const

 

Отримайте анімацію самовивозу.

 


FORCEINLINE бул

GetJustDroped () const

 


FORCEINLINE бул

 


FORCEINLINE FName

 


FORCEINLINE FName

 


FORCEINLINE uint8

 


FORCEINLINE бул

 


FORCEINLINE бул

 


FORCEINLINE бул

 


FORCEINLINE внутр

 


Поплавок FORCEINLINE

 


FORCEINLINE бул

IsDropAllowed () const

 


FORCEINLINE бул

 


FORCEINLINE бул

 


FORCEINLINE бул

 


FORCEINLINE бул

 


 


bool

GetChildCollisions (TArray< UShapeComponent * > &ShapeComponents)

 


bool

InInteractionDistance (FVector Location, float &Distance)

 


bool

 


недійсний

 


недійсний

 

При зіткненні Початок перекриття.

 


недійсний

 


недійсний

 


недійсний

 


недійсний

 


недійсний

 


недійсний

 


недійсний

 


недійсний

 


недійсний

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

 


недійсний

 


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

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

 


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

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

 


 

UPROPERTY (EditAnywhere, BlueprintReadWrite, Category="Grab|Animation", meta=(EditCondition="(GrabMethod == EGrabMethod::PhysicsAnimatedNearSocket || GrabMethod == EGrabMethod::AnimatedAndIK || GrabMethod == EGrabMethod::PhysicsAnimated ) && PickUpAnimation Тип = = EPickUpAnimations::Interactable", EditConditionHides)) UAnimSequence *PickAPressAnimation

 


 

UPROPERTY (EditAnywhere, BlueprintReadWrite, Category="Grab|Animation", meta=(EditCondition="(GrabMethod == EGrabMethod::PhysicsAnimatedNearSocket || GrabMethod == EGrabMethod::AnimatedAndIK || GrabMethod == EGrabMethod::PhysicsAnimated ) && PickUpAnimation Тип = = EPickUpAnimations::Interactable", EditConditionHides)) UAnimSequence *PickBPressAnimation

 


 

UPROPERTY (EditAnywhere, BlueprintReadWrite, Category="Grab|Animation", meta=(EditCondition="(GrabMethod == EGrabMethod::PhysicsAnimatedNearSocket || GrabMethod == EGrabMethod::AnimatedAndIK || GrabMethod == EGrabMethod::PhysicsAnimated ) && PickUpAnimation Тип = = EPickUpAnimations::Interactable", EditConditionHides)) UAnimSequence *PickTriggerPressAnimation

 


 

UPROPERTY (EditAnywhere, BlueprintReadWrite, Category="Grab", meta=(EditCondition="(GrabMethod == EGrabMethod::Physics || GrabMethod == EGrabMethod::AnimatedAndIK )", EditConditionHides)) bool AutoHandRotation

 


 

UPROPERTY (EditAnywhere, BlueprintReadWrite, Category="Grab|Child Collisions", meta=(EditCondition="(GrabMethod == EGrabMethod::Physics || GrabMethod == EGrabMethod::AnimatedAndIK )", EditConditionHides)) bool CheckForChildCollisionAxis

 


 

UPROPERTY (EditAnywhere, BlueprintReadWrite, Category="Grab|Child Collisions", meta=(EditCondition="CheckForChildCollisionAxis == true && ( GrabMethod == EGrabMethod::Physics || GrabMethod == EGrabMethod::AnimatedAndIK )", EditConditionHides)) bool InvertChildCollisionAxis

 


 

UPROPERTY (EditAnywhere, BlueprintReadWrite, Category="Grab|Child Collisions", meta=(EditCondition="CheckForChildCollisionAxis == true && ( GrabMethod == EGrabMethod::Physics || GrabMethod == EGrabMethod::AnimatedAndIK )", EditConditionHides)) EVectorDirectionTy pes ChildCollisionDirectionAxis

 


Відкриті функції члена, успадковані від IVR_InteractionInterface


недійсний

Пікап (клас AActor VR_MotionConttroller, клас USceneComponent MotionController, клас UPhysicsConstraintComponent PickPhysicsConstraint, клас USkeletalMeshComponent RealHandMesh, EControllerHand CurrentHand)

 


недійсний

Викинути (клас UPhysicsConstraintComponent *PickPhysicsConstraint)

 


bool

 


bool

 


недійсний

Взаємодія (клас AVR_Hands *MotionController, bool &HandleStatus, bool bFroceAttachHandle)

 

Використовується для взаємодії з такими об’єктами, як двері.

 


bool

 


недійсний

Stop_Interaction (клас AVR_Hands *MotionController)

 

Зупинити взаємодію об’єкта.

 


недійсний

 


bool

IsHeldBy (клас AVR_Hands *MotionController)

 

Визначити, чи утримується об’єкт MotionController.

 


bool

 


bool

 


недійсний

 


bool

 


недійсний

 

Зупинити взаємодію об’єкта.

 


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


FComponentTriggerPressed

 


FComponentAPressed

 


FComponentBPressed

 


FComponentGrabPressed

 


FComponentTriggerВипущено

 


FComponentARвипущено

 


FComponentBВипущено

 


FComponentGrabВипущено

 


FComponentTriggerChange

 


UPrimitiveComponent *

 


bool

 


bool

 


bool

 


bool

 


bool

 


плавати

 


bool

 


bool

 


bool

 


bool

 


внутр

 


 


 


UAnimSequence *

 


bool

 


FName

 


FName

 


TArray< FName >

 


TArray< UAnimSequence * >

 


плавати

 


bool

 


bool

 


 


 


EControllerHand

 


bool

bIsColliding = false

 


плавати

 


клас АА*

 


клас USceneComponent *

 


клас UPhysicsHandleComponent *

 


клас UPhysicsConstraintComponent *

 


клас USkeletalMeshComponent *

 


клас USphereComponent *


bottom of page