← العودة إلى المدونة

منطقة الأمان في واجهة اللعبة وضمان جودة الأجهزة: ترتيب التنقيح وإصلاحات الـ Prefab

عندما تبدو محرر Unity سليمة لكن النوتش يقطع الـ HUD أو النقرات تخطئ: صنّف الأعطال، ونقّح Canvas Scaler و Screen.safeArea، وأصلح Prefabs مقابل إعادة تصدير AI Studio—مع علامات منطقة الأمان التصميمية كدعم.

نُشر في
  • game-ui-design
  • game-dev-ai
  • ui-to-engine
  • safe-area
  • unity
  • godot
  • cocos
  • vberai
  • qa
  • 2026
منطقة الأمان في واجهة اللعبة وضمان جودة الأجهزة: ترتيب التنقيح وإصلاحات الـ Prefab

أكثر تقارير شيوعًا: تبدو Game view سليمة، لكن على هاتف طويل يجلس الـ HUD تحت النوتش، أو تبدو الأزرار قابلة للنقر لكن الضغطات تخطئ. منطقة الأمان ليست «تحريك الـ Anchor»—بل هي سياسة Canvas الجذرية، وخلفية full-bleed مقابل محتوى مُزاح للداخل، وما إذا كان safeArea وقت التشغيل يطابق القناة.

تصنيفات الأعطال، ترتيب تنقيح Unity UGUI، قواعد إصلاح Prefab، وتحذيرات القنوات/الألعاب المصغّرة. علامات منطقة الأمان في بند تسليم التصميم 7 مُلخّصة تحت «ما يجب أن يوفره التصميم»؛ نطاق الأجهزة في بند ما قبل الإطلاق 1 مُوسّع هنا—وليس تكرارًا لـ قائمة المحرك + MCP Raycast / أول Play.

Godot / Cocos: اربطها بـ DisplayServer.get_display_safe_area() / عناصر SafeArea في المحرك؛ نفس ترتيب الخطوات في Unity أدناه.

معايير الفشل (أي واحد منها = لم يُجتَز): واجهة أساسية قابلة للقراءة أو أزرار مطلوبة تحت حجب النظام (النوتش، مؤشر الصفحة الرئيسية، الزوايا المستديرة)؛ إزاحة بصرية واضحة مقابل إزاحة النقر؛ Editor بنسبة 16:9 فقط دون نسبة الهدف على الجهاز؛ اختلاف سلوك منطقة الأمان بين Dev و Release دون مواصفة.


صنّف أولًا: قطع، أم إزاحة، أم خلفية فقط

العَرَضالمشتبه به أولًاإجراء هندسي
قطع بصري (نص/أيقونات في النوتش)المحتوى غير مُزاح للداخل؛ الجذر مُعامَل كشاشة كاملةافحص safeArea مقابل مستطيلات المحتوى
إزاحة النقر (يبدو صحيحًا، لكن يخطئ)وضع تحجيم Canvas، عدة Canvases، عدم تطابق الكاميراEventSystem raycast + Canvas renderMode
الخلفية مقطوعة، الأزرار سليمةخلفية full-bleed بحكم التصميم، والمحتوى مُزاح للداخلليس فشلًا إذا سمحت المواصفة
خطأ بعد التدويرلا مستمع لتغيّر الاتجاه / safeAreaأعد حساب الإزاحة عند التدوير
بناء قناة واحدة فقطSDK يغيّر safeArea أو الدقةاختبر ذلك البناء؛ لا تعتمد على Android العام فقط

Notch clip vs correct safe inset

Visual button vs hit area offset


Unity UGUI: ترتيب التنقيح الموصى به (6 خطوات)

1. ثبّت إعادة الإنتاج

سجّل الجهاز، نظام التشغيل، Dev/Release، الاتجاه، دقة Game view. بند ما قبل الإطلاق 5: شغّل الـ HUD الرئيسي على Dev و Release.

2. سجّل safeArea ودقة المرجع

بعد تحميل الواجهة الرئيسية، سجّل:

  • Screen.width / Screen.height
  • Screen.safeArea
  • Display.cutouts (Android 11+ إن استُخدم)

اقرأ: safeArea أصغر من الشاشة → الإزاحة للداخل مطلوبة. في Editor غالبًا safeArea يساوي الشاشة الكاملة → ليس بديلًا عن الجهاز.

3. جذر Canvas و Canvas Scaler

فحصخطأ شائعاتجاه الإصلاح
Render Mode الجذريخلط Screen Space / Camera UI → إزاحة rayوضع واحد للواجهة
Canvas Scalerدقة المرجع ≠ خط الأساس الطولي للمشروعطابق قائمة المحرك بند 1
Match width/heightالنسب الطويلة تُحجَّم خطأً؛ عناصر الحافة تنزلقاتفق على Match مع التصميم/الإنتاج؛ أصلح Prefab لا Scene فقط
ترتيب Canvases المتعددةالضغطات تذهب لطبقة خاطئةوحّد sortingOrder وأهداف raycast

4. الطبقات: خلفية full-bleed مقابل محتوى آمن

تسلسل Prefab المقترح:

Canvas
├── Background_FullBleed   (anchor كامل، قد يدخل النوتش، بلا إدخال)
└── SafeRoot               (مكوّن Safe Area أو حشو مدفوع بـ safeArea)
    ├── HUD_Content
    └── Popups

Background_FullBleed and SafeRoot hierarchy

استخدم Safe Area في Unity (أو كود المشروع الذي يضبط offsetMin/Max من Screen.safeArea). لا تمدّد الأزرار التفاعلية على الشاشة كاملة دون إزاحة للداخل.

تصديرات AI Studio بطبقة مسطحة واحدة: راجع nine-slice / إعادة تصدير مُهيكلة و canvas → Prefab.

5. فحص النقر على الجهاز

3–5 أزرار حرجة في المسار الرئيسي؛ قارن المركز البصري بالإصبع. الإزاحة في نافذة منبثقة واحدة فقط → افحص Canvas متداخلًا أو Scaler مزدوجًا.

6. ثبّت Prefab في المستودع

معايير الاجتياز تعيش في Prefab مُصدَّر بإصدار، لا في تجاوزات Scene اختبارية (بند ما قبل الإطلاق 6). بعد تغييرات Anchor، شغّل فحص فيض اللغات على لغات الضغط.


القناة / اللعبة المصغّرة (هندسيًا)

السيناريوملاحظة
تطبيق أصليScreen.safeArea + أجهزة حقيقية
بعض الألعاب المصغّرة / التطبيقات السريعةsafeArea / systemInfo للحاوية ≠ محاكاة Editor
Android cutoutscutout مقابل safeArea قد يختلفان
PC / decksafeArea غالبًا شاشة كاملة

النمط: ISafeAreaProvider (أو ما يعادله)؛ حقن لكل منصة—تجنّب #if في Prefabs الـ HUD.


توجيه الإصلاح

العَرَضالسبب المحتملالإجراءالمالك
قطع على الجهاز، Editor سليملا SafeRoot / لا مشغّل safeAreaطبّق Prefab + Safe Area؛ أعد الاختبار على الجهازالهندسة
الخلفية سليمة، الأزرار مقطوعةالأزرار تحت طبقة الفيضانقلها إلى SafeRoot؛ أعد تصدير الطبقات من AI Studioالهندسة + التصميم
إزاحة النقرCanvases متعددة / كاميرا UI / Scaler متداخلادمج Canvas أو وحّد كاميرا raycastالهندسة
انزلاق عند تغيّر الدقةAnchors ثابتة فقطأصلح Anchors؛ بند المحرك 6الهندسة
التصميم بلا إطار آمنبند التسليم 7 مفقوديضيف التصميم مراجع النوتش/الصفحة الرئيسية؛ أعد التصديرالتصميم
تصدير AI Studio مسطحBG + HUD غير مفصولينفصل في المكان ثم أعد التصديرالهندسة + التصميم

ما يوفره التصميم (ثانويًا)

التسليمالاستخدام الهندسي
الدقة المستهدفة + المرجع الآمن (نوتش / شريط الصفحة الرئيسية)Reference Resolution وتوقعات الإزاحة
طبقات full-bleed و HUD مُسمّاةPrefab Background_* / SafeRoot
تبويبات الحافة داخل الآمن أو فيض مقصوداستراتيجية Anchor

لا يحتاج المصممون لكتابة سكربتات—العلامات الواضحة تقلل تخمين بكسلات الإزاحة.


الأسئلة الشائعة

هل تكفي دقة iPhone في Game view؟
فحص Dev فقط؛ الإطلاق يتطلب الأجهزة المستهدفة (بند ما قبل الإطلاق 1). غالبًا safeArea في Editor يختلف.

مكوّن Safe Area أم إزاحة يدوية؟
خيار الفريق؛ اليدوي يجب أن يُحدَّث عند تغيّر safeArea/الاتجاه—تجنّب منطق مكرر.

إصلاح القطع بـ Canvas Scaler وحده؟
Scaler يحجّم؛ الإزاحة منفصلة. القطع هو مستطيل المحتوى؛ Scaler هو تحجيم عام.

هل يمكن لـ MCP/Cursor المساعدة؟
جيد لإعادة تسمية Prefab، وإرفاق Safe Area، وفحص Play—الأرقام ما زالت من سجلات الجهاز. قائمة المحرك + MCP.

منطقة الأمان مع فيض اللغات؟
أصلح تخطيط SafeRoot أولًا، ثم لغات الضغط—الإزاحة تقلّص العرض.

VberAI Studio مقابل Google AI Studio؟
لا. راجع المقارنة.

أدلة أخرى قد تعجبك

تصميم واجهة اللعبة: سير العمل التقليدي مقابل فن الذكاء الاصطناعي + تقسيم VberAI Studio

قارن التقطيع اليدوي في PS/Figma مع VberAI Studio: استيراد أو توليد الواجهة بالذكاء الاصطناعي، تقسيم الطبقات تلقائياً، تصدير PSD طبقية أو مجموعات صور. التأثيرات والخطوات وفيديوهات العرض.

  • game-ui-design
  • game-ui-designer-flow
  • ui-slicing
  • AIGC
اقرأ المزيد

بناء لعبة RPG ثلاثية الأبعاد مع Unity MCP: التحكم من منظور الشخص الثالث والقتال والمهام

دليل عملي لـ Unity MCP لبناء نموذج RPG ثلاثي الأبعاد قابل للعب: حركة من منظور الشخص الثالث، قتال مشاجرة في الوقت الفعلي، آلة حالة للعدو، وربط المهام في Cursor أو بيئات تطوير ذكاء اصطناعي أخرى.

  • Unity MCP
  • 3D RPG
  • Unity
  • combat
اقرأ المزيد