tencent cloud

Tencent Effect SDK

製品紹介
製品概要
製品機能
基本概念
製品のメリット
ユースケース
購入ガイド
価格一覧
購入プロセス
支払い遅滞・払い戻しの説明
Demo 体験
無料テスト
License案内
モバイル版Licenseの追加と更新
PC版Licenseの追加と更新
Web版Licenseの追加と更新
よくある質問
SDK ダウンロード
機能説明
SDK ダウンロード
バージョン履歴
SDK統合ガイド
Tencent Effect SDKの独立した統合
アトミック機能統合ガイド
APIドキュメント
iOS
Android
Flutter
機能の実践
SDKパッケージの簡素化
美顔シーン推奨パラメータ
ショート動画(エンタープライズ版)の移行ガイド
サードパーティプッシュによる美顔の接続(Flutter)
コンテンツ作成ツールの活用
Web美顔エフェクト
製品概要
クイックスタート
SDKへのアクセス
APIドキュメント
体験版
よくあるご質問
よくある質問
一般関連
技術系関連
License関連
TE SDK ポリシー
プライバシーポリシー
データ処理とセキュリティ契約

Android

PDF
フォーカスモード
フォントサイズ
最終更新日: 2023-02-27 14:27:24

機能説明

カメラのopenGLテクスチャを入力すると、体の3Dデータがリアルタイムで出力されます。これらの3Dデータを利用して、Unityに渡してモデルを動かすといった、さらに進んだ開発を行うことができます。

Android統合ガイド

初めにTencent Effect SDKへの統合をする必要があります。具体的な内容は、Tencent Effectの独立した統合をご参照ください。

インターフェースの呼び出し

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データを返します。例:
「face_info」は、顔に関するデータです。体の3Dデータとは関係ありませんので、無視することができます。
「body_3d_info」の各フィールドの説明については、下記のとおりです

体の特徴点位置および特徴点位置データの説明

標準SMPL特徴点位置の定義

標準SMPLX手の骨格の特徴点位置の定義


SDKが出力するJSONデータの例は、次のとおりです。

body_3d_infoの各フィールドの説明については、下記のとおりです。
imageWidth、imageHeight:SDKの画像の幅と高さを入力します
items:配列。現時点では1つの要素のみです
index:位置の保持。現時点では無視することができます
pose:
(1) [0,2]位置。人の位置はカメラ中心で、人の骨格の3D位置はxyzです
(2)[3,12]位置。人のタイプは10float数です。標準SMPLの10パッケージの異なるmeshをベースとした、人のタイプに対する総合的な評価を得ることができます
(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]位置。人の骨格の回転は4元数であり、各4元数の属性の順序はwxyzです
(2)[25,54]位置、手の骨格の回転は4元数です。左手が15で、右手も15で、各4元数の属性の順序はwxyzです

骨格の異なる命名方法および対応関係

番号
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


ヘルプとサポート

この記事はお役に立ちましたか?

フィードバック