XR_ANDROID_face_tracking OpenXR এক্সটেনশন

নামের স্ট্রিং

XR_ANDROID_face_tracking

এক্সটেনশনের ধরণ

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

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

৪৫৯

সংশোধন

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

ওপেনএক্সআর ১.০

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

২০২৫-০৬-০৪

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

কোনও পরিচিত আইপি দাবি নেই।

অবদানকারীরা

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

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

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

সংক্ষিপ্ত বিবরণ

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

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

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

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

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

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

সিস্টেমের ক্ষমতা পরীক্ষা করুন

XrSystemFaceTrackingPropertiesANDROID কাঠামোটি নিম্নরূপ সংজ্ঞায়িত করা হয়েছে:

typedef struct XrSystemFaceTrackingPropertiesANDROID {
    XrStructureType    type;
    void*              next;
    XrBool32           supportsFaceTracking;
} XrSystemFaceTrackingPropertiesANDROID;

সদস্যদের বিবরণ

  • type হল এই কাঠামোর XrStructureType
  • next হল NULL অথবা একটি কাঠামো শৃঙ্খলে পরবর্তী কাঠামোর দিকে নির্দেশক।
  • supportsFaceTracking হল একটি XrBool32 যা নির্দেশ করে যে বর্তমান সিস্টেমটি ফেস ট্র্যাকিং সমর্থন করে কিনা।

একটি অ্যাপ্লিকেশন xrGetSystemProperties কল করার সময় XrSystemProperties কে XrSystemFaceTrackingPropertiesANDROID কাঠামোর সাথে প্রসারিত করে সিস্টেমটি ফেস ট্র্যাকিং করতে সক্ষম কিনা তা পরীক্ষা করতে পারে

যদি এবং শুধুমাত্র যদি একটি রানটাইম supportsFaceTracking জন্য XR_FALSE ফেরত দেয়, তাহলে রানটাইমকে xrCreateFaceTrackerANDROID থেকে XR_ERROR_FEATURE_UNSUPPORTED ফেরত দিতে হবে

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

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 ফেরত দেবে।

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

  • xrCreateFaceTrackerANDROID কল করার আগে XR_ANDROID_face_tracking এক্সটেনশনটি সক্রিয় করতে হবে
  • 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_SERVICE_NOT_READY_ANDROID ফেরত পাঠাতে পারে যা নির্দেশ করে যে অ্যাপ্লিকেশনটি পরে পুনরায় চেষ্টা করতে পারে

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

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

রিটার্ন কোড

সাফল্য

  • 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_SERVICE_NOT_READY_ANDROID

মুখের ভাব বুঝতে পারো

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

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

প্যারামিটার বর্ণনা

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

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

  • xrGetFaceStateANDROID কল করার আগে XR_ANDROID_face_tracking এক্সটেনশনটি সক্রিয় করতে হবে
  • 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;
    uint32_t                      regionConfidencesCapacityInput;
    uint32_t                      regionConfidencesCountOutput;
    float*                        regionConfidences;
} XrFaceStateANDROID;

সদস্যদের বিবরণ

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

অ্যাপ্লিকেশনটি XrFaceParameterIndicesANDROID দ্বারা সূচীকৃত মুখের অভিব্যক্তি পেতে parametersCapacityInput XR_FACE_PARAMETER_COUNT_ANDROID এ সেট করতে পারে

ফিরে আসা parameters বর্তমান মুখের অভিব্যক্তির মিশ্র আকারের ওজনকে প্রতিনিধিত্ব করে।

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

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

  • XrFaceStateANDROID ব্যবহার করার আগে XR_ANDROID_face_tracking এক্সটেনশনটি সক্রিয় করতে হবে
  • type অবশ্যই XR_TYPE_FACE_STATE_ANDROID হতে হবে
  • next অবশ্যই NULL হতে হবে অথবা স্ট্রাকচার চেইনে পরবর্তী স্ট্রাকচারের জন্য একটি বৈধ পয়েন্টার হতে হবে।
  • যদি parametersCapacityInput 0, parameters parametersCapacityInput float মানের একটি অ্যারের দিকে নির্দেশক হতে হবে
  • যদি regionConfidencesCapacityInput 0, regionConfidences অবশ্যই regionConfidencesCapacityInput float মানের একটি অ্যারের দিকে নির্দেশক হতে হবে।
  • faceTrackingState অবশ্যই একটি বৈধ XrFaceTrackingStateANDROID মান হতে হবে

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;

এনামগুলির নিম্নলিখিত অর্থ রয়েছে:

এনাম

বিবরণ

XR_FACE_TRACKING_STATE_PAUSED_ANDROID

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

XR_FACE_TRACKING_STATE_STOPPED_ANDROID

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

XR_FACE_TRACKING_STATE_TRACKING_ANDROID

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

আত্মবিশ্বাস অঞ্চল

XR_ANDROID_face_tracking এক্সটেনশনটি তিনটি মুখমণ্ডলের অঞ্চলের জন্য আত্মবিশ্বাসের মানও প্রদান করে: বাম চোখ, ডান চোখ এবং নীচের মুখমণ্ডল। এই মানগুলি, 0 (অবিশ্বাস) থেকে 1 (সর্বোচ্চ আত্মবিশ্বাস) পর্যন্ত, প্রতিটি অঞ্চলের জন্য মুখমণ্ডল ট্র্যাকিংয়ের নির্ভুলতা নির্দেশ করে।

আপনি এই আত্মবিশ্বাসের মানগুলি ব্যবহার করে ধীরে ধীরে ব্লেন্ডশেপগুলি অক্ষম করতে পারেন অথবা সংশ্লিষ্ট ফেস অঞ্চলে ভিজ্যুয়াল ফিল্টার (যেমন ব্লারিং) প্রয়োগ করতে পারেন। একটি মৌলিক অন/অফ নিয়ন্ত্রণের জন্য, আমরা সংশ্লিষ্ট ফেস অঞ্চলে ব্লেন্ডশেপগুলি সম্পূর্ণরূপে নিষ্ক্রিয় করতে 0.3 এর থ্রেশহোল্ড ব্যবহার করার পরামর্শ দিই।

"মুখের নিচের অংশ" বলতে চোখের নিচের সবকিছু বোঝায়, যার মধ্যে মুখ, থুতনি, গাল এবং নাক অন্তর্ভুক্ত। চোখের অংশে চোখ এবং ভ্রু অংশ অন্তর্ভুক্ত।

নিম্নলিখিত টেবিলটি প্রতিটি কনফিডেন্স অঞ্চলের সাথে সম্পর্কিত ব্লেন্ডশেপগুলি বর্ণনা করে:

আত্মবিশ্বাস অঞ্চল ব্লেন্ডশেপস
নিম্ন মুখ `XR_FACE_PARAMETER_INDICES_CHEEK_PUFF_L_ANDROID`, `XR_FACE_PARAMETER_INDICES_CHEEK_PUFF_R_ANDROID`, `XR_FACE_PARAMETER_INDICES_CHEEK_RAISER_L_ANDROID`, `XR_FACE_PARAMETER_INDICES_CHEEK_SUCK_L_ANDROID`, `XR_FACE_PARAMETER_INDICES_CHEEK_SUCK_R_ANDROID`, `XR_FACE_PARAMETER_INDICES_CHIN_RAISER_B_ANDROID`, `XR_FACE_PARAMETER_INDICES_CHIN_RAISER_T_ANDROID`, `XR_FACE_PARAMETER_INDICES_DIMPLER_L_ANDROID`, `XR_FACE_PARAMETER_INDICES_DIMPLER_R_ANDROID`, `XR_FACE_PARAMETER_INDICES_JAW_DROP_ANDROID`, `XR_FACE_PARAMETER_INDICES_JAW_SIDEWAYS_LEFT_ANDROID`, `XR_FACE_PARAMETER_INDICES_JAW_SIDEWAYS_RIGHT_ANDROID`, `XR_FACE_PARAMETER_INDICES_JAW_THRUST_ANDROID`, `XR_FACE_PARAMETER_INDICES_LIP_CORNER_DEPRESSOR_L_ANDROID`, `XR_FACE_PARAMETER_INDICES_LIP_CORNER_DEPRESSOR_R_ANDROID`, `XR_FACE_PARAMETER_INDICES_LIP_CORNER_PULLER_L_ANDROID`, `XR_FACE_PARAMETER_INDICES_LIP_CORNER_PULLER_R_ANDROID`, `XR_FACE_PARAMETER_INDICES_LIP_FUNNELER_LB_ANDROID`, `XR_FACE_PARAMETER_INDICES_LIP_FUNNELER_LT_ANDROID`, `XR_FACE_PARAMETER_INDICES_LIP_FUNNELER_RB_ANDROID`, `XR_FACE_PARAMETER_INDICES_LIP_FUNNELER_RT_ANDROID`, `XR_FACE_PARAMETER_INDICES_LIP_PRESSOR_L_ANDROID`, `XR_FACE_PARAMETER_INDICES_LIP_PRESSOR_R_ANDROID`, `XR_FACE_PARAMETER_INDICES_LIP_PUCKER_L_ANDROID`, `XR_FACE_PARAMETER_INDICES_LIP_PUCKER_R_ANDROID`, `XR_FACE_PARAMETER_INDICES_LIP_STRETCHER_L_ANDROID`, `XR_FACE_PARAMETER_INDICES_LIP_SUCK_LB_ANDROID`, `XR_FACE_PARAMETER_INDICES_LIP_SUCK_LT_ANDROID`, `XR_FACE_PARAMETER_INDICES_LIP_SUCK_RB_ANDROID`, `XR_FACE_PARAMETER_INDICES_LIP_SUCK_RT_ANDROID`, `XR_FACE_PARAMETER_INDICES_LIP_TIGHTENER_L_ANDROID`, `XR_FACE_PARAMETER_INDICES_LIP_TIGHTENER_R_ANDROID`, `XR_FACE_PARAMETER_INDICES_LIPS_TOWARD_ANDROID`, `XR_FACE_PARAMETER_INDICES_LOWER_LIP_DEPRESSOR_L_ANDROID`, `XR_FACE_PARAMETER_INDICES_MOUTH_LEFT_ANDROID`, `XR_FACE_PARAMETER_INDICES_MOUTH_ANDROID`, `XR_FACE_PARAMETER_INDICES_MOUTH_RIGHT_ANDROID`, `XR_FACE_PARAMETER_INDICES_NOSE_WRINKLER_L_ANDROID`, `XR_FACE_PARAMETER_INDICES_NOSE_WRINKLER_R_ANDROID`, `XR_FACE_PARAMETER_INDICES_UPPER_LID_RAISER_L_ANDROID`, `XR_FACE_PARAMETER_INDICES_UPPER_LIP_RAISER_L_ANDROID`, `XR_FACE_PARAMETER_INDICES_UPPER_LIP_RAISER_R_ANDROID`, `XR_FACE_PARAMETER_INDICES_TONGUE_OUT_ANDROID`, `XR_FACE_PARAMETER_INDICES_TONGUE_LEFT_ANDROID`, `XR_FACE_PARAMETER_INDICES_TONGUE_RIGHT_ANDROID`, `XR_FACE_PARAMETER_INDICES_TONGUE_UP_ANDROID`, `XR_FACE_PARAMETER_INDICES_TONGUE_DOWN_ANDROID`
বাম/ডান উপরের মুখ `XR_FACE_PARAMETER_INDICES_BROW_LOWERER_L_ANDROID`, `XR_FACE_PARAMETER_INDICES_BROW_LOWERER_R_ANDROID`, `XR_FACE_PARAMETER_INDICES_EYES_CLOSED_L_ANDROID`, `XR_FACE_PARAMETER_INDICES_EYES_LOOK_DOWN_L_ANDROID`, `XR_FACE_PARAMETER_INDICES_EYES_LOOK_DOWN_R_ANDROID`, `XR_FACE_PARAMETER_INDICES_EYES_LOOK_LOOK_Android`, `XR_FACE_PARAMETER_INDICES_EYES_LOOK_L_ANDROID`, `XR_FACE_PARAMETER_INDICES_EYES_LOOK_LFT_R_ANDROID`, `XR_FACE_PARAMETER_INDICES_EYES_LOOK_RIGHT_L_ANDROID`, `XR_FACE_PARAMETER_INDICES_EYES_LOOK_RIGHT_R_ANDROID`, `XR_FACE_PARAMETER_INDICES_EYES_LOOK_UP_L_ANDROID`, `XR_FACE_PARAMETER_INDICES_INNER_BROW_RAISER_L_ANDROID`, `XR_FACE_PARAMETER_INDICES_INNER_BROW_RAISER_R_ANDROID`, `XR_FACE_PARAMETER_INDICES_IDID_LID_TIGHTENER_L_ANDROID`, `XR_FACE_PARAMETER_INDICES_LID_TIGHTENER_R_ANDROID`, `XR_FACE_PARAMETER_INDICES_OUTER_BROW_RAISER_L_ANDROID`, `XR_FACE_PARAMETER_INDICES_OUTER_BROW_RAISER_R_ANDROID`

মিশ্র আকারের প্রচলিত ধরণ

এই এক্সটেনশনটি XR_FACE_PARAMETER_COUNT_ANDROID এর মাধ্যমে ৬৮টি ব্লেন্ড শেপ সংজ্ঞায়িত করে, হ্রাসকৃত 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,
    XR_FACE_PARAMETER_INDICES_TONGUE_OUT_ANDROID = 63,
    XR_FACE_PARAMETER_INDICES_TONGUE_LEFT_ANDROID = 64,
    XR_FACE_PARAMETER_INDICES_TONGUE_RIGHT_ANDROID = 65,
    XR_FACE_PARAMETER_INDICES_TONGUE_UP_ANDROID = 66,
    XR_FACE_PARAMETER_INDICES_TONGUE_DOWN_ANDROID = 67
} XrFaceParameterIndicesANDROID;
সূচক নাম রেফারেন্স ছবি
0 ব্রো_লোয়ার_এল
নিরপেক্ষ মুখের রেফারেন্স ছবি
ব্রাউ_লোয়ার_এল = ০.০
ফেস ট্র্যাকিং রেফারেন্স ছবি
ব্রাউ_লোয়ার_এল = ১.০
ব্রো_লোয়ার_আর
নিরপেক্ষ মুখের রেফারেন্স ছবি
ব্রাউ_লোয়ার_আর = ০.০
ফেস ট্র্যাকিং রেফারেন্স ছবি
ব্রাউ_লোয়ার_আর = ১.০
গাল_পাফ_এল
নিরপেক্ষ মুখের রেফারেন্স ছবি
গাল_পাফ_এল = ০.০
ফেস ট্র্যাকিং রেফারেন্স ছবি
গাল_পাফ_এল = ১.০
গাল_পাফ_আর
নিরপেক্ষ মুখের রেফারেন্স ছবি
গাল_পাফ_আর = ০.০
ফেস ট্র্যাকিং রেফারেন্স ছবি
গাল_পাফ_আর = ১.০
চিক_রাইজার_এল
নিরপেক্ষ মুখের রেফারেন্স ছবি
চিক_রাইজার_এল = ০.০
ফেস ট্র্যাকিং রেফারেন্স ছবি
চিক_রাইজার_এল = ১.০
চিক_রাইজার_আর
নিরপেক্ষ মুখের রেফারেন্স ছবি
চিক_রাইজার_আর = ০.০
ফেস ট্র্যাকিং রেফারেন্স ছবি
চিক_রাইজার_আর = ১.০
গাল চুষা_এল
নিরপেক্ষ মুখের রেফারেন্স ছবি
গাল_চুষি_এল = ০.০
ফেস ট্র্যাকিং রেফারেন্স ছবি
গাল_চুষি_এল = ১.০
গাল চুষা_আর
নিরপেক্ষ মুখের রেফারেন্স ছবি
গাল_চুষি_আর = ০.০
ফেস ট্র্যাকিং রেফারেন্স ছবি
গাল_চুষি_আর = ১.০
চিন_রাইজার_বি
নিরপেক্ষ মুখের রেফারেন্স ছবি
চিন_রেজার_বি = ০.০
ফেস ট্র্যাকিং রেফারেন্স ছবি
চিন_রেজার_বি = ১.০
চিন_রাইজার_টি
নিরপেক্ষ মুখের রেফারেন্স ছবি
চিন_রেজার_টি = ০.০
ফেস ট্র্যাকিং রেফারেন্স ছবি
CHIN_RAISER_T = ১.০
১০ ডিম্পলার_এল
নিরপেক্ষ মুখের রেফারেন্স ছবি
ডিম্পলার_এল = ০.০
ফেস ট্র্যাকিং রেফারেন্স ছবি
ডিম্পলার_এল = ১.০
১১ ডিম্পলার_আর
নিরপেক্ষ মুখের রেফারেন্স ছবি
ডিম্পলার_আর = ০.০
ফেস ট্র্যাকিং রেফারেন্স ছবি
ডিম্পলার_আর = ১.০
১২ চোখ_বন্ধ_এল
নিরপেক্ষ মুখের রেফারেন্স ছবি
চোখ_বন্ধ_এল = ০.০
ফেস ট্র্যাকিং রেফারেন্স ছবি
চোখ_বন্ধ_এল = ১.০
১৩ চোখ_বন্ধ_আর
নিরপেক্ষ মুখের রেফারেন্স ছবি
চোখ_বন্ধ_আর = ০.০
ফেস ট্র্যাকিং রেফারেন্স ছবি
চোখ_বন্ধ_আর = ১.০
১৪ চোখ_দেখুন_নীচে_এল
নিরপেক্ষ মুখের রেফারেন্স ছবি
চোখ_দেখুন_নীচে_এল = ০.০
ফেস ট্র্যাকিং রেফারেন্স ছবি
চোখ_দেখুন_নীচে_এল = ১.০
১৫ চোখ_দেখো_নীচে_আর
নিরপেক্ষ মুখের রেফারেন্স ছবি
চোখ_দেখুন_নীচে_দিক = ০.০
ফেস ট্র্যাকিং রেফারেন্স ছবি
চোখ_দেখুন_নীচে_দিক = ১.০
১৬ চোখ_বাম_দিকে_দেখো
নিরপেক্ষ মুখের রেফারেন্স ছবি
চোখ_দেখুন_বাম_দিকে = ০.০
ফেস ট্র্যাকিং রেফারেন্স ছবি
চোখ_দেখুন_বাম_দিকে = ১.০
১৭ চোখ_বাম_দেখা
নিরপেক্ষ মুখের রেফারেন্স ছবি
চোখ_দেখুন_বাম_দিক = ০.০
ফেস ট্র্যাকিং রেফারেন্স ছবি
চোখ_দেখুন_বাম_দিক = ১.০
১৮ চোখ_ডান_দিকে_দেখো
নিরপেক্ষ মুখের রেফারেন্স ছবি
চোখ_দেখুন_ডান_দিকে = ০.০
ফেস ট্র্যাকিং রেফারেন্স ছবি
চোখ_ডান_দিকে_দেখুন = ১.০
১৯ চোখ_ডান_দেখো
নিরপেক্ষ মুখের রেফারেন্স ছবি
চোখ_দেখুন_ডান_দিক = ০.০
ফেস ট্র্যাকিং রেফারেন্স ছবি
চোখ_দেখুন_ডান_দিক = ১.০
২০ চোখ_উপর_দেখো
নিরপেক্ষ মুখের রেফারেন্স ছবি
চোখ_দেখুন_উপর_এল = ০.০
ফেস ট্র্যাকিং রেফারেন্স ছবি
চোখ_দেখুন_উপর_এল = ১.০
২১ চোখ_দেখো_উপর_আর
নিরপেক্ষ মুখের রেফারেন্স ছবি
চোখ_দেখুন_উপর_আর = ০.০
ফেস ট্র্যাকিং রেফারেন্স ছবি
চোখ_দেখুন_উপর_আর = ১.০
২২ ভিতরের_ব্রো_রাইজার_এল
নিরপেক্ষ মুখের রেফারেন্স ছবি
ভিতরের_ব্রো_রাইজার_এল = ০.০
ফেস ট্র্যাকিং রেফারেন্স ছবি
ভিতরের_ব্রো_রাইজার_এল = ১.০
২৩ ভিতরের_ব্রো_রাইজার_আর
নিরপেক্ষ মুখের রেফারেন্স ছবি
ভিতরের_ব্রো_রাইজার_আর = ০.০
ফেস ট্র্যাকিং রেফারেন্স ছবি
ভিতরের_ব্রো_রাইজার_আর = ১.০
২৪ জ্যাড_ড্রপ
নিরপেক্ষ মুখের রেফারেন্স ছবি
JAW_DROP = ০.০
ফেস ট্র্যাকিং রেফারেন্স ছবি
JAW_DROP = ১.০
২৫ চোয়াল_পাশ_বাম
নিরপেক্ষ মুখের রেফারেন্স ছবি
চোয়াল_পাশ_বাম = ০.০
ফেস ট্র্যাকিং রেফারেন্স ছবি
চোয়াল_পাশ_বাম = ১.০
২৬ চোয়ালের পাশের ডান দিক
নিরপেক্ষ মুখের রেফারেন্স ছবি
চোয়াল_পাশ_ডান = ০.০
ফেস ট্র্যাকিং রেফারেন্স ছবি
চোয়াল_পাশ_ডান = ১.০
২৭ চোয়ালের থ্রুস্ট
নিরপেক্ষ মুখের রেফারেন্স ছবি
জবা_থ্রুস্ট = ০.০
ফেস ট্র্যাকিং রেফারেন্স ছবি
জবা_থ্রুস্ট = ১.০
২৮ ঢাকনা_টাইটনার_এল
নিরপেক্ষ মুখের রেফারেন্স ছবি
ঢাকনা_টাইটনার_এল = ০.০
ফেস ট্র্যাকিং রেফারেন্স ছবি
ঢাকনা_টাইটনার_এল = ১.০
২৯ ঢাকনা_টাইটনার_আর
নিরপেক্ষ মুখের রেফারেন্স ছবি
ঢাকনা_টাইটনার_আর = ০.০
ফেস ট্র্যাকিং রেফারেন্স ছবি
ঢাকনা_টাইটনার_আর = ১.০
৩০ লিপ_কর্নার_ডিপ্রেসর_এল
নিরপেক্ষ মুখের রেফারেন্স ছবি
লিপ_কর্নার_ডিপ্রেসর_এল = ০.০
ফেস ট্র্যাকিং রেফারেন্স ছবি
লিপ_কর্নার_ডিপ্রেসর_এল = ১.০
৩১ লিপ_কর্নার_ডিপ্রেসর_আর
নিরপেক্ষ মুখের রেফারেন্স ছবি
লিপ_কর্নার_ডিপ্রেসর_আর = ০.০
ফেস ট্র্যাকিং রেফারেন্স ছবি
লিপ_কর্নার_ডিপ্রেসর_আর = ১.০
৩২ ঠোঁট_কর্নার_পালার_এল
নিরপেক্ষ মুখের রেফারেন্স ছবি
লিপ_কর্নার_পুলার_এল = ০.০
ফেস ট্র্যাকিং রেফারেন্স ছবি
লিপ_কর্নার_পুলার_এল = ১.০
৩৩ লিপ_কর্নার_পালার_আর
নিরপেক্ষ মুখের রেফারেন্স ছবি
LIP_CORNER_PULLER_R = ০.০
ফেস ট্র্যাকিং রেফারেন্স ছবি
LIP_CORNER_PULLER_R = ১.০
৩৪ লিপ_ফানেলার_এলবি
নিরপেক্ষ মুখের রেফারেন্স ছবি
LIP_FUNNELER_LB = ০.০
ফেস ট্র্যাকিং রেফারেন্স ছবি
LIP_FUNNELER_LB = ১.০
৩৫ লিপ_ফানেলার_এলটি
নিরপেক্ষ মুখের রেফারেন্স ছবি
LIP_FUNNELER_LT = ০.০
ফেস ট্র্যাকিং রেফারেন্স ছবি
LIP_FUNNELER_LT = ১.০
৩৬ লিপ_ফানেলার_আরবি
নিরপেক্ষ মুখের রেফারেন্স ছবি
LIP_FUNNELER_RB = ০.০
ফেস ট্র্যাকিং রেফারেন্স ছবি
LIP_FUNNELER_RB = ১.০
৩৭ লিপ_ফানেলার_আরটি
নিরপেক্ষ মুখের রেফারেন্স ছবি
LIP_FUNNELER_RT = ০.০
ফেস ট্র্যাকিং রেফারেন্স ছবি
LIP_FUNNELER_RT = ১.০
৩৮ লিপ_প্রেসর_এল
নিরপেক্ষ মুখের রেফারেন্স ছবি
লিপ_প্রেসার_এল = ০.০
ফেস ট্র্যাকিং রেফারেন্স ছবি
লিপ_প্রেসার_এল = ১.০
৩৯ লিপ_প্রেসর_আর
নিরপেক্ষ মুখের রেফারেন্স ছবি
লিপ_প্রেসার_আর = ০.০
ফেস ট্র্যাকিং রেফারেন্স ছবি
লিপ_প্রেসার_আর = ১.০
৪০ লিপ_পাকার_এল
নিরপেক্ষ মুখের রেফারেন্স ছবি
লিপ_পাকার_এল = ০.০
ফেস ট্র্যাকিং রেফারেন্স ছবি
লিপ_পাকার_এল = ১.০
৪১ লিপ_পাকার_আর
নিরপেক্ষ মুখের রেফারেন্স ছবি
LIP_PUCKER_R = ০.০
ফেস ট্র্যাকিং রেফারেন্স ছবি
LIP_PUCKER_R = ১.০
৪২ লিপ_স্ট্রেচার_এল
নিরপেক্ষ মুখের রেফারেন্স ছবি
লিপ_স্ট্রেচার_এল = ০.০
ফেস ট্র্যাকিং রেফারেন্স ছবি
লিপ_স্ট্রেচার_এল = ১.০
৪৩ লিপ_স্ট্রেচার_আর
নিরপেক্ষ মুখের রেফারেন্স ছবি
লিপ_স্ট্রেচার_আর = ০.০
ফেস ট্র্যাকিং রেফারেন্স ছবি
লিপ_স্ট্রেচার_আর = ১.০
৪৪ লিপ_সাক_এলবি
নিরপেক্ষ মুখের রেফারেন্স ছবি
লিপ_সাক_পাউন্ড = ০.০
ফেস ট্র্যাকিং রেফারেন্স ছবি
লিপ_সাক_পাউন্ড = ১.০
৪৫ লিপ_সাক_এলটি
নিরপেক্ষ মুখের রেফারেন্স ছবি
লিপ_সাক_এলটি = ০.০
ফেস ট্র্যাকিং রেফারেন্স ছবি
লিপ_সাক_এলটি = ১.০
৪৬ লিপ_সাক_আরবি
নিরপেক্ষ মুখের রেফারেন্স ছবি
লিপ_সাক_আরবি = ০.০
ফেস ট্র্যাকিং রেফারেন্স ছবি
লিপ_সাক_আরবি = ১.০
৪৭ লিপ_সাক_আরটি
নিরপেক্ষ মুখের রেফারেন্স ছবি
লিপ_সাক_আরটি = ০.০
ফেস ট্র্যাকিং রেফারেন্স ছবি
লিপ_সাক_আরটি = ১.০
৪৮ লিপ_টাইটনার_এল
নিরপেক্ষ মুখের রেফারেন্স ছবি
লিপ_টাইটনার_এল = ০.০
ফেস ট্র্যাকিং রেফারেন্স ছবি
লিপ_টাইটনার_এল = ১.০
৪৯ লিপ_টাইটনার_আর
নিরপেক্ষ মুখের রেফারেন্স ছবি
লিপ_টাইটনার_আর = ০.০
ফেস ট্র্যাকিং রেফারেন্স ছবি
লিপ_টাইটনার_আর = ১.০
৫০ লিপস_টাওয়ার্ড
নিরপেক্ষ মুখের রেফারেন্স ছবি
LIPS_TOWARD = ০.০
ফেস ট্র্যাকিং রেফারেন্স ছবি
JAW_DROP = 1.0 এবং LIPS_TOWARD = 1.0
৫১ নিম্ন_লিপ_ডিপ্রেসর_এল
নিরপেক্ষ মুখের রেফারেন্স ছবি
LOWER_LIP_DEPRESSOR_L = ০.০
ফেস ট্র্যাকিং রেফারেন্স ছবি
LOWER_LIP_DEPRESSOR_L = ১.০
৫২ লোয়ার_লিপ_ডিপ্রেসর_আর
নিরপেক্ষ মুখের রেফারেন্স ছবি
LOWER_LIP_DEPRESSOR_R = ০.০
ফেস ট্র্যাকিং রেফারেন্স ছবি
LOWER_LIP_DEPRESSOR_R = ১.০
৫৩ মুখ_বাম
নিরপেক্ষ মুখের রেফারেন্স ছবি
মুখ_বাম = ০.০
ফেস ট্র্যাকিং রেফারেন্স ছবি
মুখ_বাম = ১.০
৫৪ মুখের ডানদিকে
নিরপেক্ষ মুখের রেফারেন্স ছবি
মুখ_ডান = ০.০
ফেস ট্র্যাকিং রেফারেন্স ছবি
মুখ_রাইট = ১.০
৫৫ নাক_কুঁচকানো_এল
নিরপেক্ষ মুখের রেফারেন্স ছবি
নাক_কুঁচকানো_এল = ০.০
ফেস ট্র্যাকিং রেফারেন্স ছবি
নাক_কুঁচকানো_এল = ১.০
৫৬ নাক_কুঁচকানো_আর
নিরপেক্ষ মুখের রেফারেন্স ছবি
নাক_কুঁচকানো_আর = ০.০
ফেস ট্র্যাকিং রেফারেন্স ছবি
নাক_কুঁচকানো_আর = ১.০
৫৭ বাইরের_ব্রো_রাইজার_এল
নিরপেক্ষ মুখের রেফারেন্স ছবি
বাইরের_ব্রো_রেজার_এল = ০.০
ফেস ট্র্যাকিং রেফারেন্স ছবি
বাইরের_ব্রো_রেজার_এল = ১.০
৫৮ বাইরের_ব্রো_রাইজার_আর
নিরপেক্ষ মুখের রেফারেন্স ছবি
বাইরের_ব্রো_রেজার_আর = ০.০
ফেস ট্র্যাকিং রেফারেন্স ছবি
বাইরের_ব্রো_রেজার_আর = ১.০
৫৯ উপরের_ঢাকনা_রাইজার_এল
নিরপেক্ষ মুখের রেফারেন্স ছবি
উপরের_ঢাকনা_RAISER_L = ০.০
ফেস ট্র্যাকিং রেফারেন্স ছবি
উপরের_ঢাকনা_RAISER_L = ১.০
৬০ উপরের_ঢাকনা_রাইজার_আর
নিরপেক্ষ মুখের রেফারেন্স ছবি
UPPER_LID_RAISER_R = 0.0
ফেস ট্র্যাকিং রেফারেন্স ছবি
UPPER_LID_RAISER_R = ১.০
৬১ আপপার_লিপ_রাইজার_এল
নিরপেক্ষ মুখের রেফারেন্স ছবি
UPPER_LIP_RAISER_L = ০.০
ফেস ট্র্যাকিং রেফারেন্স ছবি
UPPER_LIP_RAISER_L = ১.০
৬২ আপপার_লিপ_রাইজার_আর
নিরপেক্ষ মুখের রেফারেন্স ছবি
UPPER_LIP_RAISER_R = ০.০
ফেস ট্র্যাকিং রেফারেন্স ছবি
UPPER_LIP_RAISER_R = ১.০
৬৩ জিহ্বা বের করা
নিরপেক্ষ মুখের রেফারেন্স ছবি
জিহ্বা_আউট = ০.০
ফেস ট্র্যাকিং রেফারেন্স ছবি
জিহ্বা_আউট = ১.০
৬৪ জিহ্বা_বাম
নিরপেক্ষ মুখের রেফারেন্স ছবি
জিহ্বা_বাম = ০.০
ফেস ট্র্যাকিং রেফারেন্স ছবি
জিহ্বা_বাম = ১.০
৬৫ জিহ্বা_ডান
নিরপেক্ষ মুখের রেফারেন্স ছবি
জিহ্বা_ডান = ০.০
ফেস ট্র্যাকিং রেফারেন্স ছবি
জিহ্বা_ডান = ১.০
৬৬ জিহ্বা_উপরে
নিরপেক্ষ মুখের রেফারেন্স ছবি
জিহ্বা_উপর = ০.০
ফেস ট্র্যাকিং রেফারেন্স ছবি
জিহ্বা_উপর = ১.০
৬৭ জিহ্বা_ডাউন
নিরপেক্ষ মুখের রেফারেন্স ছবি
জিহ্বা_ডাউন = ০.০
ফেস ট্র্যাকিং রেফারেন্স ছবি
জিহ্বা_ডাউন = ১.০

ফেস ট্র্যাকিংয়ের জন্য উদাহরণ কোড

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

XrInstance instance; // previously initialized
XrSystemId systemId; // previously initialized
XrSession session; // previously initialized, e.g. 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

// Inspect system capability
XrSystemProperties properties{XR_TYPE_SYSTEM_PROPERTIES};
XrSystemFaceTrackingPropertiesANDROID faceTrackingProperties{XR_TYPE_SYSTEM_FACE_TRACKING_PROPERTIES_ANDROID};
properties.next = &faceTrackingProperties;
CHK_XR(xrGetSystemProperties(instance, systemId, &properties));
if (!faceTrackingProperties.supportsFaceTracking) {
  // face tracking is not supported.
  return;
}

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:
XrBool32 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;
float regionConfidences[XR_FACE_REGION_CONFIDENCE_COUNT_ANDROID];
faceState.regionConfidencesCapacityInput = XR_FACE_REGION_CONFIDENCE_COUNT_ANDROID;
faceState.regionConfidences = regionConfidences;

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,
    };

    CHK_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
        }
        for (uint32_t i = 0; i < XR_FACE_REGION_CONFIDENCE_COUNT_ANDROID; ++i) {
            // regionConfidences[i] contains a confidence value of a specific region
        }
    }
}

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

নতুন বস্তুর ধরণ

নতুন এনাম ধ্রুবক

  • 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
  • XR_TYPE_SYSTEM_FACE_TRACKING_PROPERTIES_ANDROID

নতুন এনাম

নতুন কাঠামো

নতুন ফাংশন

ইস্যু

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

  • রিভিশন 1, 2024-09-05 (লেভানা চেন)
    • প্রাথমিক এক্সটেনশনের বিবরণ
  • সংশোধন ২, ২০২৫-০৪-০১ (কেনি ভার্কেমার)
    • মুখের আত্মবিশ্বাসের অঞ্চল যোগ করা হয়েছে
  • সংশোধন 3, 2025-06-04 (লেভানা চেন)
    • নতুন ত্রুটি কোড যোগ করা হয়েছে।

OpenXR™ এবং OpenXR লোগো হল The Khronos Group Inc. এর মালিকানাধীন ট্রেডমার্ক এবং চীন, ইউরোপীয় ইউনিয়ন, জাপান এবং যুক্তরাজ্যে ট্রেডমার্ক হিসেবে নিবন্ধিত।