ব্যবহারকারী ফেস ট্র্যাকিংয়ের অনুমতি দেওয়ার পরে, আপনার অ্যাপ Jetpack XR-এর জন্য ARCore-এর মাধ্যমে মুখের আকার সংক্রান্ত তথ্য পেতে পারে। ফেস শেপ সংক্রান্ত তথ্য আপনার অ্যাপকে ভার্চুয়াল জগতে ব্যবহারকারীকে দেখাতে সাহায্য করতে পারে। যেমন, ভার্চুয়াল চশমা ট্রাই-অন করার ক্ষেত্রে।
Jetpack XR সেশনের জন্য ARCore তৈরি করা
Jetpack XR Runtime Session-এর মাধ্যমে ফেস সংক্রান্ত তথ্য পাওয়া,
যা আপনার অ্যাপ তৈরি করতে পারে।
সেশন কনফিগার করা
XR সেশনে ডিফল্ট হিসেবে ফেস ট্র্যাকিং চালু করা থাকে না। ফেস ট্র্যাকিং চালু করতে,
সেশন কনফিগার করুন এবং
FaceTrackingMode.USER মোড সেট করুন:
val newConfig = Config.Builder(session.config) .setFaceTracking(FaceTrackingMode.BLEND_SHAPES) .build() when (val result = session.configure(newConfig)) { is SessionConfigureSuccess -> TODO(/* Success! */) else -> TODO(/* The session could not be configured. See SessionConfigureResult for possible causes. */) }
ফেস ডেটা ফিরিয়ে আনা
ব্যবহারকারীর ফেস ডেটা রিট্রিভ করতে Face.getUserFace(session) ব্যবহার করুন, যার মধ্যে
নিম্নলিখিত তথ্য থাকে:
- ফেস ব্লেন্ডশেপ ভ্যালু: কোনও মুখের সম্ভাব্য এক্সপ্রেশন হল ৬৮টি ব্লেন্ড শেপ ভ্যালুর
একটি কম্বিনেশন। প্রতিটি ব্লেন্ড শেপ ভ্যালু
মুখের কোনও মুভমেন্ট বা বিকৃতিকে বোঝায় এবং ভ্যালু
0.0থেকে1.0-এর মধ্যে থাকা তীব্রতাকে নির্দেশ করে। প্রতিটি ব্লেন্ড শেপ ধরনের ব্যাখ্যার জন্য, ফেস ব্লেন্ডশেপ ধরন সম্পর্কে জানুন লিঙ্কে দেখুন। - অঞ্চলের জন্য কনফিডেন্স ভ্যালু: মুখটিতে
তিনটি অঞ্চল আছে। কনফিডেন্স ভ্যালু থেকে প্রদত্ত পোজের নির্ভুলতা সম্পর্কে
নিশ্চয়তার ডিগ্রি বোঝা যায়, যা
0.0থেকে1.0পর্যন্ত রেঞ্জে থাকে, যেখানে1.0সবচেয়ে বেশি কনফিডেন্স নির্দেশ করে।
val face = Face.getUserFace(session) face.state.collect { state -> if (state.trackingState != TrackingState.TRACKING) return@collect val confidence = state.getConfidence(FaceConfidenceRegion.LOWER) val blendShapeValue = state.blendShapes[FaceBlendShapeType.LIPS_TOWARD] }
ফেস ব্লেন্ডশেপের ধরন বোঝা
নিচের সারণীতে প্রতিটি ফেস ব্লেন্ড শেপের ধরন তালিকাভুক্ত করা হয়েছে:
উপরের অঞ্চলের ব্লেন্ডশেপ
| নাম | রেফারেন্স ছবি | |
|---|---|---|
BROW_LOWERER_L |
BROW_LOWERER_L = 0.0 |
BROW_LOWERER_L = 1.0 |
BROW_LOWERER_R |
BROW_LOWERER_R = 0.0 |
BROW_LOWERER_R = 1.0 |
EYES_CLOSED_L |
EYES_CLOSED_L = 0.0 |
EYES_CLOSED_L = 1.0 |
EYES_CLOSED_R |
EYES_CLOSED_R = 0.0 |
EYES_CLOSED_R = 1.0 |
EYES_LOOK_DOWN_L |
EYES_LOOK_DOWN_L = 0.0 |
EYES_LOOK_DOWN_L = 1.0 |
EYES_LOOK_DOWN_R |
EYES_LOOK_DOWN_R = 0.0 |
EYES_LOOK_DOWN_R = 1.0 |
EYES_LOOK_LEFT_L |
EYES_LOOK_LEFT_L = 0.0 |
EYES_LOOK_LEFT_L = 1.0 |
EYES_LOOK_LEFT_R |
EYES_LOOK_LEFT_R = 0.0 |
EYES_LOOK_LEFT_R = 1.0 |
EYES_LOOK_RIGHT_L |
EYES_LOOK_RIGHT_L = 0.0 |
EYES_LOOK_RIGHT_L = 1.0 |
EYES_LOOK_RIGHT_R |
EYES_LOOK_RIGHT_R = 0.0 |
EYES_LOOK_RIGHT_R = 1.0 |
EYES_LOOK_UP_L |
EYES_LOOK_UP_L = 0.0 |
EYES_LOOK_UP_L = 1.0 |
EYES_LOOK_UP_R |
EYES_LOOK_UP_R = 0.0 |
EYES_LOOK_UP_R = 1.0 |
INNER_BROW_RAISER_L |
INNER_BROW_RAISER_L = 0.0 |
INNER_BROW_RAISER_L = 1.0 |
INNER_BROW_RAISER_R |
INNER_BROW_RAISER_R = 0.0 |
INNER_BROW_RAISER_R = 1.0 |
LID_TIGHTENER_L |
LID_TIGHTENER_L = 0.0 |
LID_TIGHTENER_L = 1.0 |
LID_TIGHTENER_R |
LID_TIGHTENER_R = 0.0 |
LID_TIGHTENER_R = 1.0 |
OUTER_BROW_RAISER_L |
OUTER_BROW_RAISER_L = 0.0 |
OUTER_BROW_RAISER_L = 1.0 |
OUTER_BROW_RAISER_R |
OUTER_BROW_RAISER_R = 0.0 |
OUTER_BROW_RAISER_R = 1.0 |
UPPER_LID_RAISER_L |
UPPER_LID_RAISER_L = 0.0 |
UPPER_LID_RAISER_L = 1.0 |
UPPER_LID_RAISER_R |
UPPER_LID_RAISER_R = 0.0 |
UPPER_LID_RAISER_R = 1.0 |
নিচের অঞ্চলের ব্লেন্ডশেপ
| নাম | রেফারেন্স ছবি | |
|---|---|---|
CHEEK_PUFF_L |
CHEEK_PUFF_L = 0.0 |
CHEEK_PUFF_L = 1.0 |
CHEEK_PUFF_R |
CHEEK_PUFF_R = 0.0 |
CHEEK_PUFF_R = 1.0 |
CHEEK_RAISER_L |
CHEEK_RAISER_L = 0.0 |
CHEEK_RAISER_L = 1.0 |
CHEEK_RAISER_R |
CHEEK_RAISER_R = 0.0 |
CHEEK_RAISER_R = 1.0 |
CHEEK_SUCK_L |
CHEEK_SUCK_L = 0.0 |
CHEEK_SUCK_L = 1.0 |
CHEEK_SUCK_R |
CHEEK_SUCK_R = 0.0 |
CHEEK_SUCK_R = 1.0 |
CHIN_RAISER_B |
CHIN_RAISER_B = 0.0 |
CHIN_RAISER_B = 1.0 |
CHIN_RAISER_T |
CHIN_RAISER_T = 0.0 |
CHIN_RAISER_T = 1.0 |
DIMPLER_L |
DIMPLER_L = 0.0 |
DIMPLER_L = 1.0 |
DIMPLER_R |
DIMPLER_R = 0.0 |
DIMPLER_R = 1.0 |
JAW_DROP |
JAW_DROP = 0.0 |
JAW_DROP = 1.0 |
JAW_SIDEWAYS_LEFT |
JAW_SIDEWAYS_LEFT = 0.0 |
JAW_SIDEWAYS_LEFT = 1.0 |
JAW_SIDEWAYS_RIGHT |
JAW_SIDEWAYS_RIGHT = 0.0 |
JAW_SIDEWAYS_RIGHT = 1.0 |
JAW_THRUST |
JAW_THRUST = 0.0 |
JAW_THRUST = 1.0 |
LIP_CORNER_DEPRESSOR_L |
LIP_CORNER_DEPRESSOR_L = 0.0 |
LIP_CORNER_DEPRESSOR_L = 1.0 |
LIP_CORNER_DEPRESSOR_R |
LIP_CORNER_DEPRESSOR_R = 0.0 |
LIP_CORNER_DEPRESSOR_R = 1.0 |
LIP_CORNER_PULLER_L |
LIP_CORNER_PULLER_L = 0.0 |
LIP_CORNER_PULLER_L = 1.0 |
LIP_CORNER_PULLER_R |
LIP_CORNER_PULLER_R = 0.0 |
LIP_CORNER_PULLER_R = 1.0 |
LIP_FUNNELER_LB |
LIP_FUNNELER_LB = 0.0 |
LIP_FUNNELER_LB = 1.0 |
LIP_FUNNELER_LT |
LIP_FUNNELER_LT = 0.0 |
LIP_FUNNELER_LT = 1.0 |
LIP_FUNNELER_RB |
LIP_FUNNELER_RB = 0.0 |
LIP_FUNNELER_RB = 1.0 |
LIP_FUNNELER_RT |
LIP_FUNNELER_RT = 0.0 |
LIP_FUNNELER_RT = 1.0 |
LIP_PRESSOR_L |
LIP_PRESSOR_L = 0.0 |
LIP_PRESSOR_L = 1.0 |
LIP_PRESSOR_R |
LIP_PRESSOR_R = 0.0 |
LIP_PRESSOR_R = 1.0 |
LIP_PUCKER_L |
LIP_PUCKER_L = 0.0 |
LIP_PUCKER_L = 1.0 |
LIP_PUCKER_R |
LIP_PUCKER_R = 0.0 |
LIP_PUCKER_R = 1.0 |
LIP_STRETCHER_L |
LIP_STRETCHER_L = 0.0 |
LIP_STRETCHER_L = 1.0 |
LIP_STRETCHER_R |
LIP_STRETCHER_R = 0.0 |
LIP_STRETCHER_R = 1.0 |
LIP_SUCK_LB |
LIP_SUCK_LB = 0.0 |
LIP_SUCK_LB = 1.0 |
LIP_SUCK_LT |
LIP_SUCK_LT = 0.0 |
LIP_SUCK_LT = 1.0 |
LIP_SUCK_RB |
LIP_SUCK_RB = 0.0 |
LIP_SUCK_RB = 1.0 |
LIP_SUCK_RT |
LIP_SUCK_RT = 0.0 |
LIP_SUCK_RT = 1.0 |
LIP_TIGHTENER_L |
LIP_TIGHTENER_L = 0.0 |
LIP_TIGHTENER_L = 1.0 |
LIP_TIGHTENER_R |
LIP_TIGHTENER_R = 0.0 |
LIP_TIGHTENER_R = 1.0 |
LIPS_TOWARD |
LIPS_TOWARD = 0.0 |
JAW_DROP = 1.0 and LIPS_TOWARD = 1.0 |
LOWER_LIP_DEPRESSOR_L |
LOWER_LIP_DEPRESSOR_L = 0.0 |
LOWER_LIP_DEPRESSOR_L = 1.0 |
LOWER_LIP_DEPRESSOR_R |
LOWER_LIP_DEPRESSOR_R = 0.0 |
LOWER_LIP_DEPRESSOR_R = 1.0 |
MOUTH_LEFT |
MOUTH_LEFT = 0.0 |
MOUTH_LEFT = 1.0 |
MOUTH_RIGHT |
MOUTH_RIGHT = 0.0 |
MOUTH_RIGHT = 1.0 |
NOSE_WRINKLER_L |
NOSE_WRINKLER_L = 0.0 |
NOSE_WRINKLER_L = 1.0 |
NOSE_WRINKLER_R |
NOSE_WRINKLER_R = 0.0 |
NOSE_WRINKLER_R = 1.0 |
UPPER_LIP_RAISER_L |
UPPER_LIP_RAISER_L = 0.0 |
UPPER_LIP_RAISER_L = 1.0 |
UPPER_LIP_RAISER_R |
UPPER_LIP_RAISER_R = 0.0 |
UPPER_LIP_RAISER_R = 1.0 |
TONGUE_OUT |
|
|
TONGUE_LEFT |
|
|
TONGUE_RIGHT |
|
|
TONGUE_UP |
|
|
TONGUE_DOWN |
|
|