본문으로 건너뛰기

Blueprints

UBhapticsSDK2로부터 생성되었습니다.

모든 노드의 Target은 "Bhaptics SDK2"입니다.


이벤트 기반 햅틱 재생 함수

Designer/Portal에서 만든 특정 햅틱 이벤트에 바인딩된 햅틱 패턴을 재생합니다. 이 함수들의 사용을 강력히 권장합니다.

Play Haptic

Untitled

햅틱 이벤트를 재생합니다. 햅틱 이벤트를 호출하는 가장 기본적인 방법입니다. 모든 햅틱 이벤트 호출 함수 중 오버헤드가 가장 낮습니다.

입력

타입이름설명
execIn
StringEvent Id재생하려는 햅틱 이벤트의 이름입니다.

출력

타입이름설명
execOut
IntegerReturn ValueRequest ID입니다. Request ID를 사용하여 햅틱을 중지할 수 있습니다. 반환에 실패하면 -1을 반환합니다.

Play Haptic With Option

Untitled

햅틱의 강도, Duration, 방향을 조정하면서 햅틱 이벤트를 재생합니다.

입력

타입이름설명
execIn
StringEvent Id재생하려는 햅틱 이벤트의 이름입니다.
FloatIntensity햅틱 Intensity에 이 값이 곱해집니다.
FloatDuration햅틱 Duration에 이 값이 곱해집니다.
FloatAngle X전역 Vector3.up을 중심으로 햅틱을 반시계 방향으로 회전합니다. 유효 범위: [0.0f - 360.0f]
FloatOffset Y햅틱을 위 또는 아래로 이동합니다. 유효 범위: [-0.5f - 0.5f]

출력

타입이름설명
execOut
IntegerReturn ValueRequest ID입니다. Request ID를 사용하여 햅틱을 중지할 수 있습니다. 반환에 실패하면 -1을 반환합니다.

Play Loop

Untitled

햅틱을 반복적으로 재생합니다. 추가로, PlayHapticWithOption 함수처럼 햅틱의 강도, Duration, 방향을 조정할 수 있습니다.

입력

타입이름설명
execIn
StringEvent Id재생하려는 햅틱 이벤트의 이름입니다.
FloatIntensity햅틱 Intensity에 이 값이 곱해집니다.
FloatDuration햅틱 Duration에 이 값이 곱해집니다.
FloatAngle X전역 Vector3.up을 중심으로 햅틱을 반시계 방향으로 회전합니다. 유효 범위: [0.0f - 360.0f]
FloatOffset Y햅틱을 위 또는 아래로 이동합니다. 유효 범위: [-0.5f - 0.5f]
IntegerInterval루프 사이의 시간 간격으로, 밀리초 단위입니다.
IntegerMax Count루프 횟수입니다.

출력

타입이름설명
execOut
IntegerReturn ValueRequest ID입니다. Request ID를 사용하여 햅틱을 중지할 수 있습니다. 반환에 실패하면 -1을 반환합니다.

햅틱 직접 재생 함수

새 이벤트를 만들지 않고 햅틱을 재생하려면 이 함수들을 사용하시기 바랍니다.

Play Dot

Untitled

특정 햅틱 액추에이터에서 햅틱 피드백을 재생합니다. 이벤트를 만들지 않고도 이 함수를 사용할 수 있습니다.

입력

타입이름설명
execIn
IntegerPosition햅틱 디바이스의 유형입니다.
Array of IntegersMotor Values디바이스의 모터 수에 맞게 배열 길이를 지정합니다. 배열의 값은 모터의 Intensity를 의미합니다. 배열의 각 값의 유효 범위: [1 - 100]
FloatSeconds햅틱의 Duration으로, 초 단위입니다. 0.1f 이상을 권장합니다.
  • Position

    디바이스
    0TactSuit
    1Tactosy for Arms(Left)
    2Tactosy for Arms(Right)
    3TactVisor
    4Tactosy for Hands(Left)
    5Tactosy for Hands(Right)
    6Tactosy for Feet(Left)
    7Tactosy for Feet(Right)
    8TactGlove(Left)
    9TactGlove(Right)

출력

타입이름설명
execOut
IntegerReturn ValueRequest ID입니다. Request ID를 사용하여 햅틱을 중지할 수 있습니다. 반환에 실패하면 -1을 반환합니다.

Play Path

Untitled

특정 좌표 주변에서 햅틱을 재생합니다. 자세한 내용은 C++ API 레퍼런스를 참고하시기 바랍니다.

입력

타입이름설명
execIn
IntegerPosition햅틱 디바이스의 유형입니다.
Array of FloatsXX 좌표를 지정합니다. 배열의 각 값의 유효 범위: [0.0f - 1.0f]
Array of FloatsYY 좌표를 지정합니다. 배열의 각 값의 유효 범위: [0.0f - 1.0f]
Array of IntegersMotor Values디바이스의 모터 수에 맞게 배열 길이를 지정합니다. 배열의 값은 모터의 Intensity를 의미합니다. 배열의 각 값의 유효 범위: [1 - 100]
FloatSeconds햅틱의 Duration으로, 초 단위입니다. 0.1f 이상을 권장합니다.
  • Position

    디바이스
    0TactSuit
    1Tactosy for Arms(Left)
    2Tactosy for Arms(Right)
    3TactVisor
    4Tactosy for Hands(Left)
    5Tactosy for Hands(Right)
    6Tactosy for Feet(Left)
    7Tactosy for Feet(Right)
    8TactGlove(Left)
    9TactGlove(Right)

출력

타입이름설명
execOut
IntegerReturn ValueRequest ID입니다. Request ID를 사용하여 햅틱을 중지할 수 있습니다. 반환에 실패하면 -1을 반환합니다.

Play Waveform

Untitled

TactGlove 전용. TactGlove에서 햅틱을 재생합니다. "Play Dot"을 사용할 때와 달리, 햅틱 Duration과 진동 Intensity 변화를 세밀하게 조정할 수 있습니다. 이를 통해 햅틱 피드백을 더욱 정교하게 표현할 수 있습니다.

각 배열은 8개의 요소를 가져야 하며, 동작하려면 최소 1개의 요소가 필요합니다.

입력

타입이름설명
execIn
IntegerPosition햅틱 디바이스의 유형입니다.
Array of IntegersMotor Intensities8개의 요소로 구성된 배열로, 각 요소는 모터의 Intensity를 나타냅니다. 하나의 TactGlove에는 8개의 모터가 있으므로 배열의 길이는 8이어야 합니다. 배열의 각 값의 유효 범위: [1 - 100]
Array of EBhapticsGlovePlayTime EnumsPlay Time Values8개의 요소로 구성된 배열로, 각 요소는 작동 시간 간격을 나타내며, 시간은 EBhapticsGlovePlayTime enum으로 정의됩니다.
Array of EBhapticsGloveShapeValue EnumsShape Values8개의 요소로 구성된 배열로, 각 요소는 시간에 따른 햅틱 Intensity 변화의 형태를 나타내며, EBhapticsGloveShapeValue enum으로 지정됩니다.
  • Position

    디바이스
    8TactGlove(Left)
    9TactGlove(Right)
  • Motor Intensities

    배열 인덱스모터 위치…
    0엄지손가락 끝
    1검지손가락 끝
    2중지손가락 끝
    3약지손가락 끝
    4새끼손가락 끝
    5손목 위
    6손바닥 (엄지 쪽)
    7손바닥 (새끼손가락 쪽)
  • Play Time Values

    Duration동일 항목…
    EBhapticsGlovePlayTime::None없음0
    EBhapticsGlovePlayTime::FiveMS5ms1
    EBhapticsGlovePlayTime::TenMS10ms2
    EBhapticsGlovePlayTime::TwentyMS20ms4
    EBhapticsGlovePlayTime::ThirtyMS30ms6
    EBhapticsGlovePlayTime::FortyMS40ms8
  • Shape Values

    웨이브폼동일 항목…
    EBhapticsGloveShapeValue::ConstantDuration 동안 일정한 Intensity0
    EBhapticsGloveShapeValue::Decreasing지정된 Intensity로 시작하여 절반까지 감소1
    EBhapticsGloveShapeValue::Increasing지정된 Intensity의 절반으로 시작하여 지정된 Intensity까지 증가합니다.2

출력

타입이름설명
execOut
IntegerReturn ValueRequest ID입니다. Request ID를 사용하여 햅틱을 중지할 수 있습니다. 반환에 실패하면 -1을 반환합니다.

기타 함수

Stop Haptic By Event Id

Untitled

Event ID로 햅틱 이벤트를 중지합니다. 중지 성공 여부를 반환합니다.

입력

타입이름설명
execIn
StringEvent Id중지하려는 햅틱 이벤트의 이름입니다.

출력

타입이름설명
execOut
BooleanReturn Value중지 성공 여부입니다.

Stop Haptic By Request Id

Untitled

햅틱을 실행하는 함수의 반환값인 Request ID를 사용하여 햅틱 이벤트를 중지합니다. 중지 성공 여부를 반환합니다.

입력

타입이름설명
execIn
IntegerRequest Id중지하려는 재생 중인 햅틱 이벤트의 Request ID입니다.

출력

타입이름설명
execOut
BooleanReturn Value중지 성공 여부입니다.

Stop Haptic

Untitled

현재 재생 중인 모든 햅틱을 중지합니다. 중지 성공 여부를 반환합니다.

입력

타입이름설명
execIn

출력

타입이름설명
execOut
BooleanReturn Value중지 성공 여부입니다.

Is Playing

Untitled

햅틱이 재생 중인지 확인합니다.

입력

타입이름설명
execIn

출력

타입이름설명
execOut
BooleanReturn Value이벤트가 재생 중인지 여부입니다.

Is Playing By Event Id

Untitled

이 Event ID에 해당하는 햅틱 이벤트가 재생 중인지 확인합니다.

입력

타입이름설명
execIn
StringEvent Id현재 재생 중인지 확인하려는 햅틱 이벤트의 이름입니다.

출력

타입이름설명
execOut
BooleanReturn Value이벤트가 재생 중인지 여부입니다.

Is Playing By Request Id

Untitled

이 Request ID에 해당하는 햅틱 이벤트가 재생 중인지 확인합니다.

입력

타입이름설명
execIn
IntegerRequest Id현재 재생 중인지 확인하려는 햅틱 이벤트의 Request ID입니다.

출력

타입이름설명
execOut
BooleanReturn Value이벤트가 재생 중인지 여부입니다.

Initialize bHaptics

Untitled

햅틱 환경을 초기화합니다. 햅틱 관련 함수를 사용하기 전에 이 함수를 호출해야 합니다.

입력

타입이름설명
execIn

출력

타입이름설명
execOut

Ping

Untitled

특정 디바이스에 간단한 햅틱 피드백을 전송합니다.

입력

타입이름설명
execIn
Bhaptics Device StructureDevicePing을 보내려는 디바이스입니다.

출력

타입이름설명
execOut

Ping All

Untitled

연결된 모든 디바이스에 간단한 햅틱 피드백을 전송합니다.

입력

타입이름설명
execIn

출력

타입이름설명
execOut

Destroy bHaptics

Untitled

햅틱 환경을 해제합니다. 이 함수는 게임이 종료될 때 호출해야 하며, 반드시 한 번만 호출해야 합니다.

입력

타입이름설명
execIn

출력

타입이름설명
execOut

Get bHaptics devices

Untitled

연결된 햅틱 디바이스 정보의 배열을 가져옵니다.

입력

타입이름설명
execIn

출력

타입이름설명
execOut
Array of Bhaptics Device StructuresReturn Value디바이스 목록입니다.

Is bHaptics Available

Untitled

햅틱 환경이 초기화되어 햅틱 관련 함수를 사용할 준비가 되었는지 확인합니다.

입력

타입이름설명
execIn

출력

타입이름설명
execOut
BooleanReturn ValuebHaptics 환경 사용 가능 여부입니다.

Project To Vest With Player Collision Object

Untitled

플레이어로부터 주어진 충돌 접촉 지점의 Offset 값(각도와 높이)을 계산하는 헬퍼 함수입니다. 이 Offset 값은 햅틱 위치를 조정할 수 있는 PlayHapticWithOptionPlayLoop에서 사용할 수 있습니다.

이 함수는 정면 방향이 베스트의 앞면과 일치한다고 가정하며, 플레이어의 위치를 원점으로 간주합니다.

자세한 내용은 C++ API 레퍼런스를 참고하시기 바랍니다.

입력

타입이름설명
VectorContact Location전역 좌표계의 접촉 지점입니다.
Primitive Component Object ReferencePlayer Component플레이어에 부착된 프리미티브 컴포넌트에 대한 참조입니다.
FloatHalf Height플레이어 실제 키의 절반 값으로, 센티미터 단위입니다.

출력

타입이름설명
Bhaptics Rotation Option StructureReturn ValueOffset 값입니다.

Project To Vest With Player Location/Position

Untitled

접촉 위치와 플레이어 트랜스폼 정보로부터 Offset 값을 계산하는 헬퍼 함수입니다. "Project To Vest"와 비슷하지만, 각도 Offset(Offset Angle X)만 계산합니다. 높이(Offset Y)는 항상 0입니다.

입력

타입이름설명
VectorContact Location전역 좌표계의 접촉 지점입니다.
VectorPlayer Location플레이어의 위치입니다.
RotatorPlayer Rotation플레이어의 회전입니다.

출력

타입이름설명
Bhaptics Rotation Option StructureReturn ValueOffset 값입니다.

Custom Project To Vest

Untitled

충돌로부터 Offset 값을 계산하는 헬퍼 함수입니다. "Project To Vest"와 동일한 기능을 수행하지만, Forward 및 Up 벡터를 변경할 수 있습니다.

입력

타입이름설명
VectorContact Location전역 좌표계의 접촉 지점입니다.
Primitive Component Object ReferencePlayer Component플레이어에 부착된 프리미티브 컴포넌트에 대한 참조입니다.
FloatHalf Height플레이어 실제 키의 절반 값으로, 센티미터 단위입니다.
VectorUp VectorOffset 계산의 기준이 되는 위쪽 방향 벡터입니다.
VectorForward VectorOffset 계산의 기준이 되는 정면 방향 벡터입니다.

출력

타입이름설명
Bhaptics Rotation Option StructureReturn ValueOffset 값입니다.