tencent cloud

Tencent Effect SDK

제품 소개
기본 개념
제품 장점
시나리오
구매 가이드
가격 리스트
구매 안내
연체 및 환불
Demo 체험
무료 평가판 License
License 가이드
License 추가 및 연장(모바일)
FAQ
SDK 다운로드
기능 설명
SDK 다운로드
SDK 통합 가이드
Tencent Effect SDK 통합하기
원자 기능 통합 가이드
API 문서
iOS
Android
Flutter
기능 사례
SDK 패키지 축소
뷰티 필터 시나리오의 권장 매개변수
UGSV 엔터프라이즈 버전 마이그레이션 가이드
서드 파티 퍼블리셔 Tencent Effect 통합(Flutter)
FAQ
일반 질문
기술 관련 질문
License 관련
TE SDK 정책
개인 정보 보호 정책
데이터 처리 및 보안 계약

Android

PDF
포커스 모드
폰트 크기
마지막 업데이트 시간: 2023-02-27 14:27:24

기능 설명

카메라에서 캡처한 openGL 텍스처를 기반으로 신체 3D 데이터를 생성할 수 있습니다. 3D 데이터를 기반으로 추가 개발을 수행할 수 있습니다. 예를 들어 Unity에 데이터를 전달하여 모델을 구동할 수 있습니다.

Android 통합

먼저 Tencent Effect SDK를 통합해야 합니다. 자세한 내용은 Tencent Effect SDK 통합하기를 참고하십시오.

API 호출

1. 효과 활성화(XmagicApi.java).
public void setFeatureEnableDisable(String featureName, boolean enable);
featureName에 XmagicConstant.FeatureName.BODY_3D_POINT를 입력합니다.
2. 데이터 콜백 설정(XmagicApi.java)
void setYTDataListener(XmagicApi.XmagicYTDataListener ytDataListener)

public interface XmagicYTDataListener {
void onYTDataUpdate(String data)
}
onYTDataUpdate는 JSON 구조의 string 데이터를 반환합니다. 예TL는 다음과 같습니다.
"face_info"는 얼굴 관련 데이터로, 신체 3D 데이터와 관련이 없으며 무시할 수 있습니다.
"body_3d_info"의 각 필드에 대한 설명은 아래를 참고하십시오.

신체 포인트 및 포인트 데이터에 대한 설명

표준 SMPL 포인트 정의

표준 SMPLX 손 골격 포인트 정의


SDK에서 출력되는 JSON 데이터의 예시는 다음과 같습니다.

body_3d_info의 각 필드에 대한 설명은 다음과 같습니다.
imageWidth, imageHeight: SDK에 입력되는 이미지의 너비와 높이
items: 배열, 현재 하나의 요소만 있음
index: 보관 위치, 현재 무시 가능
pose:
(1) [0,2]위치, 인체 위치, 카메라를 중심으로 인체 근골격의 3D 위치 xyz
(2) [3,12] 위치, 인체 형태, 10개의 float 수, 표준 SMPL의 서로 다른 mesh 10세트를 베이스로 조합하여 체형 추정
(3)[13] 위치, focal_length, 고정값은 5000
(4) [14,29] 위치, OpenGL 홀로그래피 매트릭스, focal_length를 기반으로 얻은 3D 공간에서 물체를 렌더링하는 홀로그래피 매트릭스입니다. 4X4 홀로그래피 매트릭스는 알고리즘 내에서 계산됩니다.
matrix={
2 * focal_length / img_wid, 0, 0, 0,
0, 2 * focal_length / img_hei, 0,0,
0,0, (zf + zn) / (zn - zf), -1,
0, 0, (2.0f * zf * zn) / (zn - zf), 0};
}
(5) [30,33] 위치, 접지 데이터, 발이 지면에 닿았는지 여부, 왼쪽 뒤꿈치, 왼쪽 발가락, 오른쪽 뒤꿈치, 오른쪽 발가락
position_x,position_y,position_z:
(1) [0,23] 위치, 인체의 2D 포인트, 위의 이미지1 참고, 2D 포인트의 position_z는 모두 0
(2) [24,47] 위치, 인체의 3D 포인트, 위의 이미지1 참고
rotation
(1) [0,23] 위치, 인체 골격 회전 쿼터니언, 각 쿼터니언의 속성 순서는 wxyz
(2) [25,54] 위치, 손 골격 회전 쿼터니언, 왼손은 15개, 오른손은 15개, 각 쿼터니언의 속성 순서는 wxyz

골격에 따른 명명 방식 및 해당 관계

No.
Bone Names
Bone Names 2
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
"pelvis",
"left_hip",
"right_hip",
"spine1",
"left_knee",
"right_knee",
"spine2",
"left_ankle",
"right_ankle",
"spine3",
"left_foot",
"right_foot",
"neck",
"left_collar",
"right_collar",
"head",
"left_shoulder",
"right_shoulder",
"left_elbow",
"right_elbow",
"left_wrist",
"right_wrist",
"left_hand"
"right_hand"
"Hips"
"LeftUpLeg"
"RightUpLeg"
"Spine"
"LeftLeg"
"RightLeg"
"Spine1"
"LeftFoot"
"RightFoot"
"Spine2"
""
""
"Neck"
"LeftShoulder"
"RightShoulder"
"Head"
"LeftArm"
"RightArm"
"LeftForeArm"
"RightForeArm"
"LeftHand"
"RightHand"
""
""
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
"left_index1"
"left_index2"
"left_index3"
"left_middle1"
"left_middle2"
"left_middle3"
"left_pinky1"
"left_pinky2"
"left_pinky3"
"left_ring1"
"left_ring2"
"left_ring3"
"left_thumb1"
"left_thumb2"
"left_thumb3
IndexFinger1_L
IndexFinger2_L
IndexFinger3_L
MiddleFinger1_L
MiddleFinger2_L
MiddleFinger3_L
PinkyFinger1_L
PinkyFinger2_L
PinkyFinger3_L
RingFinger1_L
RingFinger2_L
RingFinger3_L
ThumbFinger1_L
ThumbFinger2_L
ThumbFinger3_L
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
"right_index1"
"right_index2"
"right_index3"
"right_middle1"
"right_middle2"
"right_middle3"
"right_pinky1"
"right_pinky2"
"right_pinky3"
"right_ring1"
"right_ring2"
"right_ring3"
"right_thumb1"
"right_thumb2"
"right_thumb3"
IndexFinger1_R
IndexFinger2_R
IndexFinger3_R
MiddleFinger1_R
MiddleFinger2_R
MiddleFinger3_R
PinkyFinger1_R
PinkyFinger2_R
PinkyFinger3_R
RingFinger1_R
RingFinger2_R
RingFinger3_R
ThumbFinger1_R
ThumbFinger2_R
ThumbFinger3_R


도움말 및 지원

문제 해결에 도움이 되었나요?

피드백