নাম স্ট্রিং
XR_ANDROID_face_tracking
এক্সটেনশন প্রকার
ইনস্ট্যান্স এক্সটেনশন
নিবন্ধিত এক্সটেনশন নম্বর
459
রিভিশন
1
এক্সটেনশন এবং সংস্করণ নির্ভরতা
সর্বশেষ সংশোধিত তারিখ
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 হ্যান্ডেল তৈরি করার তথ্য বর্ণনা করে।
বৈধ ব্যবহার (অন্তর্নিহিত)
-
XR_ANDROID_face_tracking
এক্সটেনশনটি অবশ্যই XrFaceTrackerCreateInfoANDROID ব্যবহার করার আগে সক্রিয় করতে হবে -
type
XR_TYPE_FACE_TRACKER_CREATE_INFO_ANDROID
হতে হবে -
next
অবশ্যইNULL
বা একটি কাঠামোর চেইনের পরবর্তী কাঠামোর জন্য একটি বৈধ পয়েন্টার হতে হবে
xrDestroyFaceTrackerANDROID ফাংশনটি এইভাবে সংজ্ঞায়িত করা হয়েছে:
XrResult xrDestroyFaceTrackerANDROID(
XrFaceTrackerANDROID faceTracker);
পরামিতি বিবরণ
-
faceTracker
হল একটি XrFaceTrackerANDROID যা পূর্বে xrCreateFaceTrackerANDROID দ্বারা তৈরি।
ফেস ট্র্যাকিং অভিজ্ঞতা শেষ হলে xrDestroyFaceTrackerANDROID ফাংশন faceTracker
এবং অন্তর্নিহিত সংস্থানগুলি প্রকাশ করে৷
বৈধ ব্যবহার (অন্তর্নিহিত)
-
XR_ANDROID_face_tracking
এক্সটেনশনটি অবশ্যই xrDestroyFaceTrackerANDROID কল করার আগে সক্রিয় করতে হবে -
faceTracker
অবশ্যই একটি বৈধ XrFaceTrackerANDROID হ্যান্ডেল হতে হবে৷
থ্রেড নিরাপত্তা
-
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
যেখানে মুখের অভিব্যক্তি অনুরোধ করা হয়।
অ্যাপ্লিকেশনগুলিকে রেন্ডার করা ফ্রেমের জন্য পূর্বাভাসিত প্রদর্শন সময়ের সমান সময়ের অনুরোধ করা উচিত ।
বৈধ ব্যবহার (অন্তর্নিহিত)
-
XR_ANDROID_face_tracking
এক্সটেনশনটি অবশ্যই XrFaceStateGetInfoANDROID ব্যবহার করার আগে সক্রিয় করতে হবে -
type
XR_TYPE_FACE_STATE_GET_INFO_ANDROID
হতে হবে -
next
অবশ্যইNULL
বা একটি কাঠামোর চেইনের পরবর্তী কাঠামোর জন্য একটি বৈধ পয়েন্টার হতে হবে
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_ANDROID
এ parametersCapacityInput
সেট করতে পারে যা XrFaceParameterIndicesANDROID দ্বারা সূচিত করা হয়েছে।
প্রত্যাবর্তিত parameters
বর্তমান মুখের অভিব্যক্তিগুলির মিশ্রণের আকারের ওজনকে উপস্থাপন করে।
parameters
অ্যারে আপডেটগুলি অর্ডার করা হবে যাতে অ্যাপ্লিকেশনটি সংশ্লিষ্ট মুখের অভিব্যক্তি enum ব্যবহার করে উপাদানগুলিকে সূচী করতে পারে (যেমন XrFaceParameterIndicesANDROID )।
বৈধ ব্যবহার (অন্তর্নিহিত)
-
XR_ANDROID_face_tracking
এক্সটেনশনটি অবশ্যই XrFaceStateANDROID ব্যবহার করার আগে সক্রিয় করতে হবে -
type
XR_TYPE_FACE_STATE_ANDROID
হতে হবে -
next
অবশ্যইNULL
বা একটি কাঠামোর চেইনের পরবর্তী কাঠামোর জন্য একটি বৈধ পয়েন্টার হতে হবে - যদি
parametersCapacityInput
0, parameters
অবশ্যইparametersCapacityInput 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;
enums নিম্নলিখিত অর্থ আছে:
এনাম | বর্ণনা |
| ইঙ্গিত করে যে ফেস ট্র্যাকিং পজ করা হয়েছে কিন্তু ভবিষ্যতে আবার শুরু করা হতে পারে। |
| ট্র্যাকিং বন্ধ হয়ে গেছে কিন্তু ক্লায়েন্টের এখনও একটি সক্রিয় ফেস ট্র্যাকার রয়েছে৷ |
| মুখটি ট্র্যাক করা হয় এবং এর ভঙ্গি বর্তমান। |
মিশ্রিত আকারের নিয়মাবলী
এই এক্সটেনশনটি 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 | ||
1 | BROW_LOWERER_R | ||
2 | CHEEK_PUFF_L | ||
3 | CHEEK_PUFF_R | ||
4 | CHEEK_RAISER_L | ||
5 | CHEEK_RAISER_R | ||
6 | CHEEK_SUCK_L | ||
7 | CHEEK_SUCK_R | ||
8 | CHIN_RAISER_B | ||
9 | CHIN_RAISER_T | ||
10 | DIMPLER_L | ||
11 | DIMPLER_R | ||
12 | EYES_CLOSED_L | ||
13 | EYES_CLOSED_R | ||
14 | EYES_LOOK_DOWN_L | ||
15 | EYES_LOOK_DOWN_R | ||
16 | EYES_LOOK_LEFT_L | ||
17 | EYES_LOOK_LEFT_R | ||
18 | EYES_LOOK_RIGHT_L | ||
19 | EYES_LOOK_RIGHT_R | ||
20 | চোখ_লোক_UP_L | ||
21 | চোখ_লোক_আপ_আর | ||
22 | INNER_BROW_RAISER_L | ||
23 | INNER_BROW_RAISER_R | ||
24 | JAW_DROP | ||
25 | JAW_SIDEWAYS_LEFT | ||
26 | JAW_SIDEWAYS_RIGHT | ||
27 | JAW_THRUST | ||
28 | LID_TIGHTENER_L | ||
29 | LID_TIGHTENER_R | ||
30 | LIP_CORNER_DEPRESSOR_L | ||
31 | LIP_CORNER_DEPRESSOR_R | ||
32 | LIP_CORNER_PULLER_L | ||
33 | LIP_CORNER_PULLER_R | ||
34 | LIP_FUNNELER_LB | ||
35 | LIP_FUNNELER_LT | ||
36 | LIP_FUNNELER_RB | ||
37 | LIP_FUNNELER_RT | ||
38 | LIP_PRESSOR_L | ||
39 | LIP_PRESSOR_R | ||
40 | LIP_PUCKER_L | ||
41 | LIP_PUCKER_R | ||
42 | LIP_STRETCHER_L | ||
43 | LIP_STRETCHER_R | ||
44 | LIP_SUCK_LB | ||
45 | LIP_SUCK_LT | ||
46 | LIP_SUCK_RB | ||
47 | LIP_SUCK_RT | ||
48 | LIP_TIGHTENER_L | ||
49 | LIP_TIGHTENER_R | ||
50 | LIPS_TOWARD | ||
51 | LOWER_LIP_DEPRESSOR_L | ||
52 | LOWER_LIP_DEPRESSOR_R | ||
53 | MOUTH_LEFT | ||
54 | MOUTH_RIGHT | ||
55 | NOSE_WRINKLER_L | ||
56 | NOSE_WRINKLER_R | ||
57 | OUTER_BROW_RAISER_L | ||
58 | OUTER_BROW_RAISER_R | ||
59 | UPPER_LID_RAISER_L | ||
60 | UPPER_LID_RAISER_R | ||
61 | UPPER_LIP_RAISER_L | ||
62 | UPPER_LIP_RAISER_R |
মুখ ট্র্যাকিং জন্য উদাহরণ কোড
নিম্নলিখিত উদাহরণ কোডটি দেখায় কিভাবে মুখের অভিব্যক্তি মিশ্রিত আকারের জন্য সমস্ত ওজন পেতে হয়।
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
নতুন কাঠামো
নতুন ফাংশন
- xrCreateFaceTrackerANDROID
- xrDestroyFaceTrackerANDROID
- xrGetFaceStateANDROID
- xrGetFaceCalibrationStateANDROID
ইস্যু
সংস্করণ ইতিহাস
- রিভিশন 1, 2024-09-05 (লেভানা চেন)
- প্রাথমিক এক্সটেনশন বর্ণনা