এই পৃষ্ঠাটি সর্বজনীন HAL ধ্রুবক এবং API ধ্রুবকের মধ্যে প্রস্তাবিত ম্যাপিং উপস্থাপন করে। যদি মূল্যায়ন করা হার্ডওয়্যার HAL ধ্রুবকগুলি বাস্তবায়ন না করে, তাহলে অনুরূপ আউটপুট তৈরি করতে ইমপ্লিমেন্ট কনস্ট্যান্ট এবং আদিম পৃষ্ঠায় বর্ণিত ফলব্যাক প্যাটার্ন আপডেট করুন। ম্যাপিং দুটি ভিন্ন ডিফল্ট মডেল দ্বারা সহায়তা করা হয়:
বিচ্ছিন্ন মডেল (সহজ)
- প্রশস্ততা এই মডেলের মূল পরিবর্তনশীল। এইচএএল-এর প্রতিটি সত্তা একটি ভিন্ন হ্যাপটিক প্রশস্ততার প্রতিনিধিত্ব করে।
- মৌলিক হ্যাপটিক ইউএক্স বাস্তবায়নের জন্য এই মডেলটি একটি ন্যূনতম প্রয়োজনীয়তা।
- একটি আরও উন্নত হ্যাপটিক ইউএক্সের জন্য উন্নত হার্ডওয়্যার এবং একটি উন্নত মডেল (একটানা মডেল) প্রয়োজন।
ক্রমাগত মডেল (উন্নত)
- টেক্সচার এবং প্রশস্ততা এই মডেলের মূল পরিবর্তনশীল। HAL-এর প্রতিটি সত্তা বিভিন্ন হ্যাপটিক টেক্সচারের প্রতিনিধিত্ব করে। প্রতিটি HAL সত্তার প্রশস্ততা স্কেল ফ্যাক্টর (
S
) দ্বারা নিয়ন্ত্রিত হয়। - এই মডেলের জন্য উন্নত হার্ডওয়্যার প্রয়োজন। যদি OEMs
VibrationEffect.Composition
সহ উন্নত হ্যাপটিক UX ব্যবহার করতে চায় (সর্বশেষ হ্যাপটিক্স API-এর সর্বোত্তম ব্যবহারের জন্য), এই মডেলটি ব্যবহার করে তাদের হার্ডওয়্যার প্রয়োগ করার পরামর্শ দেওয়া হয়।
- টেক্সচার এবং প্রশস্ততা এই মডেলের মূল পরিবর্তনশীল। HAL-এর প্রতিটি সত্তা বিভিন্ন হ্যাপটিক টেক্সচারের প্রতিনিধিত্ব করে। প্রতিটি HAL সত্তার প্রশস্ততা স্কেল ফ্যাক্টর (
বিচ্ছিন্ন মডেল
উপযুক্ত HAL ধ্রুবক সহ API-এ প্রদত্ত সমস্ত পাবলিক ধ্রুবক ম্যাপ করার সুপারিশ করা হয়। এই প্রক্রিয়াটি শুরু করার জন্য, HAL-এ ডিভাইসটি পৃথক প্রশস্ততা সহ কতগুলি হ্যাপটিক তরঙ্গরূপ নির্ধারণ করতে পারে তা খুঁজে বের করুন। এই ধারণার চারপাশে গঠিত একটি নির্দিষ্ট প্রশ্ন এইরকম দেখায়: আমার ফোনে মানব-বোধগম্য প্রশস্ততা পার্থক্যের সাথে কতগুলি একক-আবেগ হ্যাপটিক প্রভাব সংজ্ঞায়িত করা যেতে পারে? এই প্রশ্নের উত্তর ম্যাপিং নির্ধারণ করে।
HAL ধ্রুবক সংজ্ঞায়িত করা একটি হার্ডওয়্যার-নির্ভর প্রক্রিয়া। উদাহরণস্বরূপ, একটি এন্ট্রি-লেভেল ফোনে একটি একক হ্যাপটিক ওয়েভফর্ম তৈরি করার জন্য শুধুমাত্র হার্ডওয়্যার ক্ষমতা থাকতে পারে। আরও উন্নত হার্ডওয়্যার উপাদান সহ ডিভাইসগুলি বিচ্ছিন্ন প্রশস্ততা স্তরের বিস্তৃত পরিসর তৈরি করে এবং এইচএএল-এ একাধিক হ্যাপটিক তরঙ্গরূপ সংজ্ঞায়িত করতে পারে। HAL-API ধ্রুবক ম্যাপিং HAL ধ্রুবক নেয় (একটি বেসলাইন হিসাবে মাঝারি প্রশস্ততা ব্যবহার করে), তারপর সেখান থেকে শক্তিশালী বা দুর্বল প্রভাবের ব্যবস্থা করে।
চিত্র 14. প্রশস্ততা দ্বারা HAL ধ্রুবক পরিসীমা
যখন বিযুক্ত প্রশস্ততার সাথে HAL ধ্রুবকের সংখ্যা সংজ্ঞায়িত করা হয়, তখন HAL ধ্রুবকের সংখ্যা দ্বারা HAL এবং API ধ্রুবকগুলিকে ম্যাপ করার সময়। এই ম্যাপিং প্রক্রিয়াটি একটি একক ইমপালস API ধ্রুবককে প্রশস্ততা স্তরের তিনটি পৃথক গ্রুপে ভাগ করতে পারে। API ধ্রুবকগুলিকে যেভাবে বিভক্ত করা হয় তা ইনপুট ইভেন্টের সহগামীর জন্য UX নীতির উপর ভিত্তি করে। আরও তথ্যের জন্য, হ্যাপটিক্স ইউএক্স ডিজাইন দেখুন।
চিত্র 15. HAL-API ধ্রুবক ম্যাপিং: বিচ্ছিন্ন মডেল
যদি আপনার ডিভাইসটি পৃথক প্রশস্ততা সহ শুধুমাত্র দুটি HAL ধ্রুবক সমর্থন করে, তবে মাঝারি এবং উচ্চ প্রশস্ততা স্তরের HAL ধ্রুবকগুলিকে একত্রিত করার কথা বিবেচনা করুন৷ অনুশীলনে এই ধারণাটির একটি উদাহরণ হল একই HAL ধ্রুবকের সাথে EFFECT_CLICK
এবং EFFECT_HEAVY_CLICK
ম্যাপ করা, যা হবে মাঝারি প্রশস্ততা স্তরের HAL ধ্রুবক। যদি আপনার ডিভাইসটি বিচ্ছিন্ন প্রশস্ততার সাথে শুধুমাত্র একটি HAL ধ্রুবককে সমর্থন করে, তবে তিনটি স্তরকে একটিতে একত্রিত করার কথা বিবেচনা করুন।
ক্রমাগত মডেল
প্রশস্ততা পরিমাপযোগ্যতা সহ অবিচ্ছিন্ন মডেল HAL ধ্রুবক সংজ্ঞায়িত করতে প্রয়োগ করা যেতে পারে। একটি স্কেল ফ্যাক্টর ( S
) HAL ধ্রুবকগুলিতে প্রয়োগ করা যেতে পারে (উদাহরণস্বরূপ, HAL_H0
, HAL_H1
) স্কেল করা HAL ( HAL_H0
x S
) তৈরি করতে। এই ক্ষেত্রে, চিত্র 16-এ দেখানো হিসাবে API ধ্রুবকগুলি ( HAL_H0
x S1
= H0S1
= EFFECT_TICK
) সংজ্ঞায়িত করার জন্য স্কেল করা HAL ম্যাপ করা হয়েছে। ক্রমাগত মডেলের প্রশস্ততা স্কেলেবিলিটি ব্যবহার করে, একটি ডিভাইস স্বতন্ত্র টেক্সচারের সাথে অল্প সংখ্যক HAL ধ্রুবক সঞ্চয় করতে পারে এবং প্রশস্ততা যোগ করতে পারে ( S
ভ্যারির স্কেলের পরিবর্তন করে)। ডিভাইস নির্মাতারা কতগুলি ভিন্ন হ্যাপটিক টেক্সচার প্রদান করতে চান তার উপর ভিত্তি করে HAL ধ্রুবকের সংখ্যা নির্ধারণ করতে পারে।
চিত্র 16. টেক্সচার (HAL_H0) এবং প্রশস্ততা স্কেল (S) দ্বারা HAL ধ্রুবক পরিসর
চিত্র 17. HAL-API ধ্রুবক ম্যাপিং: ক্রমাগত মডেল
অবিচ্ছিন্ন মডেলে, বিভিন্ন HAL ধ্রুবকগুলি বিভিন্ন প্রশস্ততার পরিবর্তে বিভিন্ন হ্যাপটিক টেক্সচারের প্রতিনিধিত্ব করে; স্কেল ফ্যাক্টর ( S
) প্রশস্ততা কনফিগার করতে পারে। যাইহোক, যেহেতু টেক্সচারের উপলব্ধি (উদাহরণস্বরূপ, তীক্ষ্ণতা) সময়কাল এবং প্রশস্ততার উপলব্ধির সাথে সম্পর্কিত, তাই টেক্সচার এবং স্কেল ফ্যাক্টর (HAL-API ম্যাপিংয়ের নকশা প্রক্রিয়াতে) একত্রিত করার পরামর্শ দেওয়া হয়।
চিত্র 18 একটি এইচএএল থেকে অনেকগুলি API ধ্রুবকের প্রশস্ততা স্কেলেবিলিটি সহ প্রকরণ বৃদ্ধি করে ধ্রুবক ম্যাপিংকে চিত্রিত করে।
চিত্র 18. প্রশস্ততা স্কেলেবিলিটির সাথে ক্রমবর্ধমান বৈচিত্র্য
VibrationEffect.Composition
এ PRIMITIVE_TICK
এবং PRIMITIVE_CLICK
মতো সমস্ত পরিমাপযোগ্য API ধ্রুবকগুলির জন্য, API ধ্রুবকের শক্তি স্তর float scale
প্যারামিটারের উপর নির্ভর করে যখন API ধ্রুবকটি addPrimitive(int primitiveID, float scale, int delay)
এর মাধ্যমে ঘোষণা করা হয়। PRIMITIVE_TICK
এবং PRIMITIVE_CLICK
বিভিন্ন HAL ধ্রুবক ব্যবহার করে একটি স্পষ্ট পার্থক্যের সাথে ডিজাইন করা যেতে পারে। আপনি যদি টেক্সচারে ভিন্নতা যোগ করতে চান তাহলে এই পদ্ধতির পরামর্শ দেওয়া হয়।