Компонент VR Grab
Це компонент, який дозволяє руками захоплювати його приєднаний батьківський компонент. (Прикріплений батьківський компонент має бути дочірнім елементом примітивного компонента: статична сітка, скелетна сітка тощо).
Назва класу:
включають:
тип:
Рядки коду:
UVR_GrabComponent
#include "VR/VR_Components/VR_GrabComponent.h"
Взаємодіючий компонент
742
Загальна інформація
опис
VR Grab Component — це компонент сцени для захоплення/взаємодії (див. VR Hand) .
Налаштування
Може помістити в інвентар — ця змінна вказує, чи може гравець помістити актора в інвентар рук.
Метод захоплення – ця змінна вказує метод захоплення (див. Змінні VR) . Кожен вибір принесе додаткові параметри, такі як змінні анімації, сокети тощо (у PhysicsAnimated і PhysicsAnimatedNearSocket індекс масиву анімації дорівнює індексу масиву сокетів)
Allow Pick Up – ця змінна вказує, чи може гравець захопити компонент.
Дозволити скидання – ця змінна вказує, чи може гравець скинути компонент.
Обома руками - ця змінна вказує, чи гравець може актора обома руками.
Чи може гравець наступити на нього – ця змінна вказує, чи може гравець наступити на цього актора.
Чи може NPC взаємодіяти – ця змінна вказує, чи може NPC взаємодіяти з цим актором.
Максимальна відстань взаємодії компонентів – це максимальна відстань, на якій може схопити рука.
Увімкнути пріоритет - це визначає пріоритет поточного компонента захоплення, який буде захоплено першим серед інших.
Автоматичне обертання руки – якщо встановлено значення «справжня рука», вона автоматично повертатиметься відповідно до положення.
Зварювати вручну. Якщо встановлено значення true, компонент буде зварюватися за допомогою захоплення рукою.
Нижча приєднана сила - якщо справжня фізична сила обмеження буде нижчою.
Can Pull Grab - ця змінна вказує, чи може гравець тягнути захопити цього актора.
Анімація захоплення – це змінна анімації захоплення рукою, яка застосовується під час захоплення.
Анімація тригера - це змінна анімації натискання курка рукою, яка застосовується під час натискання курка.
A Pressed Animation - Це змінна анімації натискання руки A, яка застосовується до натискання A.
B Анімація натискання – це змінна анімації натискання рукою B, яка застосовується до натискання B.
Перевірити вісь дочірніх зіткнень – перевіряє, чи приєднані до компонента дочірні колізії UVR_GrabBoxCollisionComponent і UVR_GrabCapsuleCollisionComponent. Якщо є дитячі зіткнення, рука буде прив’язана до найближчої.
Події
Довідник 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. |
| |
недійсний | |
| |
недійсний | ForceDrop () |
| Роз’єднує обмеження. |
| |
віртуальна порожнеча | PickUpScript () |
| Виконується перед PickUp. Функцію можна перевизначити. |
| |
віртуальна порожнеча | DropScript () |
| Виконується перед скиданням. Функцію можна перевизначити. |
| |
недійсний | |
| Перевіряє тип анімації для Drop_PhysicsConstraintAnimatedNearSocket. |
| |
недійсний | SetGrabMethod ( EGrabMethod NewGrabMethod) |
| Встановити метод захоплення. |
| |
недійсний | SetBothHands (bool BothHands ) |
| Якщо справжній гравець може вибрати предмет двома руками. |
| |
недійсний | EnablePullGrab (bool Enable) |
| |
недійсний | EnableBlockPullGrab (bool Enable) |
| |
недійсний | SetAllowPickUp (bool PickUpStatus) |
| Встановлює bSetAllowPickUp (якщо справжній гравець може Grab) |
| |
недійсний | |
| Встановлює true для bJustDroped на короткий час (корисно, якщо нам потрібно щось помістити в інвентар). |
| |
FORCEINLINE EGrabMethod | GetGrabMethod () const |
| Отримайте метод захоплення. |
| |
FORCEINLINE UAnimSequence * | GetPickUpAnimation () const |
| Отримайте анімацію самовивозу. |
| |
FORCEINLINE EAnimationType | GetAnimnType () const |
| |
FORCEINLINE бул | GetInHand () const |
| Отримайте анімацію самовивозу. |
| |
FORCEINLINE бул | GetJustDroped () const |
| |
FORCEINLINE бул | CanPlayerStepOn () const |
| |
FORCEINLINE FName | GetLeftHandSocketName () const |
| |
FORCEINLINE FName | GetRightHandSocketName () const |
| |
FORCEINLINE uint8 | GetNumOfHandsAttached () const |
| |
FORCEINLINE бул | GetCanPutInInventory () const |
| |
FORCEINLINE бул | GetCanNPCInteract () const |
| |
FORCEINLINE бул | CanBothHandsGrab () const |
| |
FORCEINLINE внутр | GetGrabPriority () const |
| |
Поплавок FORCEINLINE | GetMaxInteractionDistance () const |
| |
FORCEINLINE бул | IsDropAllowed () const |
| |
FORCEINLINE бул | GetPullGrabEnabled () const |
| |
FORCEINLINE бул | IsAutoHandRotation () const |
| |
FORCEINLINE бул | IsCheckingChildCollisionAxis () const |
| |
FORCEINLINE бул | IsChildCollisionAxisInverted () const |
| |
FORCEINLINE EVectorDirectionTypes | GetChildCollisionDirectionAxis () const |
| |
bool | GetChildCollisions (TArray< UShapeComponent * > &ShapeComponents) |
| |
bool | InInteractionDistance (FVector Location, float &Distance) |
| |
bool | |
| |
недійсний | |
| |
недійсний | |
| При зіткненні Початок перекриття. |
| |
недійсний | |
| |
недійсний | Apressed () |
| |
недійсний | BНатиснуто () |
| |
недійсний | GrabPressed () |
| |
недійсний | |
| |
недійсний | Звільнений () |
| |
недійсний | BВипущено () |
| |
недійсний | GrabReleased () |
| |
недійсний | 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 | IsGrabbed () |
| |
bool | CanPullGrab () |
| |
недійсний | |
| Використовується для взаємодії з такими об’єктами, як двері. |
| |
bool | IsColliding () |
| |
недійсний | Stop_Interaction (клас AVR_Hands *MotionController) |
| Зупинити взаємодію об’єкта. |
| |
недійсний | стріляти () |
| |
bool | |
| Визначити, чи утримується об’єкт MotionController. |
| |
bool | |
| |
bool | |
| |
недійсний | NonVRInteraction ( AVR_Player * Player) |
| |
bool | |
| |
недійсний | Stop_NonVRInteraction ( AVR_Player * Player) |
| Зупинити взаємодію об’єкта. |
|
Публічні атрибути | |
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 * |