Blueprints
UBhapticsSDK2로부터 생성되었습니다.
모든 노드의 Target은 "Bhaptics SDK2"입니다.
이벤트 기반 햅틱 재생 함수
Designer/Portal에서 만든 특정 햅틱 이벤트에 바인딩된 햅틱 패턴을 재생합니다. 이 함수들의 사용을 강력히 권장합니다.
Play Haptic

햅틱 이벤트를 재생합니다. 햅틱 이벤트를 호출하는 가장 기본적인 방법입니다. 모든 햅틱 이벤트 호출 함수 중 오버헤드가 가장 낮습니다.
입력
| 타입 | 이름 | 설명 |
|---|---|---|
| exec | In | |
| String | Event Id | 재생하려는 햅틱 이벤트의 이름입니다. |
출력
| 타입 | 이름 | 설명 |
|---|---|---|
| exec | Out | |
| Integer | Return Value | Request ID입니다. Request ID를 사용하여 햅틱을 중지할 수 있습니다. 반환에 실패하면 -1을 반환합니다. |
Play Haptic With Option

햅틱의 강도, Duration, 방향을 조정하면서 햅틱 이벤트를 재생합니다.
입력
| 타입 | 이름 | 설명 |
|---|---|---|
| exec | In | |
| String | Event Id | 재생하려는 햅틱 이벤트의 이름입니다. |
| Float | Intensity | 햅틱 Intensity에 이 값이 곱해집니다. |
| Float | Duration | 햅틱 Duration에 이 값이 곱해집니다. |
| Float | Angle X | 전역 Vector3.up을 중심으로 햅틱을 반시계 방향으로 회전합니다. 유효 범위: [0.0f - 360.0f] |
| Float | Offset Y | 햅틱을 위 또는 아래로 이동합니다. 유효 범위: [-0.5f - 0.5f] |
출력
| 타입 | 이름 | 설명 |
|---|---|---|
| exec | Out | |
| Integer | Return Value | Request ID입니다. Request ID를 사용하여 햅틱을 중지할 수 있습니다. 반환에 실패하면 -1을 반환합니다. |
Play Loop

햅틱을 반복적으로 재생합니다. 추가로, PlayHapticWithOption 함수처럼 햅틱의 강도, Duration, 방향을 조정할 수 있습니다.
입력
| 타입 | 이름 | 설명 |
|---|---|---|
| exec | In | |
| String | Event Id | 재생하려는 햅틱 이벤트의 이름입니다. |
| Float | Intensity | 햅틱 Intensity에 이 값이 곱해집니다. |
| Float | Duration | 햅틱 Duration에 이 값이 곱해집니다. |
| Float | Angle X | 전역 Vector3.up을 중심으로 햅틱을 반시계 방향으로 회전합니다. 유효 범위: [0.0f - 360.0f] |
| Float | Offset Y | 햅틱을 위 또는 아래로 이동합니다. 유효 범위: [-0.5f - 0.5f] |
| Integer | Interval | 루프 사이의 시간 간격으로, 밀리초 단위입니다. |
| Integer | Max Count | 루프 횟수입니다. |
출력
| 타입 | 이름 | 설명 |
|---|---|---|
| exec | Out | |
| Integer | Return Value | Request ID입니다. Request ID를 사용하여 햅틱을 중지할 수 있습니다. 반환에 실패하면 -1을 반환합니다. |
햅틱 직접 재생 함수
새 이벤트를 만들지 않고 햅틱을 재생하려면 이 함수들을 사용하시기 바랍니다.
Play Dot

특정 햅틱 액추에이터에서 햅틱 피드백을 재생합니다. 이벤트를 만들지 않고도 이 함수를 사용할 수 있습니다.
입력
| 타입 | 이름 | 설명 |
|---|---|---|
| exec | In | |
| Integer | Position | 햅틱 디바이스의 유형입니다. |
| Array of Integers | Motor Values | 디바이스의 모터 수에 맞게 배열 길이를 지정합니다. 배열의 값은 모터의 Intensity를 의미합니다. 배열의 각 값의 유효 범위: [1 - 100] |
| Float | Seconds | 햅틱의 Duration으로, 초 단위입니다. 0.1f 이상을 권장합니다. |
-
Position
값 디바이스 0 TactSuit 1 Tactosy for Arms(Left) 2 Tactosy for Arms(Right) 3 TactVisor 4 Tactosy for Hands(Left) 5 Tactosy for Hands(Right) 6 Tactosy for Feet(Left) 7 Tactosy for Feet(Right) 8 TactGlove(Left) 9 TactGlove(Right)
출력
| 타입 | 이름 | 설명 |
|---|---|---|
| exec | Out | |
| Integer | Return Value | Request ID입니다. Request ID를 사용하여 햅틱을 중지할 수 있습니다. 반환에 실패하면 -1을 반환합니다. |
Play Path

특정 좌표 주변에서 햅틱을 재생합니다. 자세한 내용은 C++ API 레퍼런스를 참고하시기 바랍니다.
입력
| 타입 | 이름 | 설명 |
|---|---|---|
| exec | In | |
| Integer | Position | 햅틱 디바이스의 유형입니다. |
| Array of Floats | X | X 좌표를 지정합니다. 배열의 각 값의 유효 범위: [0.0f - 1.0f] |
| Array of Floats | Y | Y 좌표를 지정합니다. 배열의 각 값의 유효 범위: [0.0f - 1.0f] |
| Array of Integers | Motor Values | 디바이스의 모터 수에 맞게 배열 길이를 지정합니다. 배열의 값은 모터의 Intensity를 의미합니다. 배열의 각 값의 유효 범위: [1 - 100] |
| Float | Seconds | 햅틱의 Duration으로, 초 단위입니다. 0.1f 이상을 권장합니다. |
-
Position
값 디바이스 0 TactSuit 1 Tactosy for Arms(Left) 2 Tactosy for Arms(Right) 3 TactVisor 4 Tactosy for Hands(Left) 5 Tactosy for Hands(Right) 6 Tactosy for Feet(Left) 7 Tactosy for Feet(Right) 8 TactGlove(Left) 9 TactGlove(Right)
출력
| 타입 | 이름 | 설명 |
|---|---|---|
| exec | Out | |
| Integer | Return Value | Request ID입니다. Request ID를 사용하여 햅틱을 중지할 수 있습니다. 반환에 실패하면 -1을 반환합니다. |
Play Waveform

TactGlove 전용. TactGlove에서 햅틱을 재생합니다. "Play Dot"을 사용할 때와 달리, 햅틱 Duration과 진동 Intensity 변화를 세밀하게 조정할 수 있습니다. 이를 통해 햅틱 피드백을 더욱 정교하게 표현할 수 있습니다.
각 배열은 8개의 요소를 가져야 하며, 동작하려면 최소 1개의 요소가 필요합니다.
입력
| 타입 | 이름 | 설명 |
|---|---|---|
| exec | In | |
| Integer | Position | 햅틱 디바이스의 유형입니다. |
| Array of Integers | Motor Intensities | 8개의 요소로 구성된 배열로, 각 요소는 모터의 Intensity를 나타냅니다. 하나의 TactGlove에는 8개의 모터가 있으므로 배열의 길이는 8이어야 합니다. 배열의 각 값의 유효 범위: [1 - 100] |
| Array of EBhapticsGlovePlayTime Enums | Play Time Values | 8개의 요소로 구성된 배열로, 각 요소는 작동 시간 간격을 나타내며, 시간은 EBhapticsGlovePlayTime enum으로 정의됩니다. |
| Array of EBhapticsGloveShapeValue Enums | Shape Values | 8개의 요소로 구성된 배열로, 각 요소는 시간에 따른 햅틱 Intensity 변화의 형태를 나타내며, EBhapticsGloveShapeValue enum으로 지정됩니다. |
-
Position
값 디바이스 8 TactGlove(Left) 9 TactGlove(Right) -
Motor Intensities
배열 인덱스 모터 위치… 0 엄지손가락 끝 1 검지손가락 끝 2 중지손가락 끝 3 약지손가락 끝 4 새끼손가락 끝 5 손목 위 6 손바닥 (엄지 쪽) 7 손바닥 (새끼손가락 쪽) -
Play Time Values
값 Duration 동일 항목… EBhapticsGlovePlayTime::None 없음 0 EBhapticsGlovePlayTime::FiveMS 5ms 1 EBhapticsGlovePlayTime::TenMS 10ms 2 EBhapticsGlovePlayTime::TwentyMS 20ms 4 EBhapticsGlovePlayTime::ThirtyMS 30ms 6 EBhapticsGlovePlayTime::FortyMS 40ms 8 -
Shape Values
값 웨이브폼 동일 항목… EBhapticsGloveShapeValue::Constant Duration 동안 일정한 Intensity 0 EBhapticsGloveShapeValue::Decreasing 지정된 Intensity로 시작하여 절반까지 감소 1 EBhapticsGloveShapeValue::Increasing 지정된 Intensity의 절반으로 시작하여 지정된 Intensity까지 증가합니다. 2
출력
| 타입 | 이름 | 설명 |
|---|---|---|
| exec | Out | |
| Integer | Return Value | Request ID입니다. Request ID를 사용하여 햅틱을 중지할 수 있습니다. 반환에 실패하면 -1을 반환합니다. |
기타 함수
Stop Haptic By Event Id

Event ID로 햅틱 이벤트를 중지합니다. 중지 성공 여부를 반환합니다.
입력
| 타입 | 이름 | 설명 |
|---|---|---|
| exec | In | |
| String | Event Id | 중지하려는 햅틱 이벤트의 이름입니다. |
출력
| 타입 | 이름 | 설명 |
|---|---|---|
| exec | Out | |
| Boolean | Return Value | 중지 성공 여부입니다. |
Stop Haptic By Request Id

햅틱을 실행하는 함수의 반환값인 Request ID를 사용하여 햅틱 이벤트를 중지합니다. 중지 성공 여부를 반환합니다.
입력
| 타입 | 이름 | 설명 |
|---|---|---|
| exec | In | |
| Integer | Request Id | 중지하려는 재생 중인 햅틱 이벤트의 Request ID입니다. |
출력
| 타입 | 이름 | 설명 |
|---|---|---|
| exec | Out | |
| Boolean | Return Value | 중지 성공 여부입니다. |
Stop Haptic

현재 재생 중인 모든 햅틱을 중지합니다. 중지 성공 여부를 반환합니다.
입력
| 타입 | 이름 | 설명 |
|---|---|---|
| exec | In |
출력
| 타입 | 이름 | 설명 |
|---|---|---|
| exec | Out | |
| Boolean | Return Value | 중지 성공 여부입니다. |
Is Playing

햅틱이 재생 중인지 확인합니다.
입력
| 타입 | 이름 | 설명 |
|---|---|---|
| exec | In |
출력
| 타입 | 이름 | 설명 |
|---|---|---|
| exec | Out | |
| Boolean | Return Value | 이벤트가 재생 중인지 여부입니다. |
Is Playing By Event Id

이 Event ID에 해당하는 햅틱 이벤트가 재생 중인지 확인합니다.
입력
| 타입 | 이름 | 설명 |
|---|---|---|
| exec | In | |
| String | Event Id | 현재 재생 중인지 확인하려는 햅틱 이벤트의 이름입니다. |
출력
| 타입 | 이름 | 설명 |
|---|---|---|
| exec | Out | |
| Boolean | Return Value | 이벤트가 재생 중인지 여부입니다. |
Is Playing By Request Id

이 Request ID에 해당하는 햅틱 이벤트가 재생 중인지 확인합니다.
입력
| 타입 | 이름 | 설명 |
|---|---|---|
| exec | In | |
| Integer | Request Id | 현재 재생 중인지 확인하려는 햅틱 이벤트의 Request ID입니다. |
출력
| 타입 | 이름 | 설명 |
|---|---|---|
| exec | Out | |
| Boolean | Return Value | 이벤트가 재생 중인지 여부입니다. |
Initialize bHaptics

햅틱 환경을 초기화합니다. 햅틱 관련 함수를 사용하기 전에 이 함수를 호출해야 합니다.
입력
| 타입 | 이름 | 설명 |
|---|---|---|
| exec | In |
출력
| 타입 | 이름 | 설명 |
|---|---|---|
| exec | Out |
Ping

특정 디바이스에 간단한 햅틱 피드백을 전송합니다.
입력
| 타입 | 이름 | 설명 |
|---|---|---|
| exec | In | |
| Bhaptics Device Structure | Device | Ping을 보내려는 디바이스입니다. |
출력
| 타입 | 이름 | 설명 |
|---|---|---|
| exec | Out |
Ping All
연결된 모든 디바이스에 간단한 햅틱 피드백을 전송합니다.
입력
| 타입 | 이름 | 설명 |
|---|---|---|
| exec | In |
출력
| 타입 | 이름 | 설명 |
|---|---|---|
| exec | Out |
Destroy bHaptics

햅틱 환경을 해제합니다. 이 함수는 게임이 종료될 때 호출해야 하며, 반드시 한 번만 호출해야 합니다.
입력
| 타입 | 이름 | 설명 |
|---|---|---|
| exec | In |
출력
| 타입 | 이름 | 설명 |
|---|---|---|
| exec | Out |
Get bHaptics devices

연결된 햅틱 디바이스 정보의 배열을 가져옵니다.
입력
| 타입 | 이름 | 설명 |
|---|---|---|
| exec | In |
출력
| 타입 | 이름 | 설명 |
|---|---|---|
| exec | Out | |
| Array of Bhaptics Device Structures | Return Value | 디바이스 목록입니다. |
Is bHaptics Available

햅틱 환경이 초기화되어 햅틱 관련 함수를 사용할 준비가 되었는지 확인합니다.
입력
| 타입 | 이름 | 설명 |
|---|---|---|
| exec | In |
출력
| 타입 | 이름 | 설명 |
|---|---|---|
| exec | Out | |
| Boolean | Return Value | bHaptics 환경 사용 가능 여부입니다. |
Project To Vest With Player Collision Object

플레이어로부터 주어진 충돌 접촉 지점의 Offset 값(각도와 높이)을 계산하는 헬퍼 함수입니다. 이 Offset 값은 햅틱 위치를 조정할 수 있는 PlayHapticWithOption과 PlayLoop에서 사용할 수 있습니다.
이 함수는 정면 방향이 베스트의 앞면과 일치한다고 가정하며, 플레이어의 위치를 원점으로 간주합니다.
자세한 내용은 C++ API 레퍼런스를 참고하시기 바랍니다.
입력
| 타입 | 이름 | 설명 |
|---|---|---|
| Vector | Contact Location | 전역 좌표계의 접촉 지점입니다. |
| Primitive Component Object Reference | Player Component | 플레이어에 부착된 프리미티브 컴포넌트에 대한 참조입니다. |
| Float | Half Height | 플레이어 실제 키의 절반 값으로, 센티미터 단위입니다. |
출력
| 타입 | 이름 | 설명 |
|---|---|---|
| Bhaptics Rotation Option Structure | Return Value | Offset 값입니다. |
Project To Vest With Player Location/Position

접촉 위치와 플레이어 트랜스폼 정보로부터 Offset 값을 계산하는 헬퍼 함수입니다. "Project To Vest"와 비슷하지만, 각도 Offset(Offset Angle X)만 계산합니다. 높이(Offset Y)는 항상 0입니다.
입력
| 타입 | 이름 | 설명 |
|---|---|---|
| Vector | Contact Location | 전역 좌표계의 접촉 지점입니다. |
| Vector | Player Location | 플레이어의 위치입니다. |
| Rotator | Player Rotation | 플레이어의 회전입니다. |
출력
| 타입 | 이름 | 설명 |
|---|---|---|
| Bhaptics Rotation Option Structure | Return Value | Offset 값입니다. |
Custom Project To Vest

충돌로부터 Offset 값을 계산하는 헬퍼 함수입니다. "Project To Vest"와 동일한 기능을 수행하지만, Forward 및 Up 벡터를 변경할 수 있습니다.
입력
| 타입 | 이름 | 설명 |
|---|---|---|
| Vector | Contact Location | 전역 좌표계의 접촉 지점입니다. |
| Primitive Component Object Reference | Player Component | 플레이어에 부착된 프리미티브 컴포넌트에 대한 참조입니다. |
| Float | Half Height | 플레이어 실제 키의 절반 값으로, 센티미터 단위입니다. |
| Vector | Up Vector | Offset 계산의 기준이 되는 위쪽 방향 벡터입니다. |
| Vector | Forward Vector | Offset 계산의 기준이 되는 정면 방향 벡터입니다. |
출력
| 타입 | 이름 | 설명 |
|---|---|---|
| Bhaptics Rotation Option Structure | Return Value | Offset 값입니다. |