ডিভাইস নির্মাতারা সাধারণত প্রতিটি ডিভাইসের জন্য তৈরি ব্যক্তিগত সম্পদের মালিক বলে বিবেচিত হয়। যেমন, তাদের প্রকৌশল প্রচেষ্টা প্রায়ই প্রতি-ডিভাইসের ভিত্তিতে ফোকাস করা হয়; ইকোসিস্টেমের অন্যান্য যন্ত্রের সামঞ্জস্যের দিকে সামান্য পরিশ্রম করা যায় না।
সরাসরি বিপরীতে, বিকাশকারীরা প্রতিটি ডিভাইসের প্রযুক্তিগত বৈশিষ্ট্য নির্বিশেষে ইকোসিস্টেমের সমস্ত অ্যান্ড্রয়েড ফোনে কাজ করে এমন অ্যাপ তৈরি করার চেষ্টা করে। পদ্ধতির এই পার্থক্যটি একটি ফ্র্যাগমেন্টেশন সমস্যার কারণ হতে পারে, উদাহরণস্বরূপ, কিছু ফোনের হার্ডওয়্যার ক্ষমতা অ্যাপ ডেভেলপারদের দ্বারা সেট করা প্রত্যাশার সাথে মেলে না। তাই যদি হ্যাপটিক্স এপিআই কিছু অ্যান্ড্রয়েড ফোনে কাজ করে কিন্তু অন্যগুলিতে নয়, ফলাফলটি একটি অসামঞ্জস্যপূর্ণ ইকোসিস্টেম। এই কারণেই হার্ডওয়্যার কনফিগারেশন নিশ্চিত করতে একটি গুরুত্বপূর্ণ ভূমিকা পালন করে যে নির্মাতারা প্রতিটি ডিভাইসে অ্যান্ড্রয়েড হ্যাপটিক্স API প্রয়োগ করতে পারে।
এই পৃষ্ঠাটি Android haptics API-এর সর্বোত্তম ব্যবহারের জন্য হার্ডওয়্যার সম্মতি সেট আপ করার জন্য একটি ধাপে ধাপে চেকলিস্ট প্রদান করে।
নিম্নলিখিত চিত্রটি ডিভাইস নির্মাতা এবং ডেভেলপারদের মধ্যে সাধারণ জ্ঞান গড়ে তোলার চিত্র তুলে ধরে, যা একটি সমন্বিত ইকোসিস্টেম তৈরির একটি গুরুত্বপূর্ণ পদক্ষেপ:
চিত্র 1. ডিভাইস নির্মাতা এবং বিকাশকারীদের মধ্যে জ্ঞান তৈরি করা
হ্যাপটিক্স বাস্তবায়ন চেকলিস্ট
- হ্যাপটিক্স বাস্তবায়নের জন্য ধ্রুবকের তালিকা।
- HAL রচনা আদিম জন্য বাস্তবায়ন নির্দেশিকা.
HAL এবং API এর মধ্যে মানচিত্র ধ্রুবক
- পাবলিক API ধ্রুবক (ফ্রেমওয়ার্কে নামযুক্ত স্থানধারক ) এবং HAL ধ্রুবকগুলির মধ্যে ম্যাপিং সুপারিশ, যা স্থানধারকদের বাস্তবায়ন করে।
- এই প্রক্রিয়া সম্পর্কে আরও জানতে প্রস্তাবিত ম্যাপিং গাইড করতে ডিজাইন নীতিগুলি দেখুন।
- লক্ষ্য হ্যাপটিক প্রভাব নির্দেশাবলী. আপনার হার্ডওয়্যারে দ্রুত চেক করতে এই নির্দেশাবলী ব্যবহার করুন।
আমরা নীচে এই ধাপগুলির প্রত্যেকটি আরও বিস্তারিতভাবে অন্বেষণ করব৷
ধাপ 1: ধ্রুবক প্রয়োগ করুন
আপনার ডিভাইস হ্যাপটিক্স বাস্তবায়নের জন্য ন্যূনতম প্রয়োজনীয়তা পূরণ করে কিনা তা নির্ধারণ করতে এই পরীক্ষাগুলি সম্পাদন করুন:
চিত্র 2. প্রভাব বাস্তবায়ন
চিত্র 3. আদিম বাস্তবায়ন
নিম্নলিখিত হ্যাপটিক ধ্রুবকগুলির বাস্তবায়ন অবস্থা পরীক্ষা করুন।
হ্যাপটিক ধ্রুবক | অবস্থান এবং সারাংশ |
---|---|
EFFECT_TICK , EFFECT_CLICK , EFFECT_HEAVY_CLICK , EFFECT_DOUBLE_CLICK | VibrationEffect ক্লাসVibrationEffect হ্যাপটিক ধ্রুবক ইনপুট ইভেন্টের কোনো ধারণা অন্তর্ভুক্ত করে না এবং কোনো UI উপাদান নেই। ধ্রুবকগুলির পরিবর্তে শক্তির স্তরের ধারণা অন্তর্ভুক্ত করা হয়, যেমন EFFECT_CLICK এবং EFFECT_HEAVY_CLICK , যাকে createPredefined() দ্বারা বলা হয়। |
নীচে বর্ণিত বিকল্প কম্পনগুলি এমন ডিভাইসগুলিতে সঞ্চালিত হয় যেগুলি VibrationEffect
ধ্রুবকগুলি প্রয়োগ করে না৷ এই ধরনের ডিভাইসগুলিতে সর্বোত্তম কার্য সম্পাদন করার জন্য এই কনফিগারেশনগুলি আপডেট করার পরামর্শ দেওয়া হয়।
EFFECT_CLICK
VibrationEffect.createWaveform
এবংframeworks/base/core/res/res/values/config.xml##config_virtualKeyVibePattern
এ কনফিগার করা টাইমিং-এর সাহায্যে তৈরি করা ওয়েভফর্ম ভাইব্রেশন।EFFECT_HEAVY_CLICK
VibrationEffect.createWaveform
এবংframeworks/base/core/res/res/values/config.xml##config_longPressVibePattern
এ কনফিগার করা টাইমিং-এর সাহায্যে তৈরি করা ওয়েভফর্ম ভাইব্রেশন।-
EFFECT_DOUBLE_CLICK
VibrationEffect.createWaveform
এবং টাইমিং (0, 30, 100, 30) দিয়ে তৈরি করা ওয়েভফর্ম কম্পন।-
EFFECT_TICK
VibrationEffect.createWaveform
দিয়ে তৈরি ওয়েভফর্ম ভাইব্রেশন এবংframeworks/base/core/res/res/values/config.xml##config_clockTickVibePattern
এ কনফিগার করা সময়।
চিত্র 4. প্রতিক্রিয়া ধ্রুবক বাস্তবায়ন
নিম্নলিখিত পাবলিক প্রতিক্রিয়া ধ্রুবকগুলির স্থিতি পরীক্ষা করুন।
হ্যাপটিক ধ্রুবক | অবস্থান এবং সারাংশ |
---|---|
CLOCK_TICK , CONTEXT_CLICK , KEYBOARD_PRESS , KEYBOARD_RELEASE , KEYBOARD_TAP , LONG_PRESS , TEXT_HANDLE_MOVE , VIRTUAL_KEY , VIRTUAL_KEY_RELEASE , CONFIRM GESTURE_START REJECT , GESTURE_END | HapticFeedbackConstants ক্লাসHapticFeedbackConstants -এ হ্যাপটিক ধ্রুবকগুলি নির্দিষ্ট UI উপাদানগুলির সাথে ইনপুট ইভেন্টে সহায়তা করে, যেমন KEYBOARD_PRESS এবং KEYBOARD_RELEASE , যাকে performHapticFeedback() দ্বারা বলা হয়। |
ধাপ 2: আদিম প্রয়োগ করুন
VibrationEffect.Composition
এ Haptic primitives এর মাপযোগ্য তীব্রতা রয়েছে যা বিকাশকারীরা addPrimitive(int primitiveId, float scale, int delay)
এর মাধ্যমে ব্যবহার করতে পারে। আদিমকে দুটি ভাগে ভাগ করা যায়:
সংক্ষিপ্ত আদিম: স্বল্প মেয়াদ সহ আদিম, সাধারণত 20 ms এর কম। এগুলো হল
CLICK
,TICK
এবংLOW_TICK
।কিচিরমিচির আদিম: বিভিন্ন প্রশস্ততা এবং ফ্রিকোয়েন্সি সহ আদিম, সাধারণত সংক্ষিপ্ত আদিমদের তুলনায় দীর্ঘ সময়কাল সহ। এগুলি হল
SLOW_RISE
,QUICK_RISE
,QUCK_FALL
,THUD
, এবংSPIN
৷
সংক্ষিপ্ত আদিম
কম্পনকারী মোটর আউটপুট ত্বরণ প্রোফাইল দ্বারা সংক্ষিপ্ত আদিম বর্ণনা করা যেতে পারে। ব্যবহৃত পরম ফ্রিকোয়েন্সি প্রতিটি আদিম জন্য পরিবর্তিত হয়, অ্যাকচুয়েটরের অনুরণন কম্পাঙ্কের উপর নির্ভর করে। হার্ডওয়্যার সেটআপ এবং আউটপুট পরিমাপের জন্য সরঞ্জাম সম্পর্কে আরও তথ্যের জন্য পরীক্ষার সরঞ্জাম সেট আপ করুন দেখুন।
সংক্ষিপ্ত কম্পনের জন্য একটি মূল্যবান মানের মেট্রিক হল পালস টু রিং রেশিও (PRR), চিত্র 5-এ দেখানো হয়েছে। PRR কে প্রধান পালসের মধ্যে অনুপাত হিসাবে সংজ্ঞায়িত করা হয়, যা সময়কাল উইন্ডোর ভিতরের সংকেত দ্বারা সংজ্ঞায়িত করা হয় যেখানে প্রশস্ততা শীর্ষের 10% এ কমে যায়। প্রশস্ততা, এবং রিং পালস , সংকেত দ্বারা সংজ্ঞায়িত করা হয় যেখান থেকে প্রশস্ততা হ্রাস পায় 10% শিখর প্রশস্ততা থেকে শিখর প্রশস্ততার 1% এর কম। PRR এর সূত্র হল:
PRR সম্পর্কে আরও তথ্যের জন্য, তরঙ্গরূপ বিশ্লেষণ দেখুন এবং ফলাফল বিশ্লেষণ এবং তুলনা করার বিষয়ে আরও তথ্যের জন্য, কর্মক্ষমতা মানচিত্র ব্যবহার করে ফলাফল তুলনা করুন দেখুন।
চিত্র 5. পালস থেকে রিং অনুপাতের সংজ্ঞা
একটি ব্যবহারকারীর ইনপুট প্রতিক্রিয়া হিসাবে সংক্ষিপ্ত আদিম প্রয়োগ করুন বা নরম টেক্সচার তৈরি করতে দীর্ঘ রচনাগুলিতে প্লে করা হয়। এর মানে হল যে তারা সাধারণত ঘন ঘন ট্রিগার হয় এবং দ্রুত ধারাবাহিকভাবে খেলা হয়। একটি একক ছোট আদিম এর অনুভূত তীব্রতা বৃহত্তর প্রভাব তীব্রতা যৌগ করতে পারে. এই কারণে, একটি বড় কম্পোজিশনের সাথে একটি একক টিক বা লো টিক আদিম ক্যালিব্রেট করুন, উদাহরণস্বরূপ, 100টি পরপর টিক।
আদিম ক্লিক করুন
ক্লিক আদিম একটি শক্তিশালী, খাস্তা প্রভাব সাধারণত একটি স্বল্প সময়ের মধ্যে সর্বাধিক আউটপুট পৌঁছানোর জন্য একটি ডিভাইসের অনুরণিত ফ্রিকোয়েন্সির কাছাকাছি কাজ করে। এটি অন্যান্য আদিমদের তুলনায় আরও শক্তিশালী এবং গভীর, সর্বোচ্চ তীব্রতায় পারফর্ম করে।
যদি পাওয়া যায়, মোটর ওভারড্রাইভ ব্যবহার করুন এবং শেষে সক্রিয় ব্রেকিং ব্যবহার করুন একটি ছোট মোটর বৃদ্ধি এবং পতনের সময় অর্জন করতে। কিছু মোটরের জন্য, সাইন ওয়েভের পরিবর্তে একটি বর্গাকার তরঙ্গ ব্যবহার করে দ্রুত ত্বরণ অর্জন করা যায়। চিত্র 6 আদিম ক্লিকের জন্য একটি উদাহরণ আউটপুট ত্বরণ প্রোফাইল দেখায়:
চিত্র 6. আদিম ক্লিকের জন্য আউটপুট ত্বরণ প্রোফাইলের উদাহরণ
প্যারামিটার | নির্দেশিকা |
---|---|
সময়কাল | লক্ষ্য: 12 ms সীমা: <30 ms |
পিক আউটপুট ত্বরণ | লক্ষ্য: 2 জি সীমা: > 1 জি |
ফ্রিকোয়েন্সি | মোটামুটি অনুরণিত ফ্রিকোয়েন্সিতে |
আদিম টিক (হালকা টিক)
টিক আদিম হল একটি তীক্ষ্ণ, সংক্ষিপ্ত প্রভাব যা সাধারণত উচ্চতর ফ্রিকোয়েন্সি পরিসরে কাজ করে। এই আদিম একটি ছোট লেজ সঙ্গে একটি উচ্চ ফ্রিকোয়েন্সি একটি মাঝারি তীব্রতা ক্লিক হিসাবে বর্ণনা করা যেতে পারে. একই নির্দেশিকা মোটর ওভারড্রাইভ বা প্রাথমিক সূচনার জন্য একটি বর্গাকার তরঙ্গ ব্যবহার করে একটি সংক্ষিপ্ত উত্থান সময় অর্জনের জন্য প্রযোজ্য, এবং অফসেটে সক্রিয় ব্রেকিং। চিত্র 7 টিক আদিম জন্য একটি উদাহরণ আউটপুট ত্বরণ প্রোফাইল দেখায়:
চিত্র 7. টিক আদিম জন্য আউটপুট ত্বরণ প্রোফাইলের উদাহরণ
প্যারামিটার | নির্দেশিকা |
---|---|
সময়কাল | লক্ষ্য: 5 ms সীমা: <20 ms |
পিক আউটপুট ত্বরণ | লক্ষ্য: সীমা: 0.5 জি এবং 1 জি এর মধ্যে |
ফ্রিকোয়েন্সি | লক্ষ্য: 2x অনুরণিত ফ্রিকোয়েন্সি সীমা: <500 Hz |
নিম্ন টিক আদিম
নিম্ন টিক আদিম হল একটি হালকা টিক-এর একটি নরম, দুর্বল সংস্করণ, যা প্রভাবকে আরও বেশি শরীর প্রদান করার জন্য কম ফ্রিকোয়েন্সি পরিসরে কাজ করে। এই আদিমকে নিম্ন ফ্রিকোয়েন্সিতে একটি মাঝারি তীব্রতার ক্লিক হিসাবেও বর্ণনা করা যেতে পারে, যা গতিশীল প্রতিক্রিয়ার জন্য পুনরাবৃত্তিমূলকভাবে ব্যবহার করার উদ্দেশ্যে। প্রাথমিক সূচনার জন্য মোটর ওভারড্রাইভ বা বর্গাকার তরঙ্গ ব্যবহার করে স্বল্প বৃদ্ধির সময় অর্জনের জন্য একই নির্দেশিকা প্রযোজ্য। চিত্র 8 নিম্ন টিক আদিম জন্য একটি উদাহরণ আউটপুট ত্বরণ প্রোফাইল দেখায়:
চিত্র 8. নিম্ন টিক আদিম জন্য আউটপুট ত্বরণ প্রোফাইলের উদাহরণ
প্যারামিটার | নির্দেশিকা |
---|---|
সময়কাল | লক্ষ্য: 12 ms সীমা: <30 ms |
পিক আউটপুট ত্বরণ | লক্ষ্য: একটি সীমা: 0.2 G এবং 0.5 G এর মধ্যে |
ফ্রিকোয়েন্সি | লক্ষ্য: 2/3 অনুরণিত ফ্রিকোয়েন্সি সীমা: <100 Hz |
কিচিরমিচির আদিম
ভোল্টেজ স্তর এবং কম্পন ফ্রিকোয়েন্সি জন্য ইনপুট সংকেত দ্বারা চির্প আদিম বর্ণনা করা যেতে পারে। মোটর যে ত্বরণ বিভিন্ন ফ্রিকোয়েন্সি রেঞ্জে আউটপুট করতে সক্ষম তা অ্যাকুয়েটরের ফ্রিকোয়েন্সি প্রতিক্রিয়া বক্ররেখার উপর নির্ভর করে পরিবর্তিত হয়। ফ্রিকোয়েন্সি রেঞ্জ এবং ভোল্টেজের মাত্রা প্রতি ডিভাইসের ভিত্তিতে সামঞ্জস্য করা প্রয়োজন।
ধীরে ধীরে উত্থান আদিম
ধীর বৃদ্ধি হল একটি ধীর প্রশস্ততা এবং ফ্রিকোয়েন্সি ঝাড়ু দিয়ে উপরের দিকে নরম সূচনা এবং সুইপ জুড়ে ধারাবাহিকভাবে কম্পনের তীব্রতা বৃদ্ধি করে। এটি অনুরণন বন্ধ করে এমন একটি নিম্ন ফ্রিকোয়েন্সি পরিসীমা ব্যবহার করে প্রশস্ততা এবং ফ্রিকোয়েন্সি উভয়েরই একটি ধারাবাহিক ঝাড়ু দ্বারা প্রয়োগ করা যেতে পারে। চিত্র 9 এই বাস্তবায়নের জন্য ইনপুট পরামিতি এবং একটি উদাহরণ আউটপুট ত্বরণ প্রোফাইল দেখায়। (লাল রেখাটি বাম দিকের প্রশস্ততা লেবেলগুলির সাথে মেলে এবং কম্পনের প্রশস্ততা সময়ের সাথে কীভাবে পরিবর্তিত হয় তা প্রতিনিধিত্ব করে৷ নীল রেখাটি ডানদিকের ফ্রিকোয়েন্সি লেবেলের সাথে মেলে এবং কম্পনের ফ্রিকোয়েন্সি সময়ের সাথে কীভাবে পরিবর্তিত হয় তা উপস্থাপন করে৷)
চিত্র 9. ইনপুট প্যারামিটার এবং আউটপুট ত্বরণ প্রোফাইলের উদাহরণ আদিম ধীর গতিতে
যদি মোটরের ফ্রিকোয়েন্সি রেসপন্স সীমিত হয় (এর রেজোন্যান্ট ফ্রিকোয়েন্সি থেকে যথেষ্ট শক্তিশালী নয়) তাহলে একটি বিকল্প বাস্তবায়ন হল রেজোন্যান্ট ফ্রিকোয়েন্সি 1/2x থেকে 1x পর্যন্ত সাইন সুইপ। মোটর অনুরণন শেষে সিগন্যাল শিখরে পৌঁছাতে অবদান রাখে।
প্যারামিটার | নির্দেশিকা |
---|---|
সময়কাল | লক্ষ্য: 500 ms সহনশীলতা: 20 ms |
পিক আউটপুট ত্বরণ | লক্ষ্য: 0.5 গ্রাম সীমা: 0.5 জি এবং 1 জি এর মধ্যে |
ফ্রিকোয়েন্সি | লক্ষ্য: অনুরণিত কম্পাঙ্কের 1/2 থেকে 2/3 বিকল্প: অনুরণিত ফ্রিকোয়েন্সি থেকে 1/2 |
দ্রুত উত্থান আদিম
দ্রুত উত্থান হল একটি দ্রুত প্রশস্ততা এবং ফ্রিকোয়েন্সি ঝাড়ু ঊর্ধ্বগামী নরম সূচনা এবং সুইপ জুড়ে ধারাবাহিকভাবে কম্পনের তীব্রতা বৃদ্ধি করে। আউটপুট ত্বরণ এবং কম্পন ফ্রিকোয়েন্সি লক্ষ্যগুলি ধীর বৃদ্ধির আদিম হিসাবে একই হওয়া উচিত, একটি সংক্ষিপ্ত সময়ের মধ্যে অর্জিত। চিত্র 10 কম্পন ইনপুট পরামিতি এবং একটি উদাহরণ আউটপুট ত্বরণ প্রোফাইল দেখায় আদিম ধীর বৃদ্ধির জন্য। (লাল রেখাটি বাম দিকের প্রশস্ততা লেবেলগুলির সাথে মেলে এবং কম্পনের প্রশস্ততা সময়ের সাথে কীভাবে পরিবর্তিত হয় তা প্রতিনিধিত্ব করে৷ নীল রেখাটি ডানদিকের ফ্রিকোয়েন্সি লেবেলের সাথে মেলে এবং কম্পনের ফ্রিকোয়েন্সি সময়ের সাথে কীভাবে পরিবর্তিত হয় তা উপস্থাপন করে৷)
চিত্র 10. আদিম দ্রুত বৃদ্ধির জন্য ইনপুট প্যারামিটার এবং আউটপুট ত্বরণ প্রোফাইলের উদাহরণ
প্যারামিটার | নির্দেশিকা |
---|---|
সময়কাল | লক্ষ্য: 150 ms সহনশীলতা: 20 ms |
পিক আউটপুট ত্বরণ | লক্ষ্য: সীমা: |
ফ্রিকোয়েন্সি | লক্ষ্য: বিকল্প: |
দ্রুত পতন আদিম
দ্রুত পতন হল একটি দ্রুত প্রশস্ততা এবং ফ্রিকোয়েন্সি নিম্নগামী সুইপ এবং একটি নরম সূচনা। আপনি উচ্চতর ফ্রিকোয়েন্সি স্টার্ট পয়েন্ট হিসাবে ব্যবহার করতে পারেন যখন মোটর সর্বোচ্চ আউটপুট ত্বরণে পৌঁছানোর জন্য র্যাম্পিং করে। ফ্রিকোয়েন্সি ক্রমাগতভাবে ঝাড়ু জুড়ে হ্রাস করা উচিত, এমনকি বৃদ্ধির সময়ও। চিত্র 11 এই বাস্তবায়নের জন্য ইনপুট পরামিতি এবং একটি উদাহরণ আউটপুট ত্বরণ প্রোফাইল দেখায়। (লাল রেখাটি বাম দিকের প্রশস্ততা লেবেলগুলির সাথে মেলে এবং কম্পনের প্রশস্ততা সময়ের সাথে কীভাবে পরিবর্তিত হয় তা প্রতিনিধিত্ব করে৷ নীল রেখাটি ডানদিকের ফ্রিকোয়েন্সি লেবেলের সাথে মেলে এবং কম্পনের ফ্রিকোয়েন্সি সময়ের সাথে কীভাবে পরিবর্তিত হয় তা উপস্থাপন করে৷)
চিত্র 11. প্রাথমিক পতনের জন্য ইনপুট প্যারামিটার এবং আউটপুট ত্বরণ প্রোফাইলের উদাহরণ
প্যারামিটার | নির্দেশিকা |
---|---|
সময়কাল | লক্ষ্য: 100 ms সহনশীলতা: 20 ms |
পিক আউটপুট ত্বরণ | লক্ষ্য: 1 জি সীমা: 0.5 G এবং 2 G এর মধ্যে |
ফ্রিকোয়েন্সি | লক্ষ্য: 2x থেকে 1x অনুরণিত ফ্রিকোয়েন্সি |
থুড আদিম
থুড হল একটি থমথমে, নিচু, পর্কসিভ প্রভাব যা ফাঁপা কাঠে ঠক্ঠক্ শব্দের শারীরিক সংবেদনকে অনুকরণ করে। এই আদিম একটি কম ফ্রিকোয়েন্সি পরিসরে কাজ করে, নিম্ন টিক প্রিমিটিভের মতো, প্রভাবকে আরও শরীর প্রদান করতে। আপনি একটি প্রশস্ততা এবং ফ্রিকোয়েন্সি নিম্নগামী সুইপ হিসাবে একটি নিম্ন ফ্রিকোয়েন্সি পরিসরে (প্রধানত 100 Hz-এর কম) থুড আদিম প্রয়োগ করতে পারেন। চিত্র 12 এই বাস্তবায়নের জন্য ইনপুট প্যারামিটার এবং একটি উদাহরণ আউটপুট ত্বরণ প্রোফাইল দেখায়। (লাল রেখাটি বাম দিকের প্রশস্ততা লেবেলগুলির সাথে মেলে এবং কম্পনের প্রশস্ততা সময়ের সাথে কীভাবে পরিবর্তিত হয় তা প্রতিনিধিত্ব করে৷ নীল রেখাটি ডানদিকের ফ্রিকোয়েন্সি লেবেলের সাথে মেলে এবং কম্পনের ফ্রিকোয়েন্সি সময়ের সাথে কীভাবে পরিবর্তিত হয় তা উপস্থাপন করে৷)
চিত্র 12. ইনপুট পরামিতি এবং থুড আদিম জন্য আউটপুট ত্বরণ প্রোফাইলের উদাহরণ
যদি মোটরের ফ্রিকোয়েন্সি প্রতিক্রিয়া সীমিত হয় তবে একটি বিকল্প বাস্তবায়ন হল অনুরণন ফ্রিকোয়েন্সিতে একটি সম্পূর্ণ তীব্রতা ড্রাইভ সংকেত দিয়ে শুরু করা এবং সর্বনিম্ন সম্ভাব্য ফ্রিকোয়েন্সিতে নেমে যাওয়া যা এখনও উপলব্ধি করা যায়। এই পদ্ধতির জন্য কম্পন অনুভূত হওয়ার জন্য নিম্ন ফ্রিকোয়েন্সিতে ড্রাইভ সংকেত তীব্রতা বৃদ্ধির প্রয়োজন হতে পারে।
প্যারামিটার | নির্দেশিকা |
---|---|
সময়কাল | লক্ষ্য: 300 ms সহনশীলতা: 20 ms |
পিক আউটপুট ত্বরণ | লক্ষ্য: 0.25 জি সীমা: 0.2 G এবং 0.5 G এর মধ্যে |
ফ্রিকোয়েন্সি | লক্ষ্য: অনুরণিত কম্পাঙ্কের 1/2 থেকে 1/3 বিকল্প: অনুরণিত কম্পাঙ্কের 1x থেকে 1/2 |
স্পিন আদিম
স্পিন কেন্দ্রে সামান্য উচ্চারণ সহ দ্রুত আপ এবং ডাউন ঘূর্ণনের গতিবেগকে অনুকরণ করে। স্পিনটি প্রশস্ততা এবং ফ্রিকোয়েন্সিকে স্বাধীনভাবে, বিপরীত দিকে এবং বিপরীত গতি দ্বারা অনুসরণ করে প্রয়োগ করা যেতে পারে। কম ফ্রিকোয়েন্সি পরিসীমা ব্যবহার করা গুরুত্বপূর্ণ (100 Hz-এর চেয়ে কম)। চিত্র 13 এই বাস্তবায়নের জন্য ইনপুট প্যারামিটার এবং একটি উদাহরণ আউটপুট ত্বরণ প্রোফাইল দেখায়। (লাল রেখাটি বাম দিকের প্রশস্ততা লেবেলগুলির সাথে মেলে এবং কম্পনের প্রশস্ততা সময়ের সাথে কীভাবে পরিবর্তিত হয় তা প্রতিনিধিত্ব করে৷ নীল রেখাটি ডানদিকের ফ্রিকোয়েন্সি লেবেলের সাথে মেলে এবং কম্পনের ফ্রিকোয়েন্সি সময়ের সাথে কীভাবে পরিবর্তিত হয় তা উপস্থাপন করে৷)
স্পিনিং এবং অস্থির সংবেদন অর্জনের জন্য আমরা সুপারিশ করেছি যে স্পিন প্রাইমিটিভকে পরপর দুবার বা কম্পোজিশনে তিনবার বলা হয়।
যদি মোটরের ফ্রিকোয়েন্সি রেসপন্স সীমিত হয়, তাহলে একটি বিকল্প বাস্তবায়ন হল রেজোন্যান্ট ফ্রিকোয়েন্সি এবং পিছনে 1/2x থেকে 1x পর্যন্ত দ্রুত সাইন সুইপ করা। মোটর অনুরণন স্বয়ংক্রিয়ভাবে সংকেতকে মাঝখানে একটি উচ্চারণ দেয়।
চিত্র 13. ইনপুট প্যারামিটার এবং স্পিন আদিম জন্য আউটপুট ত্বরণ প্রোফাইলের উদাহরণ
প্যারামিটার | নির্দেশিকা |
---|---|
সময়কাল | লক্ষ্য: 150 ms সহনশীলতা: 20 ms |
পিক আউটপুট ত্বরণ | লক্ষ্য: 0.5 গ্রাম সীমা: 0.25 G এবং 0.75 G এর মধ্যে |
ফ্রিকোয়েন্সি | লক্ষ্য: 2/3 থেকে 1/3, তারপরে অনুরণিত ফ্রিকোয়েন্সির 1/2-এ ফিরে যান বিকল্প: 2/3 থেকে 1x, তারপরে অনুরণিত কম্পাঙ্কের 1/2-এ ফিরে যান |
ধাপ 3: HAL এবং API এর মধ্যে মানচিত্র ধ্রুবক
ধাপ 3 পাবলিক HAL ধ্রুবক এবং API ধ্রুবকের মধ্যে প্রস্তাবিত ম্যাপিং উপস্থাপন করে। যদি ধাপ 1-এ মূল্যায়ন করা হার্ডওয়্যার HAL ধ্রুবকগুলি বাস্তবায়ন না করে, তাহলে অনুরূপ আউটপুট তৈরি করার জন্য ধাপ 1-এ বর্ণিত ফলব্যাক প্যাটার্ন আপডেট করতে ধাপ 3 ব্যবহার করুন। ম্যাপিং দুটি ভিন্ন ডিফল্ট মডেল দ্বারা সহায়তা করা হয়:
বিচ্ছিন্ন মডেল (সহজ)
- প্রশস্ততা এই মডেলের মূল পরিবর্তনশীল। এইচএএল-এর প্রতিটি সত্তা একটি ভিন্ন হ্যাপটিক প্রশস্ততার প্রতিনিধিত্ব করে।
- মৌলিক হ্যাপটিক ইউএক্স বাস্তবায়নের জন্য এই মডেলটি একটি ন্যূনতম প্রয়োজনীয়তা।
- একটি আরও উন্নত হ্যাপটিক ইউএক্সের জন্য উন্নত হার্ডওয়্যার এবং একটি উন্নত মডেল (একটানা মডেল) প্রয়োজন।
ক্রমাগত মডেল (উন্নত)
- টেক্সচার এবং প্রশস্ততা এই মডেলের মূল পরিবর্তনশীল। 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 ধ্রুবক ব্যবহার করে একটি স্পষ্ট পার্থক্যের সাথে ডিজাইন করা যেতে পারে। আপনি যদি টেক্সচারে ভিন্নতা যোগ করতে চান তাহলে এই পদ্ধতির পরামর্শ দেওয়া হয়।
ধাপ 4: হার্ডওয়্যার মূল্যায়ন
হার্ডওয়্যার মূল্যায়ন এই নির্দিষ্ট মূল্যায়নের জন্য তিনটি হ্যাপটিক প্রভাব, লেবেলযুক্ত প্রভাব 1, 2, এবং 3 সংজ্ঞায়িত করে।
প্রভাব 1: পূর্বনির্ধারিত ছোট হ্যাপটিক ধ্রুবক
VibrationEffect.EFFECT_CLICK
ধ্রুবক হল বেসলাইন ইফেক্ট বা HAL-API ম্যাপিং-এর সাধারণ ডিনোমিনেটর যা ধাপ 2-এ দেওয়া হয়েছে। এটি সবচেয়ে বেশি ব্যবহৃত প্রভাব, HapticFeedbackConstants.KEYBOARD_PRESS
দিয়ে ম্যাপ করা হয়েছে। এই প্রভাব মূল্যায়ন পরিষ্কার হ্যাপটিক্সের জন্য আপনার লক্ষ্য ডিভাইসের প্রস্তুতি নির্ধারণ করতে সাহায্য করে।
প্রভাব 2: সংক্ষিপ্ত কাস্টম হ্যাপটিক প্রভাব
VibrationEffect.createOneShot(20,255)
ধ্রুবকটি কাস্টম হ্যাপটিক প্রভাবের জন্য। সংক্ষেপে, একক কাস্টম ইম্পালস, 20 ms হল সর্বোচ্চ থ্রেশহোল্ড সময়কাল সংজ্ঞায়িত করার জন্য। 20 ms এর বেশি একটি একক প্ররোচনা সুপারিশ করা হয় না কারণ এটি একটি গুঞ্জন কম্পন হিসাবে বিবেচিত হয়৷
চিত্র 19. সংক্ষিপ্ত কাস্টম হ্যাপটিক প্রভাব
প্রভাব 3: প্রশস্ততা বৈচিত্র সহ দীর্ঘ কাস্টম হ্যাপটিক প্রভাব
VibrationEffect.createWaveform(timings[], amplitudes[], int repeat)
ধ্রুবক হল প্রশস্ততা বৈচিত্র সহ দীর্ঘ কাস্টম প্রভাবের জন্য। কাস্টম হ্যাপটিক প্রভাবগুলির জন্য বিভিন্ন প্রশস্ততা তৈরি করার ক্ষমতা সমৃদ্ধ হ্যাপটিক্সের জন্য ডিভাইসের ক্ষমতা মূল্যায়ন করার সূচকগুলির মধ্যে একটি। প্রস্তাবিত timings []
এবং amplitudes []
হল যথাক্রমে {500, 500}
এবং {128, 255}
, যা 500 ms স্যাম্পলিং রেট সহ 50% থেকে 100% পর্যন্ত প্রশস্ততা বৃদ্ধির প্রবণতা উপস্থাপন করে৷
চিত্র 20. প্রশস্ততা বৈচিত্র সহ দীর্ঘ কাস্টম হ্যাপটিক প্রভাব
Effect 3 এর জন্য প্রশস্ততা নিয়ন্ত্রণের হার্ডওয়্যার ক্ষমতা পরীক্ষা করতে, Vibrator.hasAmplitudeControl()
পদ্ধতি ব্যবহার করুন। উদ্দেশ্য অনুযায়ী পরিবর্তিত প্রশস্ততা সহ VibrationEffect.createWaveform
কার্যকর করতে ফলাফলটি true
হতে হবে।
চিত্র 21. হ্যাপটিক প্রভাব 1, 2, এবং 3 এর বিষয় মূল্যায়ন
একটি বিষয়গত মূল্যায়ন সঞ্চালন
একটি দ্রুত সমন্বয় চেক করার জন্য, প্রথমে একটি বিষয়গত মূল্যায়ন করুন। সাবজেক্টিভ অ্যাসেসমেন্টের লক্ষ্য হ'ল হ্যাপটিক প্রভাবের প্রশস্ততা পর্যবেক্ষণ করা যাতে ডিভাইসটি মানব-অনুভূতিযোগ্য প্রশস্ততার সাথে হ্যাপটিক্স তৈরি করতে পারে কিনা।
এই ধারণার চারপাশে গঠিত একটি নির্দিষ্ট প্রশ্ন এইরকম দেখায়: ডিভাইসটি কি ব্যবহারকারীদের কাছে প্রত্যাশিতভাবে উপলব্ধিযোগ্য হ্যাপটিক প্রভাব তৈরি করতে পারে? এই প্রশ্নের উত্তর আপনাকে ব্যর্থ হ্যাপটিক্স এড়াতে সাহায্য করে, যার মধ্যে অদৃশ্য হ্যাপটিক্স যা ব্যবহারকারীরা অনুভব করতে পারে না, বা অনিচ্ছাকৃত হ্যাপটিক্স যেখানে ওয়েভফর্মগুলি উদ্দেশ্য অনুযায়ী প্যাটার্ন তৈরি করে না।
একটি উন্নত মূল্যায়ন সঞ্চালন
উন্নত মানের মূল্যায়ন সঞ্চালন অত্যন্ত সুপারিশ করা হয়. উন্নত মানের মূল্যায়ন গুণগত হ্যাপটিক্স বাস্তবায়নের জন্য হ্যাপটিক প্রভাবের পরিমাপযোগ্য বৈশিষ্ট্যগুলিকে চিহ্নিত করে। শেষ হয়ে গেলে, ডিভাইস নির্মাতাদের বর্তমান হ্যাপটিক অবস্থা নির্ণয় করতে সক্ষম হওয়া উচিত, যার মানে তারা সামগ্রিক গুণমান উন্নত করতে লক্ষ্য নির্ধারণ করতে পারে। হার্ডওয়্যার মূল্যায়ন দেখুন।