Unreal SDK With Swift 2.0 For Enterprise Developers (宇叠引用)

简介

BodyTracking功能为开发者提供了获取多个Swift Tracker数据的能力。通过BodyTracking相关接口,开发者可以获取到各个SwiftTracker节点的姿态数据,连接状态和电量等。

使用流程

使用BodyTracking功能前,需要在Editor的ProjectSettings->Plugins->PICOSettings->Feature中开启Enable Body Tracking选项。

全身动捕模式

初始追踪模式为双腿如果希望开启全身动捕模式,则需要调用接口切换到Full Body模式

接口说明

PXR_GetBodyTrackingPose

通过该接口可以获取Tracker的所有追踪数据

输出:

  • Body Tracking Data:追踪数据的数组,数组的序号对应一个固定的追踪节点,对应关系可以参考此枚举:EPxrBodyTrackerRole :

  • PxrBodyTrackingTransform:追踪节点的变换数据

返回值:

  • 是否获取成功

PXR_GetBodyTrackingPoseByRole

通过该接口可以获取指定位置节点Tracker的追踪数据

输入:

  • World to Meters Scale:输入引擎当前的缩放比例

  • Role Type:当前查询的节点

输出:

  • Role Body Tracking Data:当前节点的追踪数据

返回值:

  • 是否获取成功

PXR_GetFitnessBandConnectState

通过该接口可以获取当前所有Tracker的连接状态

输出:

  • State:当前的连接状态:

返回值:

  • 是否获取成功

PXR_GetFitnessBandBattery

通过该接口可以获取指定Tracker的电量值

输入:

  • Tracker ID:当前查询电量的TrackerID

输出:

  • Battery:当前查询Tracker的电量(1-5)

返回值:

  • 是否获取成功

PXR_GetFitnessBandCalibState

通过该接口可以获取当前系统的校准状态

输出:

  • Calibrate State:当前系统的校准状态

    • 0:未校准

    • 1:已校准

返回值:

  • 是否获取成功

PXR_LaunchFitnessBandCalibrationAPP

通过该接口可以启动校准应用

返回值:

  • 是否启动成功

PXR_SetSwiftMode(ESwiftMode Mode);

输入:

  • Mode:当前追踪模式

返回值:

  • 是否设置成功

PXR_SetBodyTrackingBoneLength(const FBodyTrackingBoneLength& BoneLength);

输入:

  • Bone Length:

返回值:

  • 是否设置成功

Swift 2.0 Preview版本新增接口说明

PXR_StartBodyTrackingCalibApp

通过该接口可以拉起校准应用

返回值:

  • 是否拉起成功

全身动捕相关接口

PXR_GetBodyTrackingSupported

查询当前设备是否支持人体追踪能力

输出:

  • Supported:当前设备是否支持人体追踪

    • true:支持

    • false:不支持

  • Supported Modes:当前支持模式的枚举数组

    • PXR BTM DISABLE:无效模式

    • PXR BTM WITH SWIFT:Swift 模式

    • PXR BTM WITHOUT SWIFT:无Swift 模式(暂不支持该模式)

返回值:

  • 接口是否调用成功

PXR_GetBodyTrackingState

获取Tracker的动捕数据状态及异常原因

输出:

  • Is Tracking:是否追踪中

    • true:追踪中

    • false:追踪丢失

  • Tracking State:追踪状态

    • Current Tracking Mode:

  • Tracking State Code:系统追踪状态码

  • Tracking Status Code:人体追踪状态码

  • Tracking Error Code:人体追踪错误码

  • Connected Band Count:已连接的Swift绑带数量

  • Connected Fitness Band:已连接的Swift绑带id数组

返回值:

  • 接口是否调用成功

PXR_StartBodyTracking

开始人体追踪

输入:

  • StartMode:以什么模式开始

    • PXR BTM DISABLE:无效模式

    • PXR BTM WITH SWIFT:Swift 模式

    • PXR BTM WITHOUT SWIFT:无Swift 模式(暂不支持该模式)

  • SwiftMode:Swift模式选择

  • Bone Length:骨长数据,缺省则使用系统默认值

  • Other Mode:默认为-1,特殊需求预留扩展参数

PXR_StopBodyTracking

结束人体追踪

输入:

  • Stop Info:预留参数,不需要设置

返回值:

  • 接口是否调用成功

PXR_GetBodyTrackingData

获取人体追踪数据

输入:

  • World to Meters Scale:单位米缩放比,默认为100

  • GetInfo

    • Display Time:预测时间,缺省则使用系统默认预测时间

    • DataFlags:用于过滤所需数据类型

输出:

  • BodyTracking Data:各个追踪节点数据的数组

返回值:

  • 接口是否调用成功

独立追踪相关接口

独立追踪与全身动捕相关接口无关,不需要调用StartBodyTracking,但是仍然对校准有要求。

PXR_GetMotionTrackerConnectState

获取独立追踪连接状态

输出:

  • Connect State:连接状态

    • Tracker Sum:追踪节点数量

    • Trackers SN Array:追踪节点SN数组

返回值:

  • 接口是否调用成功

PXR_GetMotionTrackerType

已连接的追踪器类型

输出:

  • Tracker Type:追踪类型

    • PXR SWIFT 1

    • PXR SWIFT 2

返回值:

  • 接口是否调用成功

PXR_GetMotionTrackerMode

获取当前追踪模式

输出:

  • Tracker Mode:追踪模式

    • FULL BODY:全身动捕模式

    • STAND ALONE TRACKER:独立追踪模式

返回值:

  • 接口是否调用成功

PXR_GetMotionTrackerLocations

获取独立追踪模式下追踪器位置

输入:

  • World to Meters Scale:单位米缩放比,默认为100

  • Tracker SN:要获取位置数据的追踪器SN

输出:

  • Locations:SN对应的位置数据

    • Tracker SN:数据所对应的SN

    • Local Pose:与HMD相同参考系下姿态

    • Global Pose:系统全局参考系下姿态,无特殊需求不建议使用

返回值:

  • 接口是否调用成功

示例工程

Release

file-archive
30MB
file-archive
30MB

Full Body 模式

file-download
21MB

Swift 2.0 Preview(Full Body&& StandAlone Tracker)

Demo提供了一个示例Pawn(BP_PawnSwift_2),设置MotionType可以切换Full Body和Stand_Alone_Tracker模式

Stand_Alone_Tracker模式

Swift 2.0 Preview SDK

Last updated