এআর ফাউন্ডেশনের জন্য অগমেন্টেড ফেস ডেভেলপার গাইড

আপনার নিজের অ্যাপে মানুষের মুখের উপরে সম্পদ রেন্ডার করতে কীভাবে অগমেন্টেড ফেস ব্যবহার করবেন তা শিখুন।

পূর্বশর্ত

এগিয়ে যাওয়ার আগে নিশ্চিত করুন যে আপনি মৌলিক AR ধারণা এবং কীভাবে একটি ARCore সেশন কনফিগার করবেন তা বুঝতে পেরেছেন।

মুখ সনাক্ত করুন

মুখগুলি ARFace বস্তু দ্বারা প্রতিনিধিত্ব করা হয় যেগুলি ARFaceManager দ্বারা তৈরি, আপডেট করা এবং সরানো হয়। একবার প্রতি ফ্রেমে, ARFaceManager একটি facesChanged ইভেন্ট আহ্বান করে যাতে তিনটি তালিকা থাকে: যে মুখগুলি যুক্ত করা হয়েছে, যে মুখগুলি আপডেট করা হয়েছে এবং যে মুখগুলি শেষ ফ্রেমের পর থেকে সরানো হয়েছে৷ যখন ARFaceManager দৃশ্যে একটি মুখ শনাক্ত করে, তখন এটি মুখটি ট্র্যাক করার জন্য একটি ARFace উপাদান সংযুক্ত করে একটি প্রিফ্যাবকে ইনস্ট্যান্টিয়েট করবে। Prefab null রাখা যেতে পারে।

ARFaceManager সেট আপ করতে, একটি নতুন গেম অবজেক্ট তৈরি করুন এবং এতে ARFaceManager যোগ করুন।

Face Prefab হল মুখের কেন্দ্রের ভঙ্গিতে প্রিফ্যাব ইনস্ট্যান্টিয়েট করা। Maximum Face Count ট্র্যাক করা যেতে পারে এমন মুখগুলির সর্বাধিক পরিমাণকে প্রতিনিধিত্ব করে৷

শনাক্ত করা মুখগুলি অ্যাক্সেস করুন৷

ARFace কম্পোনেন্টের মাধ্যমে সনাক্ত করা মুখগুলি অ্যাক্সেস করুন, যা ফেস প্রিফ্যাবের সাথে সংযুক্ত। ARFace শীর্ষবিন্দু, সূচক, শীর্ষবিন্দু স্বাভাবিক এবং টেক্সচার স্থানাঙ্ক প্রদান করে।

শনাক্ত করা মুখের অংশ

অগমেন্টেড ফেস এপিআই একটি কেন্দ্রের ভঙ্গি, তিনটি অঞ্চলের ভঙ্গি এবং একটি 3D ফেস মেশ প্রদান করে।

কেন্দ্র ভঙ্গি

কেন্দ্রের ভঙ্গি, যা ব্যবহারকারীর মাথার কেন্দ্রকে চিহ্নিত করে, এটি ARFaceManager দ্বারা তাত্ক্ষণিক প্রিফ্যাবের মূল বিন্দু। এটি নাকের পিছনে, খুলির ভিতরে অবস্থিত।

কেন্দ্রের ভঙ্গির অক্ষগুলি নিম্নরূপ:

  • ধনাত্মক X-অক্ষ (X+) বাম কানের দিকে নির্দেশ করে
  • ইতিবাচক Y-অক্ষ (Y+) মুখের বাইরের দিকে উপরের দিকে নির্দেশ করে
  • ধনাত্মক Z-অক্ষ (Z+) মাথার কেন্দ্রে নির্দেশ করে

অঞ্চল ভঙ্গি

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

অঞ্চলের ভঙ্গিগুলি ব্যবহার করতে, ARFaceManager এর সাবসিস্টেমকে ARCoreFaceSubsystem এ নামিয়ে দিন এবং প্রতিটি অঞ্চলের জন্য পোজ তথ্য পেতে subsystem.GetRegionPoses() ব্যবহার করুন৷ এটি কীভাবে করবেন তার একটি উদাহরণের জন্য, GitHub-এ ইউনিটির ব্যবহারের নমুনা দেখুন।

3D ফেস মেশ

ফেস মেশ 468 পয়েন্ট নিয়ে গঠিত যা একটি মানুষের মুখ তৈরি করে। এটি কেন্দ্রের ভঙ্গির সাথে সম্পর্কিতও সংজ্ঞায়িত করা হয়।

মুখের জালটি কল্পনা করতে, Face Prefab সাথে একটি ARFaceMeshVisualizer সংযুক্ত করুন। ARFaceMeshVisualizer একটি Mesh তৈরি করবে যা সনাক্ত করা মুখের সাথে মিলে যায়, এটি সংযুক্ত MeshFilter s এবং MeshCollider s-এ জাল হিসাবে সেট করে। মুখ রেন্ডার করতে ব্যবহৃত Material সেট করতে একটি MeshRenderer ব্যবহার করুন।

AR Default Face Prefab সনাক্ত করা ফেস মেশগুলিতে একটি ডিফল্ট উপাদান রেন্ডার করে।

AR ডিফল্ট ফেস ব্যবহার শুরু করতে এই ধাপগুলি অনুসরণ করুন:

  1. একটি ARFaceManager সেট আপ করুন।
  2. Hierarchy ট্যাবে, একটি নতুন মুখ বস্তু তৈরি করতে + > XR > AR Default Face ব্যবহার করুন। এই বস্তুটি অস্থায়ী এবং আপনি একবার ফেস প্রিফ্যাব তৈরি করলে মুছে ফেলা যেতে পারে।

  3. ইন্সপেক্টরে AR Default Face অ্যাক্সেস করুন।

  4. একটি প্রিফ্যাব তৈরি করতে Hierarchy ট্যাব থেকে Project Assets উইন্ডোতে নতুন তৈরি করা AR ডিফল্ট মুখটি টেনে আনুন।

  5. ARFaceManager এর Face Prefab ফিল্ডে নতুন তৈরি করা প্রিফ্যাবটিকে ফেস প্রিফ্যাব হিসাবে সেট করুন।

  6. Hierarchy ট্যাবে, মুখের বস্তুটি মুছুন, কারণ এটির আর প্রয়োজন নেই।

ফেস মেশের পৃথক শীর্ষবিন্দু অ্যাক্সেস করুন

ফেস মেশের শীর্ষবিন্দুগুলির অবস্থানগুলি অ্যাক্সেস করতে face.vertices ব্যবহার করুন৷ সংশ্লিষ্ট vertex normals অ্যাক্সেস করতে face.normals ব্যবহার করুন।

মুখের জালের পৃথক শীর্ষবিন্দু কল্পনা করুন

ফেস মেশের শীর্ষবিন্দুর সাথে সঙ্গতিপূর্ণ সূচক সংখ্যাগুলি সহজেই দেখতে আপনি ব্লেন্ডার ব্যবহার করতে পারেন:

  1. ব্লেন্ডার খুলুন এবং GitHub থেকে canonical_face_mesh.fbx আমদানি করুন।
  2. Edit > Preferences > Interface নেভিগেট করুন।
  3. Display মেনুর অধীনে, Developer Extras নির্বাচন করুন।

  4. 3D ভিউপোর্টে ক্লিক করে মুখটি নির্বাচন করুন এবং সম্পাদনা মোডে প্রবেশ করতে ট্যাব টিপুন।

  5. Overlays ভিউপোর্টের পাশে ড্রপ-ডাউন মেনু খুলুন এবং Indices নির্বাচন করুন।

    ব্লেন্ডার ফেস মেশ সূচক

  6. শীর্ষবিন্দু হাইলাইট করুন যার সূচক নম্বর আপনি নির্ধারণ করতে চান। সমস্ত শীর্ষবিন্দু হাইলাইট করতে, Select > All ব্যবহার করুন।