আজকের প্রতিযোগিতামূলক গেমিং বাজারে, যতটা সম্ভব দর্শকদের কাছে পৌঁছানো আগের চেয়ে বেশি গুরুত্বপূর্ণ। ফোন, ট্যাবলেট, ফোল্ডেবল এবং ডেস্কটপের মতো বিভিন্ন ফর্ম ফ্যাক্টরগুলির জন্য গেমগুলি বিকাশ করে, আপনি সম্ভাব্য খেলোয়াড়দের একটি বৃহত্তর পুলে ট্যাপ করতে পারেন এবং আপনার সাফল্যের সম্ভাবনা বাড়াতে পারেন।
সমর্থন স্ক্রীন resizability
বিভিন্ন ফর্ম ফ্যাক্টর সমর্থন করার জন্য, আপনার গেমের আকার পরিবর্তনযোগ্য হতে হবে। পরিবর্তনযোগ্যতা আপনার গেমটিকে ডিভাইস কনফিগারেশন যেমন প্রতিকৃতি এবং ল্যান্ডস্কেপ অভিযোজন, মাল্টি-উইন্ডো মোড এবং ভাঁজযোগ্য ডিভাইসগুলির ভাঁজ এবং খোলা অবস্থায় সমর্থন করতে সক্ষম করে।
যদি আপনার গেমটি সমস্ত উইন্ডোর আকার এবং ওরিয়েন্টেশন কনফিগারেশন সমর্থন না করে, তাহলে প্ল্যাটফর্ম লেটারবক্স আপনার গেমটিকে সামঞ্জস্যপূর্ণ মোডে রাখে এবং প্রয়োজনে প্লেয়ারটিকে একটি অসমর্থিত কনফিগারেশনে পরিবর্তন করার আগে অনুরোধ করে।
![](https://developer.android.com/static/images/games/multiplatform/configuration_compatibility_dialog.png?authuser=4&hl=bn)
আরও তথ্যের জন্য দেখুন বড় পর্দার পরিবর্তনযোগ্যতা সমর্থন করুন ।
মাল্টি-উইন্ডো মোড
মাল্টি-উইন্ডো মোড একই সাথে একই স্ক্রিন শেয়ার করতে একাধিক অ্যাপকে সক্ষম করে। অ্যাপ্লিকেশানগুলি পাশাপাশি হতে পারে বা অন্যটির উপরে একটি (বিভক্ত-স্ক্রিন মোড), একটি ছোট উইন্ডোতে একটি অ্যাপ্লিকেশন অন্য অ্যাপ্লিকেশনগুলিকে (ছবিতে-ছবি মোড) ওভারলে করে, বা পৃথক চলমান, আকার পরিবর্তনযোগ্য উইন্ডোতে (ফ্রি-ফর্ম মোড) হতে পারে )
আপনার গেমটি যখন মাল্টি-উইন্ডো মোডে চলে তখন সামঞ্জস্যতা মোডে যাওয়া এড়াতে, ইউনিটি বিল্ড সেটিংসে রিসাইজযোগ্য উইন্ডো বিকল্পটি সক্ষম করে আপনার গেমটি পুনরায় পরিবর্তনযোগ্যতা পরিচালনা করতে সক্ষম বলে ঘোষণা করুন৷
![](https://docs.unity3d.com/uploads/Main/PlayerSetAndroidResPres.png)
কাটআউট প্রদর্শন করুন
একটি ডিসপ্লে কাটআউট হল কিছু ডিভাইসের একটি এলাকা যা ডিসপ্লে পৃষ্ঠের মধ্যে প্রসারিত হয়। ডিভাইসের সামনে গুরুত্বপূর্ণ সেন্সরগুলির জন্য স্থান প্রদান করার সময় কাটআউটগুলি প্রান্ত থেকে প্রান্তের অভিজ্ঞতার জন্য অনুমতি দেয়।
![](https://developer.android.com/static/games/engines/unity/images/cutout-intro.png?authuser=4&hl=bn)
আপনার গেমে এজ-টু-এজ অভিজ্ঞতা আনতে, নিরাপদ-ফ্রেম সচেতন হতে গেমটিকে কনফিগার করুন। পিক্সেলে স্ক্রীনের নিরাপদ এলাকা পেতে ইউনিটি safeArea API-কে জিজ্ঞাসা করুন এবং সেই অনুযায়ী আপনার গেম UI এবং UX সামঞ্জস্য করুন, বিশেষত ব্যবহারকারীরা যে উপাদানগুলির সাথে ইন্টারঅ্যাক্ট করতে পারে তার জন্য।
ভাঁজযোগ্য অঙ্গবিন্যাস
ভাঁজযোগ্য ডিভাইসগুলি বিভিন্ন ভাঁজ অবস্থায় থাকতে পারে, যেমন FLAT
(সম্পূর্ণ খোলা) বা HALF_OPENED
(কোথাও সম্পূর্ণ খোলা এবং সম্পূর্ণ বন্ধের মধ্যে)। যখন একটি ডিভাইস HALF_OPENED
অবস্থায় থাকে, তখন ভাঁজের অভিযোজনের উপর নির্ভর করে দুটি ভঙ্গি করা সম্ভব হয়: ট্যাবলেটপ ভঙ্গি (অনুভূমিক ভাঁজ) এবং বুক ভঙ্গি (উল্লম্ব ভাঁজ)। প্লেয়ার নিমজ্জন এবং ব্যস্ততা বাড়াতে ট্যাবলেটপ ভঙ্গি ব্যবহার করুন।
![](https://developer.android.com/static/images/games/multiplatform/foldable_posture_support.png?authuser=4&hl=bn)
ট্যাবলেটপ ভঙ্গি বাস্তবায়ন করতে, ডিফল্ট ইউনিটি অ্যাক্টিভিটি প্রসারিত করুন এবং তারপরে জেটপ্যাক উইন্ডো ম্যানেজার লেআউট লাইব্রেরি ব্যবহার করে আপনার গেমের ভাঁজ সম্পর্কে সচেতন করুন ৷
ঐক্য নমুনা প্রকল্প
ইউনিটি নমুনা প্রকল্পটি ইউনিটি 2D প্রদর্শনী প্রকল্প লস্ট ক্রিপ্টের উপর ভিত্তি করে। নমুনা প্রকল্পটি দেখায় কিভাবে ইউনিটিতে বড় পর্দার পরিবর্তনযোগ্যতা সমর্থন করা যায়। বড় স্ক্রীন এবং ভাঁজযোগ্য ডিভাইস সমর্থনের জন্য ইউনিটি বিল্ড বিকল্পগুলিতে বেশ কয়েকটি পরিবর্তনের প্রয়োজন, সেইসাথে আপনার ক্যামেরা এবং UI ক্যানভাসের বিন্যাসে বিবেচনা করা দরকার।
নমুনা প্রকল্পটি এখন ডাউনলোড করার জন্য উপলব্ধ। প্রকল্পে চারটি ভিন্ন দৃশ্য রয়েছে:
- মূল: মৌলিক পরিবর্তনযোগ্য বৈশিষ্ট্যের জন্য সমর্থন
- অ্যাঙ্করিং: "অরিজিনাল" দৃশ্যের মতোই, কিন্তু বিভিন্ন আকৃতির অনুপাতের সাথে খাপ খায় এবং ডিসপ্লে কাটআউট এড়িয়ে যায়
- HingeAware: "অ্যাঙ্করিং" দৃশ্যের মতই, কিন্তু ট্যাবলেটপ ভঙ্গি সমর্থন করে
- মূল মেনু: দৃশ্য শুরু, অন্যান্য দৃশ্যে নেভিগেশনের অনুমতি দেয় এবং সমস্ত ডিভাইসের অভিযোজন, ভাঁজ, উন্মোচন এবং ট্যাবলেটপ ভঙ্গি সম্পূর্ণরূপে সমর্থন করে
অ্যান্ড্রয়েডের জন্য তৈরি করার সময়, সমস্ত দৃশ্য নির্বাচন করুন এবং "মেইনমেনু" দৃশ্যটি শুরুর দৃশ্য হিসাবে সেট করুন।
![](https://developer.android.com/static/games/engines/unity/images/mainmenu.png?authuser=4&hl=bn)
আকার পরিবর্তনযোগ্য উইন্ডো সমর্থন দিয়ে শুরু করুন
আপনার অ্যান্ড্রয়েড বড় স্ক্রীন অ্যাপ্লিকেশনে বিভিন্ন ডিসপ্লের আকার এবং আকৃতির অনুপাতের জন্য সমর্থন প্রয়োগ করুন যাতে আপনার গেম বা অ্যাপ্লিকেশন বিভিন্ন ডিভাইসে সঠিকভাবে প্রদর্শিত হয় তা নিশ্চিত করতে। ইউনিটি বিল্ড সেটিংস ( "মাল্টি-উইন্ডো মোড" বিভাগটি দেখুন) রিসাইজযোগ্য উইন্ডো প্রপার্টি সেট করে আকার পরিবর্তন করতে এবং আকৃতির অনুপাত পরিবর্তন করতে আপনার গেমটিকে সক্ষম করুন৷ বিভিন্ন স্ক্রীনে আরও ভালভাবে ফিট করতে ক্যামেরা এবং ক্যানভাসের আকৃতির অনুপাত সামঞ্জস্য করুন। বিল্ড সেটিংসে এবং Plugins/Android/AndroidManifest.xml
ফাইলে প্রজেক্ট সেটিংস দেখুন। প্রকল্পের "অরিজিনাল" দৃশ্যে পূর্ণ স্ক্রীনের আকার পরিবর্তনযোগ্য বৈশিষ্ট্যের অভিজ্ঞতা নিন।
![](https://developer.android.com/static/games/engines/unity/images/full_resizable.png?authuser=4&hl=bn)
ডিসপ্লে কাটআউটগুলি পরিচালনা করার সময় পূর্ণ-স্ক্রীনে ডুবে যান
একটি বর্ধিত ব্যবহারকারীর অভিজ্ঞতার জন্য গেমপ্লেকে নিমজ্জিত করতে সমগ্র স্ক্রীন ব্যবহার করতে আপনার গেমটিকে সক্ষম করুন৷ স্ক্রিনের আকারে স্বয়ংক্রিয়ভাবে সামঞ্জস্য করতে আপনার গেম UI অ্যাঙ্করিং এবং ক্যামেরা সেটিংস আপডেট করুন। এটি UI উপাদানগুলিকে পর্দার আকারের তুলনায় তাদের অবস্থান বজায় রাখতে দেয়।
"অ্যাঙ্করিং" দৃশ্যটি একটি বর্ধিত কার্যকলাপের মাধ্যমে ডিভাইস কনফিগারেশন পরিবর্তনের প্রতিক্রিয়া জানাতে CameraAspectLock
স্ক্রিপ্ট ব্যবহার করে (দেখুন Assets/Plugins/Android/LargeScreenPlayableActivity.java
)। ইউনিটির safeArea API SafeZoneAPI
স্ক্রিপ্টে প্রদর্শিত হয়, যা "অ্যাঙ্করিং" দৃশ্যের ভিতরে SafeZone
বস্তুর সাথে আবদ্ধ হয়।
![একটি ভাঁজযোগ্য ডিভাইসের ভিতরের এবং বাইরের ডিসপ্লেতে গেমের দৃশ্য পূর্ণ স্ক্রীন।](https://developer.android.com/static/games/engines/unity/images/display_cutout.png?authuser=4&hl=bn)
ভাঁজযোগ্য ডিভাইসের জন্য অপ্টিমাইজ করুন
ইউনিটি নমুনা প্রকল্পের শেষ দৃশ্য, "HingeAware"-এ একটি ConfigurationManager
অবজেক্ট রয়েছে যা জেটপ্যাক লাইব্রেরি API এবং একটি বর্ধিত কার্যকলাপের মাধ্যমে লক্ষ্য ডিভাইসের বিভিন্ন ভাঁজ অবস্থায় সাড়া দেয় (দেখুন Assets/Plugins/Android/LargeScreenPlayableActivity.java
)। দৃশ্যটি ডিভাইসের ভাঁজ অবস্থার উপর ভিত্তি করে UI নিয়ন্ত্রণ করতে PanelOnFold
স্ক্রিপ্ট ব্যবহার করে, উদাহরণস্বরূপ, যখন ডিভাইসটি ট্যাবলেটপ ভঙ্গিতে থাকে এবং ক্যামেরা সামঞ্জস্য করে তখন নীচের কন্ট্রোলার প্যানেলটি দেখানো হয়।
![](https://developer.android.com/static/games/engines/unity/images/table_top.png?authuser=4&hl=bn)