XR_ANDROID_face_tracking OpenXR এক্সটেনশন

নাম স্ট্রিং

XR_ANDROID_face_tracking

এক্সটেনশন প্রকার

ইনস্ট্যান্স এক্সটেনশন

নিবন্ধিত এক্সটেনশন নম্বর

459

রিভিশন

1

এক্সটেনশন এবং সংস্করণ নির্ভরতা

OpenXR 1.0

সর্বশেষ সংশোধিত তারিখ

2024-09-06

আইপি স্ট্যাটাস

কোন পরিচিত আইপি দাবি.

অবদানকারী

স্পেন্সার কুইন, গুগল

জ্যারেড ফাইন্ডার, গুগল

লেভানা চেন, গুগল

ওভারভিউ

এই এক্সটেনশনটি অ্যাপ্লিকেশনগুলিকে মিশ্রিত আকারের ওজন পেতে এবং XR অভিজ্ঞতাগুলিতে মুখের অভিব্যক্তি রেন্ডার করতে সক্ষম করে।

এই এক্সটেনশনটি ভার্চুয়াল স্পেসে ব্যবহারকারীদের বাস্তবসম্মত অবতার এবং অভিব্যক্তিপূর্ণ উপস্থাপনা তৈরি করতে প্রয়োজনীয় তথ্য প্রদানের উদ্দেশ্যে। মিশ্রিত আকারের ওজন পাওয়ার আগে অ্যাপ্লিকেশনটি মুখের ক্রমাঙ্কন সক্রিয়করণ পরীক্ষা করতে পারে

ফেস ট্র্যাকার

একটি ফেস ট্র্যাকার হল একটি সেন্সিং ডিভাইস যা ব্যবহারকারী-মুখী ইমেজ স্ট্রিম এবং ক্যামেরা ক্রমাঙ্কনের মাধ্যমে মুখের অভিব্যক্তি ট্র্যাক করে। এই এক্সটেনশনের মূল উদ্দেশ্য হল একটি ভার্চুয়াল দৃশ্যে ব্যবহারকারীর মুখের অভিব্যক্তিকে তাদের অবতারে ম্যাপ করা।

ফেস ট্র্যাকিং ডেটা হল সংবেদনশীল ব্যক্তিগত তথ্য এবং ব্যক্তিগত গোপনীয়তা এবং সততার সাথে ঘনিষ্ঠভাবে যুক্ত। ফেস ট্র্যাকিং ডেটা সঞ্চয় বা স্থানান্তরকারী অ্যাপ্লিকেশনগুলি সর্বদা সক্রিয় এবং নির্দিষ্ট স্বীকৃতির জন্য ব্যবহারকারীকে জিজ্ঞাসা করে তা দৃঢ়ভাবে সুপারিশ করা হয়।

  • একটি সক্রিয় ফেস ট্র্যাকার তৈরি করার সময় অ্যাপ্লিকেশানগুলি XR_ERROR_PERMISSION_INSUFFICIENT পাবে যতক্ষণ না অ্যাপ্লিকেশনটিকে ফেস ট্র্যাকারে অ্যাক্সেসের অনুমতি দেওয়া হয়।
  • xrGetFaceStateANDROID ব্যবহার করে মুখের অবস্থাগুলি পাওয়ার সময়, অ্যাপ্লিকেশন অ্যাক্সেসের অনুমতি না দেওয়া পর্যন্ত XrFaceStateANDROID::isValid XR_TRUE ফেরত দেবে না

একটি ফেস ট্র্যাকার হ্যান্ডেল তৈরি করুন

XR_DEFINE_HANDLE(XrFaceTrackerANDROID)

XrFaceTrackerANDROID হ্যান্ডেল ফেস ট্র্যাকিংয়ের জন্য একটি ফেস ট্র্যাকার উপস্থাপন করে।

এই হ্যান্ডেলটি এই এক্সটেনশনের অন্যান্য ফাংশন ব্যবহার করে ফেস ট্র্যাকিং ডেটা অ্যাক্সেস করতে ব্যবহার করা যেতে পারে

xrCreateFaceTrackerANDROID ফাংশনটি এইভাবে সংজ্ঞায়িত করা হয়েছে:

XrResult xrCreateFaceTrackerANDROID(
    XrSession                                   session,
    const XrFaceTrackerCreateInfoANDROID*       createInfo,
    XrFaceTrackerANDROID*                       faceTracker);

পরামিতি বিবরণ

  • session হল একটি XrSession হ্যান্ডেল যেখানে ফেস ট্র্যাকার সক্রিয় থাকবে।
  • createInfo হল XrFaceTrackerCreateInfoANDROID যা ফেস ট্র্যাকার নির্দিষ্ট করতে ব্যবহৃত হয়।
  • faceTracker হল ফেরত XrFaceTrackerANDROID হ্যান্ডেল৷

একটি অ্যাপ্লিকেশন xrCreateFaceTrackerANDROID ফাংশন ব্যবহার করে একটি XrFaceTrackerANDROID হ্যান্ডেল তৈরি করতে পারে

যদি সিস্টেম ফেস ট্র্যাকিং সমর্থন না করে, xrCreateFaceTrackerANDROID XR_ERROR_FEATURE_UNSUPPORTED ফেরত দেবে।

বৈধ ব্যবহার (অন্তর্নিহিত)

  • XR_ANDROID_face_tracking এক্সটেনশনটি অবশ্যই xrCreateFaceTrackerANDROID কল করার আগে সক্রিয় করতে হবে
  • session অবশ্যই একটি বৈধ XrSession হ্যান্ডেল হতে হবে
  • createInfo অবশ্যই একটি বৈধ XrFaceTrackerCreateInfoANDROID কাঠামোর একটি নির্দেশক হতে হবে
  • faceTracker অবশ্যই একটি XrFaceTrackerANDROID হ্যান্ডেলের একটি পয়েন্টার হতে হবে৷

রিটার্ন কোড

সফলতা

  • XR_SUCCESS
  • XR_SESSION_LOSS_PENDING

ব্যর্থতা

  • XR_ERROR_FUNCTION_UNSUPPORTED
  • XR_ERROR_VALIDATION_FAILURE
  • XR_ERROR_RUNTIME_FAILURE
  • XR_ERROR_HANDLE_INVALID
  • XR_ERROR_INSTANCE_LOST
  • XR_ERROR_SESSION_LOST
  • XR_ERROR_OUT_OF_MEMORY
  • XR_ERROR_LIMIT_REACHED

XrFaceTrackerCreateInfoANDROID গঠনটি নিম্নরূপ বর্ণনা করা হয়েছে:

typedef struct XrFaceTrackerCreateInfoANDROID {
    XrStructureType    type;
    void*              next;
} XrFaceTrackerCreateInfoANDROID;

সদস্য বিবরণ

  • type হল এই কাঠামোর XrStructureType
  • next হল NULL বা একটি স্ট্রাকচার চেইনের পরবর্তী কাঠামোর একটি পয়েন্টার। কোর OpenXR বা এই এক্সটেনশনে এই ধরনের কোনো কাঠামো সংজ্ঞায়িত করা হয়নি।

XrFaceTrackerCreateInfoANDROID কাঠামো একটি XrFaceTrackerANDROID হ্যান্ডেল তৈরি করার তথ্য বর্ণনা করে।

বৈধ ব্যবহার (অন্তর্নিহিত)

xrDestroyFaceTrackerANDROID ফাংশনটি এইভাবে সংজ্ঞায়িত করা হয়েছে:

XrResult xrDestroyFaceTrackerANDROID(
    XrFaceTrackerANDROID                        faceTracker);

পরামিতি বিবরণ

ফেস ট্র্যাকিং অভিজ্ঞতা শেষ হলে xrDestroyFaceTrackerANDROID ফাংশন faceTracker এবং অন্তর্নিহিত সংস্থানগুলি প্রকাশ করে৷

বৈধ ব্যবহার (অন্তর্নিহিত)

থ্রেড নিরাপত্তা

  • faceTracker অ্যাক্সেস এবং যেকোনো শিশু হ্যান্ডেলগুলিকে বাহ্যিকভাবে সিঙ্ক্রোনাইজ করতে হবে

রিটার্ন কোড

সফলতা

  • XR_SUCCESS

ব্যর্থতা

  • XR_ERROR_FUNCTION_UNSUPPORTED
  • XR_ERROR_HANDLE_INVALID

মুখের ক্রমাঙ্কন পরীক্ষা করুন

xrGetFaceCalibrationStateANDROID ফাংশনটি এইভাবে সংজ্ঞায়িত করা হয়েছে:

XrResult xrGetFaceCalibrationStateANDROID(
    XrFaceTrackerANDROID                        faceTracker,
    XrBool32*                                   faceIsCalibratedOutput);

পরামিতি বিবরণ

  • faceTracker হল একটি XrFaceTrackerANDROID যা পূর্বে xrCreateFaceTrackerANDROID দ্বারা তৈরি।
  • faceIsCalibratedOutput নির্দেশ করে যে ফেস ট্র্যাকারটি ক্যালিব্রেট করা হয়েছে কিনা।

একটি অ্যাপ্লিকেশন xrGetFaceCalibrationStateANDROID ফাংশন ব্যবহার করে মুখের ক্রমাঙ্কন অবস্থা পরীক্ষা করতে পারে

যদি সিস্টেম মুখ ক্রমাঙ্কন সমর্থন না করে, xrGetFaceCalibrationStateANDROID XR_ERROR_FEATURE_UNSUPPORTED ফেরত দেবে। অন্যথায়, মুখের ক্রমাঙ্কন অবস্থা প্রতিফলিত করতে faceIsCalibratedOutput XR_TRUE তে সেট করা হতে পারে।

বৈধ ব্যবহার (অন্তর্নিহিত)

  • XR_ANDROID_face_tracking এক্সটেনশনটি অবশ্যই xrGetFaceCalibrationStateANDROID কল করার আগে সক্রিয় করতে হবে
  • faceTracker অবশ্যই একটি বৈধ XrFaceTrackerANDROID হ্যান্ডেল হতে হবে৷
  • faceIsCalibratedOutput একটি XrBool32 মানের একটি পয়েন্টার হতে হবে

রিটার্ন কোড

সফলতা

  • XR_SUCCESS
  • XR_SESSION_LOSS_PENDING

ব্যর্থতা

  • XR_ERROR_FUNCTION_UNSUPPORTED
  • XR_ERROR_VALIDATION_FAILURE
  • XR_ERROR_RUNTIME_FAILURE
  • XR_ERROR_HANDLE_INVALID
  • XR_ERROR_INSTANCE_LOST
  • XR_ERROR_SESSION_LOST
  • XR_ERROR_OUT_OF_MEMORY
  • XR_ERROR_LIMIT_REACHED

মুখের অভিব্যক্তি পান

xrGetFaceStateANDROID ফাংশন একটি নির্দিষ্ট সময়ে মুখের অভিব্যক্তির মিশ্রণের আকার প্রদান করে।

XrResult xrGetFaceStateANDROID(
    XrFaceTrackerANDROID                        faceTracker,
    const XrFaceStateGetInfoANDROID*            getInfo,
    XrFaceStateANDROID*                         faceStateOutput);

পরামিতি বিবরণ

  • faceTracker হল একটি XrFaceTrackerANDROID যা পূর্বে xrCreateFaceTrackerANDROID দ্বারা তৈরি।
  • getInfo হল XrFaceStateGetInfoANDROID- এর একটি পয়েন্টার যা মুখের অভিব্যক্তি পেতে তথ্য বর্ণনা করে।
  • faceStateOutput হল XrFaceStateANDROID- এর একটি পয়েন্টার যা ফিরে আসা মুখের ট্র্যাকিং অবস্থা এবং মুখের অভিব্যক্তিগুলি গ্রহণ করে৷

বৈধ ব্যবহার (অন্তর্নিহিত)

  • XR_ANDROID_face_tracking এক্সটেনশনটি অবশ্যই xrGetFaceStateANDROID কল করার আগে সক্রিয় করতে হবে
  • faceTracker অবশ্যই একটি বৈধ XrFaceTrackerANDROID হ্যান্ডেল হতে হবে৷
  • getInfo একটি বৈধ XrFaceStateGetInfoANDROID কাঠামোর একটি নির্দেশক হতে হবে
  • faceStateOutput অবশ্যই একটি XrFaceStateANDROID কাঠামোর একটি পয়েন্টার হতে হবে

রিটার্ন কোড

সফলতা

  • XR_SUCCESS
  • XR_SESSION_LOSS_PENDING

ব্যর্থতা

  • XR_ERROR_FUNCTION_UNSUPPORTED
  • XR_ERROR_VALIDATION_FAILURE
  • XR_ERROR_RUNTIME_FAILURE
  • XR_ERROR_HANDLE_INVALID
  • XR_ERROR_INSTANCE_LOST
  • XR_ERROR_SESSION_LOST
  • XR_ERROR_OUT_OF_MEMORY
  • XR_ERROR_LIMIT_REACHED
  • XR_ERROR_TIME_INVALID

XrFaceStateGetInfoANDROID কাঠামো মুখের অভিব্যক্তি প্রাপ্ত করার জন্য তথ্য বর্ণনা করে।

typedef struct XrFaceStateGetInfoANDROID {
    XrStructureType    type;
    void*              next;
    XrTime             time;
} XrFaceStateGetInfoANDROID;

সদস্য বিবরণ

  • type হল এই কাঠামোর XrStructureType
  • next হল NULL বা একটি স্ট্রাকচার চেইনের পরবর্তী কাঠামোর একটি পয়েন্টার। কোর OpenXR বা এই এক্সটেনশনে এই ধরনের কোনো কাঠামো সংজ্ঞায়িত করা হয়নি।
  • time একটি XrTime যেখানে মুখের অভিব্যক্তি অনুরোধ করা হয়।

অ্যাপ্লিকেশনগুলিকে রেন্ডার করা ফ্রেমের জন্য পূর্বাভাসিত প্রদর্শন সময়ের সমান সময়ের অনুরোধ করা উচিত

বৈধ ব্যবহার (অন্তর্নিহিত)

XrFaceStateANDROID গঠন মুখের ট্র্যাকিং অবস্থা এবং মুখের অভিব্যক্তি প্রদান করে।

typedef struct XrFaceStateANDROID {
    XrStructureType               type;
    void*                         next;
    uint32_t                      parametersCapacityInput;
    uint32_t                      parametersCountOutput;
    float*                        parameters;
    XrFaceTrackingStateANDROID    faceTrackingState;
    XrTime                        sampleTime;
    XrBool32                      isValid;
} XrFaceStateANDROID;

সদস্য বিবরণ

  • type হল এই কাঠামোর XrStructureType
  • next হল NULL বা একটি স্ট্রাকচার চেইনের পরবর্তী কাঠামোর একটি পয়েন্টার। কোর OpenXR বা এই এক্সটেনশনে এই ধরনের কোনো কাঠামো সংজ্ঞায়িত করা হয়নি।
  • parametersCapacityInput হল একটি uint32_t যা parameters অ্যারের ক্ষমতা বর্ণনা করে, অথবা প্রয়োজনীয় ক্ষমতা পুনরুদ্ধারের জন্য একটি অনুরোধ নির্দেশ করার জন্য 0।
  • parametersCountOutput হল একটি uint32_t যা parameters সংখ্যা বা প্রয়োজনীয় ক্ষমতা বর্ণনা করে যে ক্ষেত্রে parametersCapacityInput অপর্যাপ্ত।
  • parameters হল একটি অ্যাপ্লিকেশন-বরাদ্দকৃত অ্যারের float একটি নির্দেশক যা মুখের অভিব্যক্তি মিশ্রিত আকারের ওজন দিয়ে পূর্ণ হবে।
  • faceTrackingState হল ফেস ট্র্যাকিংয়ের বৈধতার স্ট্যাটাসের XrFaceTrackingStateANDROID
  • sampleTime হল একটি XrTime সময় যেখানে প্রত্যাবর্তিত এক্সপ্রেশনগুলি ট্র্যাক করা হয় বা এক্সট্রাপোলেট করা হয়। এটি সেই সময়ের সমান হয় যে সময়ে এক্সপ্রেশন ওজনের অনুরোধ করা হয়েছিল যদি সেই সময়ে এক্সট্রাপোলেশন সফল হয়।
  • isValid নির্দেশ করে যে ডেটা বৈধ কিনা তা বর্তমান ফ্রেমের না হলেও।
  • প্রয়োজনীয় parameters আকার পুনরুদ্ধারের বিস্তারিত বিবরণের জন্য বাফার সাইজ প্যারামিটার বিভাগটি দেখুন।

অ্যাপ্লিকেশানটি মুখের অভিব্যক্তি পেতে XR_FACE_PARAMETER_COUNT_ANDROIDparametersCapacityInput সেট করতে পারে যা XrFaceParameterIndicesANDROID দ্বারা সূচিত করা হয়েছে।

প্রত্যাবর্তিত parameters বর্তমান মুখের অভিব্যক্তিগুলির মিশ্রণের আকারের ওজনকে উপস্থাপন করে।

parameters অ্যারে আপডেটগুলি অর্ডার করা হবে যাতে অ্যাপ্লিকেশনটি সংশ্লিষ্ট মুখের অভিব্যক্তি enum ব্যবহার করে উপাদানগুলিকে সূচী করতে পারে (যেমন XrFaceParameterIndicesANDROID )।

বৈধ ব্যবহার (অন্তর্নিহিত)

XrFaceTrackingStateANDROID গণনা ফেস ট্র্যাকারের বিভিন্ন অবস্থা চিহ্নিত করে।

typedef enum XrFaceTrackingStateANDROID {
    XR_FACE_TRACKING_STATE_PAUSED_ANDROID = 0,
    XR_FACE_TRACKING_STATE_STOPPED_ANDROID = 1,
    XR_FACE_TRACKING_STATE_TRACKING_ANDROID = 2
} XrFaceTrackingStateANDROID;

enums নিম্নলিখিত অর্থ আছে:

এনাম

বর্ণনা

XR_FACE_TRACKING_STATE_PAUSED_ANDROID

ইঙ্গিত করে যে ফেস ট্র্যাকিং পজ করা হয়েছে কিন্তু ভবিষ্যতে আবার শুরু করা হতে পারে।

XR_FACE_TRACKING_STATE_STOPPED_ANDROID

ট্র্যাকিং বন্ধ হয়ে গেছে কিন্তু ক্লায়েন্টের এখনও একটি সক্রিয় ফেস ট্র্যাকার রয়েছে৷

XR_FACE_TRACKING_STATE_TRACKING_ANDROID

মুখটি ট্র্যাক করা হয় এবং এর ভঙ্গি বর্তমান।

মিশ্রিত আকারের নিয়মাবলী

এই এক্সটেনশনটি XR_FACE_PARAMETER_COUNT_ANDROID মাধ্যমে 63টি মিশ্রিত আকারকে সংজ্ঞায়িত করে, কমানো G-Nome বিন্যাসের জন্য। এই enum-এর প্রতিটি প্যারামিটার হল একটি মিশ্রিত আকৃতির অ্যারের একটি সূচক যার মানগুলি float প্রকার এবং রানটাইম 1 - 0 এ স্বাভাবিক হয়।

typedef enum XrFaceParameterIndicesANDROID {
    XR_FACE_PARAMETER_INDICES_BROW_LOWERER_L_ANDROID = 0,
    XR_FACE_PARAMETER_INDICES_BROW_LOWERER_R_ANDROID = 1,
    XR_FACE_PARAMETER_INDICES_CHEEK_PUFF_L_ANDROID = 2,
    XR_FACE_PARAMETER_INDICES_CHEEK_PUFF_R_ANDROID = 3,
    XR_FACE_PARAMETER_INDICES_CHEEK_RAISER_L_ANDROID = 4,
    XR_FACE_PARAMETER_INDICES_CHEEK_RAISER_R_ANDROID = 5,
    XR_FACE_PARAMETER_INDICES_CHEEK_SUCK_L_ANDROID = 6,
    XR_FACE_PARAMETER_INDICES_CHEEK_SUCK_R_ANDROID = 7,
    XR_FACE_PARAMETER_INDICES_CHIN_RAISER_B_ANDROID = 8,
    XR_FACE_PARAMETER_INDICES_CHIN_RAISER_T_ANDROID = 9,
    XR_FACE_PARAMETER_INDICES_DIMPLER_L_ANDROID = 10,
    XR_FACE_PARAMETER_INDICES_DIMPLER_R_ANDROID = 11,
    XR_FACE_PARAMETER_INDICES_EYES_CLOSED_L_ANDROID = 12,
    XR_FACE_PARAMETER_INDICES_EYES_CLOSED_R_ANDROID = 13,
    XR_FACE_PARAMETER_INDICES_EYES_LOOK_DOWN_L_ANDROID = 14,
    XR_FACE_PARAMETER_INDICES_EYES_LOOK_DOWN_R_ANDROID = 15,
    XR_FACE_PARAMETER_INDICES_EYES_LOOK_LEFT_L_ANDROID = 16,
    XR_FACE_PARAMETER_INDICES_EYES_LOOK_LEFT_R_ANDROID = 17,
    XR_FACE_PARAMETER_INDICES_EYES_LOOK_RIGHT_L_ANDROID = 18,
    XR_FACE_PARAMETER_INDICES_EYES_LOOK_RIGHT_R_ANDROID = 19,
    XR_FACE_PARAMETER_INDICES_EYES_LOOK_UP_L_ANDROID = 20,
    XR_FACE_PARAMETER_INDICES_EYES_LOOK_UP_R_ANDROID = 21,
    XR_FACE_PARAMETER_INDICES_INNER_BROW_RAISER_L_ANDROID = 22,
    XR_FACE_PARAMETER_INDICES_INNER_BROW_RAISER_R_ANDROID = 23,
    XR_FACE_PARAMETER_INDICES_JAW_DROP_ANDROID = 24,
    XR_FACE_PARAMETER_INDICES_JAW_SIDEWAYS_LEFT_ANDROID = 25,
    XR_FACE_PARAMETER_INDICES_JAW_SIDEWAYS_RIGHT_ANDROID = 26,
    XR_FACE_PARAMETER_INDICES_JAW_THRUST_ANDROID = 27,
    XR_FACE_PARAMETER_INDICES_LID_TIGHTENER_L_ANDROID = 28,
    XR_FACE_PARAMETER_INDICES_LID_TIGHTENER_R_ANDROID = 29,
    XR_FACE_PARAMETER_INDICES_LIP_CORNER_DEPRESSOR_L_ANDROID = 30,
    XR_FACE_PARAMETER_INDICES_LIP_CORNER_DEPRESSOR_R_ANDROID = 31,
    XR_FACE_PARAMETER_INDICES_LIP_CORNER_PULLER_L_ANDROID = 32,
    XR_FACE_PARAMETER_INDICES_LIP_CORNER_PULLER_R_ANDROID = 33,
    XR_FACE_PARAMETER_INDICES_LIP_FUNNELER_LB_ANDROID = 34,
    XR_FACE_PARAMETER_INDICES_LIP_FUNNELER_LT_ANDROID = 35,
    XR_FACE_PARAMETER_INDICES_LIP_FUNNELER_RB_ANDROID = 36,
    XR_FACE_PARAMETER_INDICES_LIP_FUNNELER_RT_ANDROID = 37,
    XR_FACE_PARAMETER_INDICES_LIP_PRESSOR_L_ANDROID = 38,
    XR_FACE_PARAMETER_INDICES_LIP_PRESSOR_R_ANDROID = 39,
    XR_FACE_PARAMETER_INDICES_LIP_PUCKER_L_ANDROID = 40,
    XR_FACE_PARAMETER_INDICES_LIP_PUCKER_R_ANDROID = 41,
    XR_FACE_PARAMETER_INDICES_LIP_STRETCHER_L_ANDROID = 42,
    XR_FACE_PARAMETER_INDICES_LIP_STRETCHER_R_ANDROID = 43,
    XR_FACE_PARAMETER_INDICES_LIP_SUCK_LB_ANDROID = 44,
    XR_FACE_PARAMETER_INDICES_LIP_SUCK_LT_ANDROID = 45,
    XR_FACE_PARAMETER_INDICES_LIP_SUCK_RB_ANDROID = 46,
    XR_FACE_PARAMETER_INDICES_LIP_SUCK_RT_ANDROID = 47,
    XR_FACE_PARAMETER_INDICES_LIP_TIGHTENER_L_ANDROID = 48,
    XR_FACE_PARAMETER_INDICES_LIP_TIGHTENER_R_ANDROID = 49,
    XR_FACE_PARAMETER_INDICES_LIPS_TOWARD_ANDROID = 50,
    XR_FACE_PARAMETER_INDICES_LOWER_LIP_DEPRESSOR_L_ANDROID = 51,
    XR_FACE_PARAMETER_INDICES_LOWER_LIP_DEPRESSOR_R_ANDROID = 52,
    XR_FACE_PARAMETER_INDICES_MOUTH_LEFT_ANDROID = 53,
    XR_FACE_PARAMETER_INDICES_MOUTH_RIGHT_ANDROID = 54,
    XR_FACE_PARAMETER_INDICES_NOSE_WRINKLER_L_ANDROID = 55,
    XR_FACE_PARAMETER_INDICES_NOSE_WRINKLER_R_ANDROID = 56,
    XR_FACE_PARAMETER_INDICES_OUTER_BROW_RAISER_L_ANDROID = 57,
    XR_FACE_PARAMETER_INDICES_OUTER_BROW_RAISER_R_ANDROID = 58,
    XR_FACE_PARAMETER_INDICES_UPPER_LID_RAISER_L_ANDROID = 59,
    XR_FACE_PARAMETER_INDICES_UPPER_LID_RAISER_R_ANDROID = 60,
    XR_FACE_PARAMETER_INDICES_UPPER_LIP_RAISER_L_ANDROID = 61,
    XR_FACE_PARAMETER_INDICES_UPPER_LIP_RAISER_R_ANDROID = 62
} XrFaceParameterIndicesANDROID;
সূচক নাম রেফারেন্স ইমেজ
0 BROW_LOWERER_L
নিরপেক্ষ মুখের রেফারেন্স চিত্র
BROW_LOWERER_L = 0.0
মুখ ট্র্যাকিং রেফারেন্স ইমেজ
BROW_LOWERER_L = 1.0
1 BROW_LOWERER_R
নিরপেক্ষ মুখের রেফারেন্স চিত্র
BROW_LOWERER_R = 0.0
মুখ ট্র্যাকিং রেফারেন্স ইমেজ
BROW_LOWERER_R = 1.0
2 CHEEK_PUFF_L
নিরপেক্ষ মুখের রেফারেন্স চিত্র
CHEEK_PUFF_L = 0.0
মুখ ট্র্যাকিং রেফারেন্স ইমেজ
CHEEK_PUFF_L = 1.0
3 CHEEK_PUFF_R
নিরপেক্ষ মুখের রেফারেন্স চিত্র
CHEEK_PUFF_R = 0.0
মুখ ট্র্যাকিং রেফারেন্স ইমেজ
CHEEK_PUFF_R = 1.0
4 CHEEK_RAISER_L
নিরপেক্ষ মুখের রেফারেন্স চিত্র
CHEEK_RAISER_L = 0.0
মুখ ট্র্যাকিং রেফারেন্স ইমেজ
CHEEK_RAISER_L = 1.0
5 CHEEK_RAISER_R
নিরপেক্ষ মুখের রেফারেন্স চিত্র
CHEEK_RAISER_R = 0.0
মুখ ট্র্যাকিং রেফারেন্স ইমেজ
CHEEK_RAISER_R = 1.0
6 CHEEK_SUCK_L
নিরপেক্ষ মুখের রেফারেন্স চিত্র
CHEEK_SUCK_L = 0.0
মুখ ট্র্যাকিং রেফারেন্স ইমেজ
CHEEK_SUCK_L = 1.0
7 CHEEK_SUCK_R
নিরপেক্ষ মুখের রেফারেন্স চিত্র
CHEEK_SUCK_R = 0.0
মুখ ট্র্যাকিং রেফারেন্স ইমেজ
CHEEK_SUCK_R = 1.0
8 CHIN_RAISER_B
নিরপেক্ষ মুখের রেফারেন্স চিত্র
CHIN_RAISER_B = 0.0
মুখ ট্র্যাকিং রেফারেন্স ইমেজ
CHIN_RAISER_B = 1.0
9 CHIN_RAISER_T
নিরপেক্ষ মুখের রেফারেন্স চিত্র
CHIN_RAISER_T = 0.0
মুখ ট্র্যাকিং রেফারেন্স ইমেজ
CHIN_RAISER_T = 1.0
10 DIMPLER_L
নিরপেক্ষ মুখের রেফারেন্স চিত্র
DIMPLER_L = 0.0
মুখ ট্র্যাকিং রেফারেন্স ইমেজ
DIMPLER_L = 1.0
11 DIMPLER_R
নিরপেক্ষ মুখের রেফারেন্স চিত্র
DIMPLER_R = 0.0
মুখ ট্র্যাকিং রেফারেন্স ইমেজ
DIMPLER_R = 1.0
12 EYES_CLOSED_L
নিরপেক্ষ মুখের রেফারেন্স চিত্র
EYES_CLOSED_L = 0.0
মুখ ট্র্যাকিং রেফারেন্স ইমেজ
EYES_CLOSED_L = 1.0
13 EYES_CLOSED_R
নিরপেক্ষ মুখের রেফারেন্স চিত্র
EYES_CLOSED_R = 0.0
মুখ ট্র্যাকিং রেফারেন্স ইমেজ
EYES_CLOSED_R = 1.0
14 EYES_LOOK_DOWN_L
নিরপেক্ষ মুখের রেফারেন্স চিত্র
EYES_LOOK_DOWN_L = 0.0
মুখ ট্র্যাকিং রেফারেন্স ইমেজ
EYES_LOOK_DOWN_L = 1.0
15 EYES_LOOK_DOWN_R
নিরপেক্ষ মুখের রেফারেন্স চিত্র
EYES_LOOK_DOWN_R = 0.0
মুখ ট্র্যাকিং রেফারেন্স ইমেজ
EYES_LOOK_DOWN_R = 1.0
16 EYES_LOOK_LEFT_L
নিরপেক্ষ মুখের রেফারেন্স চিত্র
EYES_LOOK_LEFT_L = 0.0
মুখ ট্র্যাকিং রেফারেন্স ইমেজ
EYES_LOOK_LEFT_L = 1.0
17 EYES_LOOK_LEFT_R
নিরপেক্ষ মুখের রেফারেন্স চিত্র
EYES_LOOK_LEFT_R = 0.0
মুখ ট্র্যাকিং রেফারেন্স ইমেজ
EYES_LOOK_LEFT_R = 1.0
18 EYES_LOOK_RIGHT_L
নিরপেক্ষ মুখের রেফারেন্স চিত্র
EYES_LOOK_RIGHT_L = 0.0
মুখ ট্র্যাকিং রেফারেন্স ইমেজ
EYES_LOOK_RIGHT_L = 1.0
19 EYES_LOOK_RIGHT_R
নিরপেক্ষ মুখের রেফারেন্স চিত্র
EYES_LOOK_RIGHT_R = 0.0
মুখ ট্র্যাকিং রেফারেন্স ইমেজ
EYES_LOOK_RIGHT_R = 1.0
20 চোখ_লোক_UP_L
নিরপেক্ষ মুখের রেফারেন্স চিত্র
EYES_LOOK_UP_L = 0.0
মুখ ট্র্যাকিং রেফারেন্স ইমেজ
EYES_LOOK_UP_L = 1.0
21 চোখ_লোক_আপ_আর
নিরপেক্ষ মুখের রেফারেন্স চিত্র
EYES_LOOK_UP_R = 0.0
মুখ ট্র্যাকিং রেফারেন্স ইমেজ
EYES_LOOK_UP_R = 1.0
22 INNER_BROW_RAISER_L
নিরপেক্ষ মুখের রেফারেন্স চিত্র
INNER_BROW_RAISER_L = 0.0
মুখ ট্র্যাকিং রেফারেন্স ইমেজ
INNER_BROW_RAISER_L = 1.0
23 INNER_BROW_RAISER_R
নিরপেক্ষ মুখের রেফারেন্স চিত্র
INNER_BROW_RAISER_R = 0.0
মুখ ট্র্যাকিং রেফারেন্স ইমেজ
INNER_BROW_RAISER_R = 1.0
24 JAW_DROP
নিরপেক্ষ মুখের রেফারেন্স চিত্র
JAW_DROP = 0.0
মুখ ট্র্যাকিং রেফারেন্স ইমেজ
JAW_DROP = 1.0
25 JAW_SIDEWAYS_LEFT
নিরপেক্ষ মুখের রেফারেন্স চিত্র
JAW_SIDEWAYS_LEFT = 0.0
মুখ ট্র্যাকিং রেফারেন্স ইমেজ
JAW_SIDEWAYS_LEFT = 1.0
26 JAW_SIDEWAYS_RIGHT
নিরপেক্ষ মুখের রেফারেন্স চিত্র
JAW_SIDEWAYS_RIGHT = 0.0
মুখ ট্র্যাকিং রেফারেন্স ইমেজ
JAW_SIDEWAYS_RIGHT = 1.0
27 JAW_THRUST
নিরপেক্ষ মুখের রেফারেন্স চিত্র
JAW_THRUST = 0.0
মুখ ট্র্যাকিং রেফারেন্স ইমেজ
JAW_THRUST = 1.0
28 LID_TIGHTENER_L
নিরপেক্ষ মুখের রেফারেন্স চিত্র
LID_TIGHTENER_L = 0.0
মুখ ট্র্যাকিং রেফারেন্স ইমেজ
LID_TIGHTENER_L = 1.0
29 LID_TIGHTENER_R
নিরপেক্ষ মুখের রেফারেন্স চিত্র
LID_TIGHTENER_R = 0.0
মুখ ট্র্যাকিং রেফারেন্স ইমেজ
LID_TIGHTENER_R = 1.0
30 LIP_CORNER_DEPRESSOR_L
নিরপেক্ষ মুখের রেফারেন্স চিত্র
LIP_CORNER_DEPRESSOR_L = 0.0
মুখ ট্র্যাকিং রেফারেন্স ইমেজ
LIP_CORNER_DEPRESSOR_L = 1.0
31 LIP_CORNER_DEPRESSOR_R
নিরপেক্ষ মুখের রেফারেন্স চিত্র
LIP_CORNER_DEPRESSOR_R = 0.0
মুখ ট্র্যাকিং রেফারেন্স ইমেজ
LIP_CORNER_DEPRESSOR_R = 1.0
32 LIP_CORNER_PULLER_L
নিরপেক্ষ মুখের রেফারেন্স চিত্র
LIP_CORNER_PULLER_L = 0.0
মুখ ট্র্যাকিং রেফারেন্স ইমেজ
LIP_CORNER_PULLER_L = 1.0
33 LIP_CORNER_PULLER_R
নিরপেক্ষ মুখের রেফারেন্স চিত্র
LIP_CORNER_PULLER_R = 0.0
মুখ ট্র্যাকিং রেফারেন্স ইমেজ
LIP_CORNER_PULLER_R = 1.0
34 LIP_FUNNELER_LB
নিরপেক্ষ মুখের রেফারেন্স চিত্র
LIP_FUNNELER_LB = 0.0
মুখ ট্র্যাকিং রেফারেন্স ইমেজ
LIP_FUNNELER_LB = 1.0
35 LIP_FUNNELER_LT
নিরপেক্ষ মুখের রেফারেন্স চিত্র
LIP_FUNNELER_LT = 0.0
মুখ ট্র্যাকিং রেফারেন্স ইমেজ
LIP_FUNNELER_LT = 1.0
36 LIP_FUNNELER_RB
নিরপেক্ষ মুখের রেফারেন্স চিত্র
LIP_FUNNELER_RB = 0.0
মুখ ট্র্যাকিং রেফারেন্স ইমেজ
LIP_FUNNELER_RB = 1.0
37 LIP_FUNNELER_RT
নিরপেক্ষ মুখের রেফারেন্স চিত্র
LIP_FUNNELER_RT = 0.0
মুখ ট্র্যাকিং রেফারেন্স ইমেজ
LIP_FUNNELER_RT = 1.0
38 LIP_PRESSOR_L
নিরপেক্ষ মুখের রেফারেন্স চিত্র
LIP_PRESSOR_L = 0.0
মুখ ট্র্যাকিং রেফারেন্স ইমেজ
LIP_PRESSOR_L = 1.0
39 LIP_PRESSOR_R
নিরপেক্ষ মুখের রেফারেন্স চিত্র
LIP_PRESSOR_R = 0.0
মুখ ট্র্যাকিং রেফারেন্স ইমেজ
LIP_PRESSOR_R = 1.0
40 LIP_PUCKER_L
নিরপেক্ষ মুখের রেফারেন্স চিত্র
LIP_PUCKER_L = 0.0
মুখ ট্র্যাকিং রেফারেন্স ইমেজ
LIP_PUCKER_L = 1.0
41 LIP_PUCKER_R
নিরপেক্ষ মুখের রেফারেন্স চিত্র
LIP_PUCKER_R = 0.0
মুখ ট্র্যাকিং রেফারেন্স ইমেজ
LIP_PUCKER_R = 1.0
42 LIP_STRETCHER_L
নিরপেক্ষ মুখের রেফারেন্স চিত্র
LIP_STRETCHER_L = 0.0
মুখ ট্র্যাকিং রেফারেন্স ইমেজ
LIP_STRETCHER_L = 1.0
43 LIP_STRETCHER_R
নিরপেক্ষ মুখের রেফারেন্স চিত্র
LIP_STRETCHER_R = 0.0
মুখ ট্র্যাকিং রেফারেন্স ইমেজ
LIP_STRETCHER_R = 1.0
44 LIP_SUCK_LB
নিরপেক্ষ মুখের রেফারেন্স চিত্র
LIP_SUCK_LB = 0.0
মুখ ট্র্যাকিং রেফারেন্স ইমেজ
LIP_SUCK_LB = 1.0
45 LIP_SUCK_LT
নিরপেক্ষ মুখের রেফারেন্স চিত্র
LIP_SUCK_LT = 0.0
মুখ ট্র্যাকিং রেফারেন্স ইমেজ
LIP_SUCK_LT = 1.0
46 LIP_SUCK_RB
নিরপেক্ষ মুখের রেফারেন্স চিত্র
LIP_SUCK_RB = 0.0
মুখ ট্র্যাকিং রেফারেন্স ইমেজ
LIP_SUCK_RB = 1.0
47 LIP_SUCK_RT
নিরপেক্ষ মুখের রেফারেন্স চিত্র
LIP_SUCK_RT = 0.0
মুখ ট্র্যাকিং রেফারেন্স ইমেজ
LIP_SUCK_RT = 1.0
48 LIP_TIGHTENER_L
নিরপেক্ষ মুখের রেফারেন্স চিত্র
LIP_TIGHTENER_L = 0.0
মুখ ট্র্যাকিং রেফারেন্স ইমেজ
LIP_TIGHTENER_L = 1.0
49 LIP_TIGHTENER_R
নিরপেক্ষ মুখের রেফারেন্স চিত্র
LIP_TIGHTENER_R = 0.0
মুখ ট্র্যাকিং রেফারেন্স ইমেজ
LIP_TIGHTENER_R = 1.0
50 LIPS_TOWARD
নিরপেক্ষ মুখের রেফারেন্স চিত্র
LIPS_TOWARD = 0.0
মুখ ট্র্যাকিং রেফারেন্স ইমেজ
JAW_DROP = 1.0 এবং LIPS_TOWARD = 1.0
51 LOWER_LIP_DEPRESSOR_L
নিরপেক্ষ মুখের রেফারেন্স চিত্র
LOWER_LIP_DEPRESSOR_L = 0.0
মুখ ট্র্যাকিং রেফারেন্স ইমেজ
LOWER_LIP_DEPRESSOR_L = 1.0
52 LOWER_LIP_DEPRESSOR_R
নিরপেক্ষ মুখের রেফারেন্স চিত্র
LOWER_LIP_DEPRESSOR_R = 0.0
মুখ ট্র্যাকিং রেফারেন্স ইমেজ
LOWER_LIP_DEPRESSOR_R = 1.0
53 MOUTH_LEFT
নিরপেক্ষ মুখের রেফারেন্স চিত্র
MOUTH_LEFT = 0.0
মুখ ট্র্যাকিং রেফারেন্স ইমেজ
MOUTH_LEFT = 1.0
54 MOUTH_RIGHT
নিরপেক্ষ মুখের রেফারেন্স চিত্র
MOUTH_RIGHT = 0.0
মুখ ট্র্যাকিং রেফারেন্স ইমেজ
MOUTH_RIGHT = 1.0
55 NOSE_WRINKLER_L
নিরপেক্ষ মুখের রেফারেন্স চিত্র
NOSE_WRINKLER_L = 0.0
মুখ ট্র্যাকিং রেফারেন্স ইমেজ
NOSE_WRINKLER_L = 1.0
56 NOSE_WRINKLER_R
নিরপেক্ষ মুখের রেফারেন্স চিত্র
NOSE_WRINKLER_R = 0.0
মুখ ট্র্যাকিং রেফারেন্স ইমেজ
NOSE_WRINKLER_R = 1.0
57 OUTER_BROW_RAISER_L
নিরপেক্ষ মুখের রেফারেন্স চিত্র
OUTER_BROW_RAISER_L = 0.0
মুখ ট্র্যাকিং রেফারেন্স ইমেজ
OUTER_BROW_RAISER_L = 1.0
58 OUTER_BROW_RAISER_R
নিরপেক্ষ মুখের রেফারেন্স চিত্র
OUTER_BROW_RAISER_R = 0.0
মুখ ট্র্যাকিং রেফারেন্স ইমেজ
OUTER_BROW_RAISER_R = 1.0
59 UPPER_LID_RAISER_L
নিরপেক্ষ মুখের রেফারেন্স চিত্র
UPPER_LID_RAISER_L = 0.0
মুখ ট্র্যাকিং রেফারেন্স ইমেজ
UPPER_LID_RAISER_L = 1.0
60 UPPER_LID_RAISER_R
নিরপেক্ষ মুখের রেফারেন্স চিত্র
UPPER_LID_RAISER_R = 0.0
মুখ ট্র্যাকিং রেফারেন্স ইমেজ
UPPER_LID_RAISER_R = 1.0
61 UPPER_LIP_RAISER_L
নিরপেক্ষ মুখের রেফারেন্স চিত্র
UPPER_LIP_RAISER_L = 0.0
মুখ ট্র্যাকিং রেফারেন্স ইমেজ
UPPER_LIP_RAISER_L = 1.0
62 UPPER_LIP_RAISER_R
নিরপেক্ষ মুখের রেফারেন্স চিত্র
UPPER_LIP_RAISER_R = 0.0
মুখ ট্র্যাকিং রেফারেন্স ইমেজ
UPPER_LIP_RAISER_R = 1.0

মুখ ট্র্যাকিং জন্য উদাহরণ কোড

নিম্নলিখিত উদাহরণ কোডটি দেখায় কিভাবে মুখের অভিব্যক্তি মিশ্রিত আকারের জন্য সমস্ত ওজন পেতে হয়।

XrSession session; // previously initialized, for example created at app startup.

// The function pointers are previously initialized using xrGetInstanceProcAddr.
PFN_xrCreateFaceTrackerANDROID xrCreateFaceTrackerANDROID; // previously initialized
PFN_xrDestroyFaceTrackerANDROID xrDestroyFaceTrackerANDROID; // previously initialized
PFN_xrGetFaceStateANDROID xrGetFaceStateANDROID; // previously initialized
PFN_xrGetFaceCalibrationStateANDROID xrGetFaceCalibrationStateANDROID; // previously initialized

XrFaceTrackerANDROID faceTracker;
XrFaceTrackerCreateInfoANDROID
        createInfo{.type = XR_TYPE_FACE_TRACKER_CREATE_INFO_ANDROID,
                    .next = nullptr};
CHK_XR(xrCreateFaceTrackerANDROID(session, &createInfo, &faceTracker));

// If the system supports face calibration:
bool isCalibrated;
CHK_XR(xrGetFaceCalibrationStateANDROID(faceTracker, &isCalibrated));
if (!isCalibrated) {
    // Redirect the user to system calibration setting.
}

XrFaceStateANDROID faceState;
float faceExpressionParameters[XR_FACE_PARAMETER_COUNT_ANDROID];
faceState.type = XR_TYPE_FACE_STATE_ANDROID;
faceState.next = nullptr;
faceState.parametersCapacityInput = XR_FACE_PARAMETER_COUNT_ANDROID;
faceState.parameters = faceExpressionParameters;

while (1) {
    // ...
    // For every frame in the frame loop
    // ...
    XrFrameState frameState; // previously returned from xrWaitFrame

    XrFaceStateGetInfoANDROID faceGetInfo{
            .type = XR_TYPE_FACE_STATE_GET_INFO_ANDROID,
            .next = nullptr,
            .time = frameState.predictedDisplayTime,
    };

    CHECK_XR(xrGetFaceStateANDROID(faceTracker, &faceGetInfo, &faceState));
    if (faceState.isValid) {
        for (uint32_t i = 0; i < XR_FACE_PARAMETER_COUNT_ANDROID; ++i) {
            // parameters[i] contains a weight of specific blend shape
        }
    }
}

// after usage
CHK_XR(xrDestroyFaceTrackerANDROID(faceTracker));

নতুন অবজেক্টের ধরন

নতুন Enum ধ্রুবক

  • XR_FACE_PARAMETER_COUNT_ANDROID

XrObjectType গণনা এর সাথে প্রসারিত করা হয়েছে:

  • XR_OBJECT_TYPE_FACE_TRACKER_ANDROID

XrStructureType গণনা এর সাথে প্রসারিত করা হয়েছে:

  • XR_TYPE_FACE_TRACKER_CREATE_INFO_ANDROID
  • XR_TYPE_FACE_STATE_GET_INFO_ANDROID
  • XR_TYPE_FACE_STATE_ANDROID

নতুন Enums

নতুন কাঠামো

নতুন ফাংশন

ইস্যু

সংস্করণ ইতিহাস

  • রিভিশন 1, 2024-09-05 (লেভানা চেন)
    • প্রাথমিক এক্সটেনশন বর্ণনা