অ্যান্ড্রয়েডকে লক্ষ্য করে এআর ফাউন্ডেশনে রেকর্ড করার সময় কাস্টম ডেটা যোগ করুন

রেকর্ডিং এবং প্লেব্যাক API আপনাকে একটি সেশন রেকর্ড করতে এবং এটি একটি রিয়েল-টাইম ক্যামেরা ফিডের জায়গায় ব্যবহার করতে দেয়। যাইহোক, এই রেকর্ডিংগুলিতে শুধুমাত্র ভিডিও এবং সেন্সর ডেটা থাকে৷ আপনি একটি সেশন রেকর্ডিংয়ে কাস্টম ডেটা যোগ করতে পারেন এবং প্লেব্যাকের সময় ডেটা আপনার কাছে ফেরত দিতে পারেন, যেন এটি একটি ক্যামেরা চিত্রের অংশ।

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

কাস্টম ডেটার জন্য কেস ব্যবহার করুন

রেকর্ডিংয়ে কাস্টম ডেটা যোগ করা আপনার AR অ্যাপের সম্ভাবনাকে প্রসারিত করে। নিম্নলিখিত কিছু নির্দিষ্ট ব্যবহারের ক্ষেত্রে আছে.

যেতে যেতে AR ব্যবহার করুন

অতীতে, ব্যবহারকারীরা শুধুমাত্র সঠিক জায়গায় এবং সঠিক সময়ে AR অভিজ্ঞতা অ্যাক্সেস করতে পারত। যদি তারা তাদের লিভিং রুমে একটি এআর বাতি রাখতে চায়, তবে সেখানে ল্যাম্পটি দেখতে কেমন হতে পারে তা দেখতে তাদের শারীরিকভাবে অবস্থানে দাঁড়াতে হবে। কাস্টম ট্র্যাকগুলির সাহায্যে, তারা তাদের বসার ঘরটি একবার রেকর্ড করতে পারে এবং যখনই তারা মনে হয় দৃশ্যে ভার্চুয়াল আসবাবপত্র যোগ করতে পারে।

AR অভিজ্ঞতা সহ-তৈরি করুন

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

পূর্বশর্ত

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

কাস্টম ডেটা সহ একটি রেকর্ডিং শুরু করুন

কাস্টম ডেটা সহ একটি রেকর্ডিং শুরু করতে এই পদক্ষেপগুলি অনুসরণ করুন৷ একটি রেকর্ডিং সেশন শুরু করতে, থামাতে এবং পরীক্ষা করতে, অনুগ্রহ করে একটি এআর সেশন রেকর্ড এবং প্লে ব্যাক দেখুন।

  1. একটি ARCoreRecordingConfig পান।
  2. একটি কাস্টম UUID দিয়ে একটি নতুন Track তৈরি করুন৷ সমস্ত কাস্টম ডেটা এখানে সংরক্ষণ করা হবে।
  3. ARCoreRecordingConfigTrack যোগ করুন যা আপনি সেশন কনফিগারেশনের সময় তৈরি করেছেন।
// Initialize a new track with a custom UUID.
// Make sure to save the UUID because it is the ID that you will use
// to get your data back during playback.
var track = new Track {
 Id = Guid.Parse("de5ec7a4-09ec-4c48-b2c3-a98b66e71893") // from UUID generator
};

// Add the Track to the recordingConfig.
// recordingConfig must already be configured.
List<Track> tracks = new List<Track>();
tracks.Add(track);
recordingConfig.Tracks = tracks;

সমস্ত নতুন ট্র্যাক আলাদা রেকর্ডিং হিসাবে গণ্য করা হয়, প্রতিটি রেকর্ড করা ট্র্যাক নিজস্ব UUID দখল করে।

অতিরিক্ত ডেটা দিয়ে ট্র্যাক কনফিগার করুন

অতিরিক্ত ডেটা সহ ট্র্যাক কনফিগার করুন যা সেশন রেকর্ডিং বর্ণনা করে। উদাহরণস্বরূপ, আপনি একটি নোট যোগ করে একটি ট্র্যাককে "ট্যাগ" করতে পারেন যা আপনি সেশনটি রেকর্ড করেছেন এমন অবস্থান এবং সময় বর্ণনা করে: "এই সেশনটি বিকেলে মলে রেকর্ড করা হয়েছিল।"

// Set additional data on this track.
// For example, describe where you recorded the session.
byte[] metadata = ...
track.Metadata = metadata;

একটি MIME প্রকারের সাথে ট্র্যাকটি কনফিগার করুন৷

একটি MIME প্রকারের সাথে একটি ট্র্যাক কনফিগার করুন যা বহিরাগত সরঞ্জামগুলির সাথে সামঞ্জস্যের জন্য ট্র্যাকে রেকর্ড করা ডেটার প্রকার বর্ণনা করে৷

যদি আপনি একটি প্রকার নির্দিষ্ট না করেন, ডেটা application/text হিসাবে শ্রেণীবদ্ধ করা হবে। ডেটা পড়ার সময় ARCore MIME প্রকার উপেক্ষা করে।

// Set a MIME type for compatibility with external tools.
track.MimeType = "text/csv";

কাস্টম ডেটা ট্র্যাক রেকর্ড করুন

সমস্ত কাস্টম ট্র্যাক ডেটা ফ্রেমে রেকর্ড করা হয়। যে সময়ে আপনি একটি ফ্রেমে ডেটা রেকর্ড করেন সেই একই সময়ে প্লেব্যাকের সময় ডেটা ফেরত দেওয়া হবে। উদাহরণস্বরূপ, আপনি যদি 00:07:02 এ “A” মান সহ RecordTrackData() কল করেন, ট্র্যাকটি প্লে ব্যাক হলে আপনি 00:07:02 চিহ্নে “A” ফিরে পাবেন।

একটি কাস্টম ডেটা ট্র্যাক রেকর্ড করতে, RecordTrackData() কল করুন।

// Place an AR lamp in a room.
if (placeLampButtonWasPressed) {
  // Convert the lamp data into a byte array.
  var lampData = new byte[] { (byte) Lamp.FLOOR };  // a floor lamp
  recordingManager.RecordTrackData(trackGuid, lampData);
}

কাস্টম ডেটা ট্র্যাকগুলি প্লে ব্যাক করুন

প্লেব্যাকের সময় একটি সেশন রেকর্ডিং থেকে কাস্টম ডেটা বের করুন।

একটি প্লেব্যাক শুরু করুন

কাস্টম ডেটা সহ একটি প্লেব্যাক শুরু করা একটি নিয়মিত সেশন রেকর্ডিংয়ের প্লেব্যাক শুরু করার মতোই৷

কাস্টম ডেটা ফেরত দিন

একটি ফ্রেমে রেকর্ড করা কাস্টম ডেটা পুনরুদ্ধার করতে GetUpdatedTrackData() কল করুন। একই ফ্রেম থেকে একাধিক ট্র্যাক ডেটা পুনরুদ্ধার করা সম্ভব। উদাহরণস্বরূপ, আপনি যদি রেকর্ডিংয়ের সময় একই ফ্রেমে RecordTrackData() দুইবার কল করেন, তাহলে আপনি প্লেব্যাকের সময় TrackData দুটি উদাহরণ ফিরে পাবেন।

// Fetch the data recorded on a select frame and place it in a
// container object.
var trackDataList = recordingManager.GetUpdatedTrackData(trackGuid);

একবার TrackData একটি কন্টেইনার অবজেক্টে থাকলে, কাস্টম ডেটার বাইটগুলি বের করুন।

// Extract the bytes of custom data from the list of track data.
foreach (TrackData trackData in trackDataList) {
  var data = trackData.Data;
  Lamp lamp = Lamp.fromByte(data[0]); // This is the lamp!
}

এরপর কি