ملخص: تأخذ هذه الدورة المتقدمة الطلاب إلى إنتاج الواقع الافتراضي الاحترافي والمعرضي. على مدار 8 وحدات، يتقن الطلاب معمارية Unity XRI، الواقع الافتراضي متعدد المستخدمين مع Photon Fusion، تحسين أداء GPU، الذكاء الاصطناعي المكاني، الإتاحة، والتقييم المتقدم (IPQ + ESM في الجلسة). مشروع الختام هو تجربة واقع افتراضي جاهزة للمعرض مُختبرة بـ SUS + IPQ من ≥5 مستخدمين. الخطوط العامة: معمارية Unity XRI ← واقع افتراضي متعدد المستخدمين ← تحسين GPU ← ذكاء اصطناعي مكاني ← إتاحة ← تقييم IPQ وESM ← جاهزية الإنتاج ← تحضير المعرض.
أهداف التعلم
في نهاية هذه الدورة، سيتمكن الطلاب من:
- بناء (بلوم: الإنشاء) معمارية تفاعل Unity XRI (XR Origin، محاورات، قابلية تفاعل، مدير التفاعل)
- تنفيذ (الإنشاء) تجربة واقع افتراضي متعدد المستخدمين في الوقت الفعلي مع Photon Fusion (NetworkObject، RPC، VoiceConnection)
- تشخيص وتحسين (التحليل/التقييم) أداء GPU للواقع الافتراضي (استدعاءات الرسم، LOD، التصيير الحؤولي، Frame Debugger)
- دمج (الإنشاء) مكونات ذكاء اصطناعي مكاني: فهم المشهد، شخصيات LLM، محتوى توليدي
- تدقيق (التقييم) إتاحة تجربة الواقع الافتراضي باستخدام قائمة تحقق منظمة
- تقييم (التقييم) الحضور والانغماس بـ IPQ (Schubert 2001) وأسئلة ESM في الجلسة
- إنتاج (الإنشاء) تجربة جاهزة للمعرض مع توثيق للمشغّل والوساطة
الوحدة 1 — معمارية Unity XRI (2.5 ساعة)
المفهوم
حزمة تفاعل XR في Unity (XRI — XR Interaction Toolkit) هي الإطار المعياري في Unity لتفاعلات الواقع الافتراضي/المعزز. تفصل المسؤوليات بين ثلاثة مكونات:
- XR Interactor (نشط — اليدان، الشعاع): المكوّن الذي يُنفّذ التفاعل
- XR Interactable (سلبي — الجسم): المكوّن الذي يمكن التفاعل معه
- XR Interaction Manager (منسق): وسيط يُطابق التفاعلات
التسلسل الهرمي الكامل لـ XRI:
XR Origin (Camera rig) ├── Camera Offset │ └── Main Camera (تتبع الرأس) ├── وحدة التحكم اليسرى │ ├── XR Ray Interactor (تفاعل بعيد) │ ├── XR Direct Interactor (تفاعل قريب) │ └── XR Interactor Line Visual └── وحدة التحكم اليمنى ├── XR Ray Interactor ├── XR Direct Interactor └── XR Interactor Line Visual
أنواع XR Interactable:
| المكوّن | الدور | الاستخدام |
|---|---|---|
XR Grab Interactable | قابل للإمساك بوحدات التحكم | أشياء التلاعب، الأدوات |
XR Simple Interactable | قابل للنقر دون إمساك | أزرار، مشغلات، مناطق |
XR Socket Interactor | يستقبل جسمًا ممسوكًا | مخزون، لغز، تجميع |
تكوين الإمساك:
Movement Type: Kinematic (مستقر، بدون فيزياء) أو Tracked (فيزياء واقعية)Select Mode: فردي أو متعدد (إمساكات متعددة)Interaction Layer Mask: تصفية المحاورات التي يمكنها إمساك هذا الجسم
التمرين المعملي 1.1 — مشهد XRI كامل
الخطوات:
- أنشئ مشروع Unity جديد (URP، Unity 2022.x LTS)
- استورد XR Interaction Toolkit (Package Manager → Unity Registry)
- أضف XR Origin (Room Scale) إلى المشهد
- كوّن وحدتَي التحكم اليسرى واليمنى مع Ray Interactor + Direct Interactor
- أنشئ 5 أشياء: 3 Grab Interactables + 1 Simple Interactable (زر) + 1 Socket Interactor
- اختبر في وضع التشغيل مع محاكي جهاز XR (بدون خوذة)
تمرين مصغر: أضف زر واجهة مستخدم في مساحة العالم (3D Canvas، World Space) يغيّر لون جميع الأشياء عند النقر. استخدم Unity Events على XR Simple Interactable.
الوحدة 2 — واقع افتراضي متعدد المستخدمين مع Photon Fusion (3 ساعات)
المفهوم
يتطلب الواقع الافتراضي متعدد المستخدمين تكرارًا شبكيًا للموضع والاتجاه والحالة في الوقت الفعلي.
Photon Fusion (خليفة PUN2) هو أكثر SDK Unity استخدامًا للواقع الافتراضي الشبكي. المفاهيم الرئيسية:
- NetworkRunner: المكوّن الرئيسي في Fusion — يدير الاتصال والجلسة
- NetworkObject: كيان GameObject تُزامَن حالته عبر الشبكة
- NetworkTransform: يُزامن تلقائيًا الموضع/الدوران
- NetworkBehaviour: الصنف الأساسي للنصوص البرمجية الشبكية (يستبدل MonoBehaviour)
- RPC (Remote Procedure Call): طريقة تُنفَّذ على جميع العملاء
- VoiceConnection (Photon Voice): صوت مكاني مدمج
تكوين PhotonAppSettings:
- أنشئ معرّف تطبيق Fusion على https://dashboard.photonengine.com/
- في Unity: Photon → Realtime → PhotonServerSettings → الصق معرّف التطبيق
- أنشئ كيانًا مع
NetworkRunner(Add Peer Mode: Host) - أضف
NetworkObjectعلى كل جسم يجب مزامنته
جسم مشترك قابل للإمساك (مثال): `csharp using Fusion; using UnityEngine; using UnityEngine.XR.Interaction.Toolkit;
public class SharedObject : NetworkBehaviour { [Networked] public bool IsGrabbed { get; set; } [Networked] public NetworkId GrabbedByPlayer { get; set; }
private XRGrabInteractable _grab;
public override void Spawned() { _grab = GetComponent<XRGrabInteractable>(); _grab.selectEntered.AddListener(OnGrabbed); _grab.selectExited.AddListener(OnReleased); }
private void OnGrabbed(SelectEnterEventArgs args) { RPC_Grab(true, Runner.LocalPlayer); }
private void OnReleased(SelectExitEventArgs args) { RPC_Grab(false, default); }
[Rpc(RpcSources.InputAuthority, RpcTargets.All)] public void RPC_Grab(bool grabbed, PlayerRef player) { IsGrabbed = grabbed; GrabbedByPlayer = player.IsValid ? Runner.GetPlayerObject(player).Id : default; } } `
أفاتار متعدد المستخدمين: كل لاعب يحتاج نموذجًا أوليًا مع NetworkObject + NetworkTransform على الرأس ووحدتَي التحكم. يجب أن يكون الأفاتار المحلي غير مرئي للاعب المحلي (تعطيل MeshRenderers)، لكن مرئيًا للآخرين.
التمرين المعملي 2.1 — جلسة متعددة المستخدمين
الخطوات:
- كوّن Photon Fusion (معرّف التطبيق، NetworkRunner)
- أنشئ غرفة مشتركة مع 4 أشياء قابلة للإمساك
- اختبر مع نسختَين من Unity (أو حاسوب ثانٍ على الشبكة ذاتها)
- تحقق: هل تتزامن الأشياء بشكل صحيح؟ هل يوجد تأخر مرئي؟
تمرين مصغر: نفّذ RPC يجعل جسمًا يغيّر لونه عند إمساكه بلاعب، ويعود إلى لونه الأصلي عند الإفراج عنه.
الوحدة 3 — تحسين GPU للواقع الافتراضي (2.5 ساعة)
المفهوم
يتطلب الواقع الافتراضي الحفاظ على معدل إطارات مستقر عند 90 fps أو أعلى لتجنب دوار الحركة. على عكس ألعاب سطح المكتب، لا مجال للتسوية.
أهداف الأداء لـ Quest 3 (GPU مدمج):
| المقياس | الهدف | العتبة |
|---|---|---|
| استدعاءات الرسم (Draw calls) | < 100 | < 150 حد مطلق |
| المضلعات (Polygons) | < 500,000 (رؤوس) | < 750k حد مطلق |
| وقت إطار GPU | < 8ms (90fps) | < 11ms (90fps) |
| ذاكرة RAM | < 3 GB | < 4 GB حد مطلق |
| حجم الملمس (Texture) | 1024×1024 كحد أقصى (جوال) | 2048×2048 حد مطلق |
أدوات التحسين:
| الأداة | الغرض | كيفية الوصول |
|---|---|---|
| Unity Profiler | تحليل عام (CPU، GPU، ذاكرة) | Window → Analysis → Profiler |
| Frame Debugger | تفصيل استدعاء رسم بعد آخر | Window → Analysis → Frame Debugger |
| Meta Quest Developer Hub | مراقبة الأداء على الجهاز | https://developer.oculus.com/downloads/ |
| Render Pipeline Stats | عرض سريع لاستدعاءات الرسم/المثلثات | زر Stats في عرض اللعبة |
تقنيات التحسين:
| التقنية | الكسب | التطبيق |
|---|---|---|
| Static Batching | تقليل استدعاءات الرسم للأشياء الثابتة | علّم الأشياء بـ"Static" في المفتش |
| GPU Instancing | تصيير أشياء متطابقة في استدعاء واحد | المادة → Enable GPU Instancing |
| LOD Group | تقليل عدد المضلعات عن بُعد | إضافة مكوّن LOD Group |
| Occlusion Culling | عدم تصيير الأشياء غير المرئية | Window → Rendering → Occlusion Culling |
| الإضاءة المخبوزة (Baked lighting) | تحسيب مسبق للأضواء (بدون تكلفة وقت فعلي) | Lighting → Baked |
| ضغط الملمس (Texture compression) | تقليل الذاكرة وعرض النطاق | Texture Settings → ASTC (Quest) |
| التصيير الحؤولي (Foveated rendering) | دقة عالية فقط حيث تنظر العين | Oculus SDK: OculusSettings → FoveatedRendering |
مثال على شجرة LOD Group:
MyObject (LOD Group) ├── LOD0 — 5,000 مضلع (مسافة 0–10م) ├── LOD1 — 1,500 مضلع (مسافة 10–25م) ├── LOD2 — 300 مضلع (مسافة 25–50م) └── LOD3 — محذوف (مسافة > 50م)
التمرين المعملي 3.1 — تحليل الأداء
الخطوات:
- افتح مشروع واقع افتراضي في Unity مع ≥ 5 أشياء في المشهد
- افتح Frame Debugger: حدد أكلف 3 استدعاءات رسم
- طبّق Static Batching على جميع الأشياء الثابتة
- فعّل GPU Instancing على المادة الأكثر تكرارًا
- قارن استدعاءات الرسم قبل/بعد: احفظ لقطة شاشة لكل حالة
- أضف LOD Group للجسم الأكثر تعقيدًا (3 مستويات LOD)
تمرين مصغر: تجربة الواقع الافتراضي لديك بها 180 استدعاء رسم. بعد Static Batching لديك 110. بعد GPU Instancing لديك 75. هل هذا كافٍ لـ Quest 3؟ ما التحسين التالي الذي ستطبقه؟
الوحدة 4 — الذكاء الاصطناعي المكاني (2.5 ساعة)
المفهوم
يجمع الذكاء الاصطناعي المكاني بين التعلم الآلي والفهم المكاني لإنشاء بيئات واقع افتراضي تتكيف مع الفضاء الجسدي الحقيقي وتدمج وكلاء افتراضيين أذكياء.
ثلاثة ركائز للذكاء الاصطناعي المكاني في الواقع الافتراضي:
- فهم المشهد (Scene understanding)
- Meta Quest 3: كشف المستويات، توليد الشبكة، الفهم الدلالي للأشياء الحقيقية
- الاستخدام: أثاث افتراضي يتكيف مع الغرفة الحقيقية، توائم رقمية، كشف الإشغال
- شخصيات الذكاء الاصطناعي (AI NPCs) مع LLM
- LLM (GPT-4, Claude) + تحويل كلام إلى نص (Whisper) + تحويل نص إلى كلام + رسوم متحركة = شخصية واقع افتراضي يمكنك التحدث معها بشكل طبيعي
- إطار العمل: Unity Sentis (استدلال محلي)، أو REST API (OpenAI, Anthropic) — التأخر يجب مراعاته
- المحتوى التوليدي (Generative content)
- Meshy.ai: توليد جسم ثلاثي الأبعاد من وصف نصي
- Shap-E (OpenAI): نص أو صورة → شبكة ثلاثية الأبعاد
- Skybox AI (Blockade Labs): توليد بانوراما 360° →
<a-sky>في A-Frame
فهم مشهد Quest 3 (Meta SDK): `csharp using Meta.XR.MRUtilityKit;
public class SceneManager : MonoBehaviour { [SerializeField] private MRUK mruk;
private void Start() { mruk.LoadSceneFromDevice(); mruk.RoomCreatedEvent.AddListener(OnRoomLoaded); }
private void OnRoomLoaded(MRUKRoom room) { // احصل على جميع المستويات المكتشفة (جدران، أرضية، سقف) var planes = room.GetRoomObjects(MRUKAnchor.SceneLabels.WALL_FACE); foreach (var plane in planes) { Debug.Log($"جدار مكتشف: {plane.transform.position}"); } } } `
التمرين المعملي 4.1 — نموذج أولي لشخصية ذكاء اصطناعي
الخطوات:
- أنشئ مشهد واقع افتراضي في Unity مع شخصية (Humanoid + Animator)
- أضف مكوّن ميكروفون (Unity Microphone API)
- اربط بـ OpenAI Whisper API للنسخ
- اربط بـ OpenAI GPT-3.5 أو Claude API للرد (الدور: "أنت مرشد في هذا المتحف الافتراضي")
- استخدم API تحويل النص إلى كلام (ElevenLabs أو Azure) للنطق بالرد
- اختبر بـ 3 أسئلة مختلفة — هل تبقى الشخصية متسقة؟
تمرين مصغر: ما المخاطر التي تنطوي عليها شخصية ذكاء اصطناعي في تجربة واقع افتراضي عامة؟ أذكر 3 على الأقل (هلوسات، محتوى غير لائق، تحيّز) وحلًا تخفيفيًا ملموسًا لكل منها.
الوحدة 5 — إتاحة الواقع الافتراضي (2.5 ساعة)
المفهوم
الإتاحة في الواقع الافتراضي أكثر أهمية مما هي عليه في أي وسيط آخر لأن الانغماس يمكن أن يُعظّم تجربة الإقصاء للمستخدمين غير المستوعَبين.
4 فئات إتاحة في الواقع الافتراضي:
1. الراحة الشاملة (Universal Comfort)
- [ ] خيارات تنقل متعددة (الانتقال الفوري إلزامي)
- [ ] وضع راحة للمستخدمين الأكثر حساسية (دوران ثابت، تأثير العدسة السوداء)
- [ ] مدة الجلسة القصوى مُشار إليها قبل الدخول
- [ ] خروج/إيقاف مؤقت متاح في جميع الأوقات
2. إتاحة البصر (Visual Accessibility)
- [ ] تباين النص الأدنى 4.5:1 (WCAG AA)
- [ ] لا معلومات تُنقَل باللون وحده
- [ ] حجم نص كافٍ (> 0.1م على مسافة 1م)
- [ ] وضع عمى الألوان (deuteranopia/protanopia/tritanopia)
- [ ] خط قابل للتعديل (الحجم، الوزن)
3. إتاحة السمع (Auditory Accessibility)
- [ ] ترجمات لجميع المحتوى الصوتي
- [ ] بدائل نصية لأصوات التفاعل
- [ ] ضوابط صوت قابلة للتعديل
- [ ] لا معلومات حرجة بالصوت فقط
4. إتاحة الحركة (Motor Accessibility)
- [ ] لا تفاعل يتطلب تلاعبًا بكلتا اليدين في آنٍ واحد
- [ ] النظرة + التوقف كبديل للزناد
- [ ] تخصيص تعيين الأزرار
- [ ] وقت راحة جسدية كافٍ بين التفاعلات
الأدوات والمراجع:
- متطلبات مستخدمي إتاحة XR (W3C): https://www.w3.org/TR/xaur/
- نظرة عامة على إتاحة Meta: https://developer.oculus.com/resources/design-accessible-vr-apps/
- WCAG 2.1 (AA للنص): https://www.w3.org/TR/WCAG21/
التمرين المعملي 5.1 — تدقيق الإتاحة
الخطوات:
- طبّق قائمة التحقق على مشروعك الحالي (جميع الفئات الأربع)
- لكل بند غير مُحدَّد: صنّفه P0 / P1 / P2
- نفّذ جميع P0
- اختياري: اختبر مع شخص يعاني من إعاقة بصرية أو حركية
تمرين مصغر: أعد تصميم قائمة التنقل في مشروعك الختامي لتكون متاحة لمستخدم يعاني من محدودية في الحركة الدقيقة في يد واحدة.
الوحدة 6 — تقييم IPQ وESM (2.5 ساعة)
المفهوم
يتجاوز تقييم المستوى الثالث SUS لقياس الحضور والرضا في الجلسة تحديدًا.
IPQ (استبيان حضور المجموعة — Igroup Presence Questionnaire)
يقيس IPQ (Schubert وآخرون، 2001) الشعور بالحضور في الواقع الافتراضي عبر 4 أبعاد فرعية:
| البُعد | ما يقيسه | البنود |
|---|---|---|
| الحضور العام (GP) | الشعور الإجمالي بالحضور | بند واحد: "شعرت بأنني كنت هناك" |
| الحضور المكاني (SP) | الشعور بالتواجد الجسدي في البيئة | 5 بنود |
| الانخراط (INV) | استيعاب الانتباه من قِبل البيئة الافتراضية | 4 بنود |
| الواقعية المُدرَكة (REAL) | واقعية العالم الافتراضي | 4 بنود |
المصدر: Schubert, T., Friedmann, F., & Regenbrecht, H. (2001). The experience of presence: Factor analytic insights. Presence, 10(3), 266–281. https://doi.org/10.1162/105474601300343603 الأداة الإلكترونية: http://www.igroup.org/pq/ipq/index.php
حساب IPQ:
- كل بند: مقياس ليكرت بـ7 نقاط (−3 إلى +3)
- احسب المتوسط لكل بُعد فرعي
- قارن بالقيم المعيارية من البيانات المرجعية للأداة
ESM (طريقة أخذ عينات التجربة) — تكيّف في الجلسة
ESM هي طريقة بحثية لجمع الملاحظات أثناء التجربة (لا بعدها فقط). في الواقع الافتراضي، تتكون من 3 أسئلة موجزة وغير مُزعجة في الجلسة تُعرض في لحظات محددة مسبقًا:
- "كم تشعر بالحضور في هذه البيئة الآن؟" (1–7)
- "كم أنت منخرط في هذه التجربة؟" (1–7)
- "كم تشعر بالراحة الجسدية؟" (1–7)
التطبيق: يظهر لوح واجهة مستخدم عند T+2 دقيقة، T+7 دقائق، T+15 دقيقة عبر coroutine في Unity. يرد المستخدم بـ3 أزرار (1، 2، 3... 7) أو شريط تمرير. تُسجَّل الردود مع الطابع الزمني.
القراءة المدمجة:
- SUS (بعد الجلسة) → سهولة الاستخدام الإجمالية
- IPQ (بعد الجلسة) → جودة الحضور
- ESM (في الجلسة) → الديناميكيات الزمنية (لحظة الذروة، انهيار الراحة...)
التمرين المعملي 6.1 — اختبار IPQ
الخطوات:
- جهّز نموذج IPQ إلكترونيًا (Google Forms أو ورقيًا) من: http://www.igroup.org/pq/ipq/index.php
- اختبر مع ≥ 3 مشاركين (بعد SUS إن كان لديك الوقت)
- احسب المتوسط لكل بُعد فرعي (GP، SP، INV، REAL)
- حدد البُعد الأقل درجةً → ماذا يخبرك عن التجربة؟
تمرين مصغر: تجربتك تحصل على SP=2.1، INV=1.8، REAL=0.9، GP=1.4. درجة REAL المنخفضة — ماذا تدل على ذلك وما الفعل التصميمي الذي يمكن أن يُحسّنها؟
الوحدة 7 — جاهزية الإنتاج (2.5 ساعة)
المفهوم
تجربة الواقع الافتراضي الجاهزة للمعرض ليست فقط تلك التي تعمل — بل يجب أن تعمل بشكل موثوق لمدة 6–8 ساعات يوميًا لعدة أيام، وأن تكون قابلة للتثبيت في أقل من 30 دقيقة، وأن يتمكن شخص غير تقني من تشغيلها.
قائمة تحقق جاهزية الإنتاج:
| الفئة | المعيار | التحقق |
|---|---|---|
| الاستقرار | لا تعطل في 2 ساعة تشغيل متواصل | اختبار + مراقبة السجلات |
| الاستقرار | إعادة تشغيل متعادلة (زر الجهاز أو القائمة) | اختبار يدوي |
| قابلية التشغيل | الإعداد < 30 دقيقة من الصفر | اختبار موقوت مع شخص غير مألوف |
| قابلية التشغيل | دليل المشغّل متاح (4–6 صفحات مطبوعة) | الوثيقة حاضرة |
| التثبيت | APK مُثبَّت مسبقًا أو ملف تنفيذي | الملف موجود في الموقع |
| التوثيق | الملف الفني (مفهوم، سيرة الفنان، اعتمادات) | 1–2 صفحات A4 |
| الطوارئ | بروتوكول الإيقاف الطارئ | موثق + مُمارَس |
قالب دليل استكشاف الأخطاء:
| المشكلة | السبب | الحل |
|---|---|---|
| شاشة سوداء عند التشغيل | الخوذة غير معترف بها | أعد توصيل USB، أعد تشغيل الخوذة |
| انخفاض معدل الإطارات بعد 30 دقيقة | تقليل الحرارة | فعّل وضع الأداء، أضف مروحة |
| الجسم لا يمكن إمساكه | عدم تطابق طبقة التفاعل | تحقق من XRI Interaction Layer Mask |
| فقدان الشبكة (متعدد المستخدمين) | انقطاع Wi-Fi | أعد الاتصال بنقطة الاتصال، أعد تشغيل NetworkRunner |
التمرين المعملي 7.1 — تدقيق جاهزية الإنتاج
الخطوات:
- طبّق قائمة تحقق جاهزية الإنتاج على مشروعك الحالي
- حدد أكثر 3 بنود مفقودة أهمية
- اكتب دليل مشغّل من صفحتَين (الإعداد + الاستخدام اليومي + استكشاف الأخطاء)
- اختبر مع متطوع لم يرَ مشروعك قط: هل يمكنه إعداده من الدليل وحده؟
تمرين مصغر: يفتح معرضك خلال 3 أيام. يُظهر الفحص التقني: معدل إطارات مستقر، لا تعطل، لكن دليل المشغّل غير موجود وملف APK غير مُسمَّى بشكل صحيح. رتّب الأولويات ووزّع المهام في 3 أيام.
الوحدة 8 — تحضير المعرض (2.5 ساعة)
المفهوم
تجربة الواقع الافتراضي المعرضية تختلف عن لعبة واقع افتراضي استهلاكية أو مشروع مدرسي على أبعاد متعددة.
ثلاثة وثائق معرضية مطلوبة:
1. الملف التقني (4–6 صفحات)
- قائمة الأجهزة (خوذة + كابلات + PC/Mac إن لزم، مزود طاقة)
- البرنامج (اسم التطبيق، الإصدار، صيغة APK أو ملف تنفيذي)
- مخطط المساحة (حد أدنى 3×3م للخوذة المستقلة؛ مخطط للمعدات)
- إجراء التثبيت خطوة بخطوة (مرقّم، مع لقطات شاشة)
- إجراء إعادة التشغيل (يومي، مع وبدون إعادة تشغيل)
- دليل استكشاف الأخطاء (5 مشكلات شائعة على الأقل)
- جهات الاتصال (المسؤول التقني: هاتف + بريد إلكتروني)
2. الملف الفني الفني (2–4 صفحات)
- عنوان المشروع، العنوان الفرعي، وصف قصير (30 كلمة)
- ملاحظة فنية (~300 كلمة): المفهوم، المراجع، السياق
- سيرة الفنان/المجموعة (100 كلمة)
- وصف تقني (مفهوم للجمهور العام)
- صور/لقطات شاشة عالية الدقة (300 dpi على الأقل، 3 صور)
- الاعتمادات (برمجة، صوت، أصول ثلاثية الأبعاد، المكتبات المستخدمة)
3. بروتوكول الوساطة (1–2 صفحة)
- المقدمة (30 ثانية–1 دقيقة، ما تقوله قبل ارتداء الخوذة)
- تعليمات السلامة (Guardian، تجنب التحرك بسرعة)
- تعليمات التفاعل الرئيسية (3 أشياء يجب معرفتها للبدء)
- الإفادة (3 أسئلة مفتوحة تُطرح بعد خلع الخوذة)
- بروتوكول التناوب (مستخدمون متعددون: تنظيف الخوذة، الضبط)
التمرين المعملي 8.1 — التوثيق المعرضي الكامل
الخطوات:
- ضع مسودة الملف التقني لمشروعك الختامي (الحد الأدنى: الأجهزة، التثبيت، 3 بنود استكشاف أخطاء)
- ضع مسودة الملف الفني (مفهوم 300 كلمة + سيرة موجزة)
- اكتب بروتوكول الوساطة (مقدمة 30 ثانية + 3 تعليمات رئيسية + 3 أسئلة إفادة)
- اختبر بروتوكول الوساطة مع زميل يلعب دور "الوسيط" مع مستخدم غير مُلمّ بالواقع الافتراضي
تمرين مصغر: كيّف بروتوكول الوساطة ليستوعب مستخدمًا كفيفًا ومستخدمًا أصمّ. ما الذي يتغير؟
مشروع الختام — "تجربة واقع افتراضي بمستوى المعرض"
الإيجاز
أنشئ تجربة واقع افتراضي يمكن عرضها في سياق معرض أو مهرجان أو يوم مفتوح للمدرسة، مع اختبار مستخدم حقيقي (SUS + IPQ ≥5 مشاركين) وتوثيق معرضي كامل.
القيود
- التكنولوجيا: Unity XRI أو WebXR Three.js (اختيارك)
- 3 أنماط تفاعل على الأقل (إمساك قريب، رمي أشعة، انتقال فوري + اختياري)
- 5 مختبرين على الأقل: درجة SUS + درجة IPQ + ESM (اختياري) + تحديد أولويات P0/P1/P2
- توثيق كامل: ملف تقني + ملف فني + بروتوكول وساطة
- README للمشغّل: كافٍ لشخص غير تقني لتشغيل التجربة طوال يوم
المحصّلات
- التطبيق (APK Quest، رابط WebXR، أو ملف تنفيذي)
- الملف التقني (PDF، 4–6 صفحات)
- الملف الفني (PDF، 2–4 صفحات)
- بروتوكول الوساطة (PDF، 1–2 صفحة)
- تقرير التقييم: SUS (متوسط + لكل مختبر) + IPQ (متوسط لكل بُعد) + التصحيحات المطبقة
- العرض الشفهي (12 دقيقة): عرض التجربة + طريقة التقييم + دروس التصميم + مفاجآت الإنتاج
مقياس التقييم
| المعيار | غير كافٍ (1) | مُرضٍ (2) | جيد (3) | ممتاز (4) |
|---|---|---|---|---|
| معمارية XRI | غير وظيفي | وظيفي بدون بنية | معمارية XRI موثقة | XRI نظيف + Unity Events + موثق |
| متعدد المستخدمين (اختياري) | — | مستخدم واحد | NetworkObject + NetworkTransform | Photon Fusion + RPC + صوت |
| تحسين GPU | > 200 استدعاء رسم | 100–200 استدعاء | < 100 استدعاء | < 100 + LOD + instancing + تحليل أداء |
| تقييم SUS + IPQ | غائب | SUS فقط | SUS + IPQ (≥3 مختبرين) | SUS + IPQ + ESM (≥5 مختبرين) + تصحيحات |
| توثيق المعرض | غائب | ملف تقني فقط | ملف تقني + فني | جميع الوثائق الثلاث + بروتوكول وساطة مُختبَر |
القراءات والموارد
- Schubert, T. et al. (2001). The experience of presence. Presence, 10(3), 266–281.
- أداة IPQ الإلكترونية: http://www.igroup.org/pq/ipq/index.php
- متطلبات مستخدمي إتاحة XR (W3C): https://www.w3.org/TR/xaur/
- وثائق Unity XR Interaction Toolkit: https://docs.unity3d.com/Packages/[email protected]/
- وثائق Photon Fusion: https://doc.photonengine.com/fusion/current/
- Meta Quest Developer Hub: https://developer.oculus.com/downloads/package/meta-quest-developer-hub/
- Boletsis, C., & Cedergren, J. E. (2019). VR Locomotion. https://doi.org/10.1155/2019/7420781
- Yee, N., & Bailenson, J. (2007). The Proteus Effect. https://doi.org/10.1111/j.1468-2958.2007.00299.x
→ المستوى السابق: تصميم التفاعل في الواقع الافتراضي — المستوى الثاني → المرجع الشامل: مرجع VR الكامل → استشارة مخصصة لمعرضك/مؤسستك: احجزوا مكالمة 30 دقيقة — مجاناً
ورشة مكثّفة (يوم–يومان) للمدارس والاستوديوهات والمتاحف — نظرية مركّزة، تطبيقات موجّهة، مرافقة مشروع.
احجزوا مكالمة 30 دقيقة (مجاناً) →