يساعدك نظام الفيزياء على محاكاة السلوكيات الفيزيائية في العالم الحقيقي مثل الاصطدامات والقوى.
وحدة الفيزياء
الفيزياء هي تعديل يتم تحميله افتراضيًا.
يمكنك تعديل إعدادات الفيزياء العالمية هنا:
- اتجاه ومقدار الجاذبية.
٢. مادة مادية افتراضية. يُرجى مراجعة قسم “التصادم - المادة المادية” أدناه.
٣. عتبة الطاقة العالمية. احسب الطاقة الحركية لجسم ما باستخدام الصيغة:
يمثل m كتلة الجسم بالكيلوجرام.
v يمثل السرعة الفيزيائية بوحدة م/ث.
عندما تكون طاقة حركة جسم ما أقل من هذه العتبة، فإنه يتوقف عن الحركة. على سبيل المثال، إذا كانت العتبة ٠٫٥، فإن جسمًا كتلته ١ كجم سيتوقف عن الحركة عندما تقل سرعته عن ١ متر/ثانية.
٤. حد تصادم وحدة تحكم الشخصيات. ينطبق فقط على تعديلات اللاعب التي تم تفعيل [استخدام وحدة تحكم اللاعب مع الفيزياء] عليها، أو وحدات تحكم الشخصيات المخصصة بالكامل.
صيغة الزخم هي:
م هي الكتلة، والوحدة هي كجم.
v هي السرعة بوحدة م/ث.
عند حدوث تصادم، يُطرح زخم اللاعب والجسم الصلب المُصطدم، ويُؤخذ معامل فرق الزخم على خط التصادم العمودي، ويُقارن مع عتبة تصادم وحدة تحكم الشخصية. إذا كانت أقل من هذه العتبة، فسيتم دفع الجسم الصلب بثبات، وإلا فسيحدث تصادم عنيف.
وبشكل تقريبي، فإن المعايير التي تؤثر على ما إذا كان الاصطدام عنيفًا هي:
-
كلما زادت كتلة اللاعب أو الشخصية، زادت احتمالية حدوث تصادم عنيف.
-
كلما زادت السرعة النسبية بين اللاعب أو الشخصية والجسم الصلب الذي تم ضربه، زادت احتمالية حدوث تصادم عنيف.
-
كلما تم ضبط عتبة الاصطدام الخاصة بوحدة التحكم في الشخصية على قيمة أكبر، كلما قل احتمال الاصطدام العنيف.
على سبيل المثال، عندما يتم ضبط عتبة الاصطدام لوحدة تحكم الشخصية على 50، يمكن للاعب الذي يزن 50 كجم ويتحرك بسرعة 1 متر/ثانية أن يصطدم بعنف مع أي جسم صلب ثابت له كتلة مماثلة للاعب أو الشخصية في تصادم وجهاً لوجه.
٥. المستوى المادي. يعتمد حدوث الاصطدامات على مستويات مختلفة على التكوين المادي.
لتكوين طبقة فيزياء غير افتراضية للاعب:
تعطيل تصادم المستويات المخصصة والافتراضية في تكوين الفيزياء:
ستجد أن اللاعب يستطيع المرور عبر أي كائن من مستوى الفيزياء الافتراضي دون أن يشعر:
الكائنات التي تعتمد على تحفيز الاصطدام لن يتم تحفيزها أيضًا:
أشكال التصادم والتصادمات
هناك مكونان أساسيان مطلوبان لتطبيق الكائنات المخصصة على نظام الفيزياء:
مكون شكل التصادم ومكون التصادم.
بالنسبة لمعظم الكائنات، لن تجد سوى مكون تصادم واحد عليها.
لأنها عمومًا ليست كائنات مخصصة:
بالنسبة لأشكال التصادم المخصصة والمواد المادية، نوصيك بإنشاء عقدة فارغة جديدة والعمل عليها:
شكل الاصطدام
يحدد مكون شكل الاصطدام الحدود التي تصطدم فيها الكائنات.
نوع الاصطدام:
يُحدد نوع التصادم الشكل الأساسي له. نوفر ثلاثة أشكال أساسية: المكعب، والكرة، والكبسولة، والشبكة.
تُعد تصادمات الشبكة أشكال تصادم يتم محاكاتها بناءً على حدود النموذج وتكون قريبة من المظهر المرئي للنموذج.
بالنسبة للعقدة الفارغة التي تم إنشاؤها، تحتاج إلى إضافة مكون عرض مخصص لتحديد شكل الشبكة وحجمها.
بالنسبة لأشكال التصادم الأساسية، يمكنك تعديل موضعها أو حجمها أو ضبط شكلها يدويًا:
اسحب النقطة الصفراء الموجودة على مربع الاصطدام لضبط شكل الاصطدام
شكل تصادم الشبكة لديه خيار أن يكون محدبًا أم لا
المضلعات المحدبة: هل سيتم التصادم مع مصادمات شبكية أخرى؟ المضلعات المحدبة غير المفعلة مدعومة فقط على كائنات اللعبة التي لا تحتوي على مكون جسم صلب. لاستخدام مصادم شبكي مع مكون جسم صلب، حدد خيار المضلعات المحدبة.
تصادم
المواد الفيزيائية
تحدد المادة الفيزيائية بعض الخصائص الفيزيائية لجسم الاصطدام.
بالنسبة للأشياء المخصصة، يمكن تخصيص المادة المادية للتصادم. مع ذلك، بالنسبة لمعظم الأشياء غير المخصصة المُقدمة رسميًا، لا تدعم المادة المادية التعديل.
يمكن إنشاء ملفات المواد المادية.
بإمكانك تعديل الخصائص التالية في لوحة التفتيش الخاصة بملف المادة المادية بحيث تحصل جميع الكائنات المركبة بالمادة المادية على الخصائص المادية المقابلة.
هل هو محفز؟
عندما يتم تحديد خانة الاختيار “هل هو محفز؟”، يتجاهل المصادم الاصطدامات المادية ولكنه يستطيع تحفيز الأحداث.
وهذا يعني أن الكائن لن يشارك في منطق تصادم الفيزياء الافتراضي:
ولكن من الممكن أن يحدث حدث تصادم:
المستوى المادي
يُحدد مستوى الفيزياء. يعتمد حدوث التصادمات على مستويات مختلفة على إعدادات وحدة الفيزياء.
جسم صلب
يجعل مكون Rigidbody الكائن خاضعًا للتحكم المادي، مما يسمح له بالتأثر بالقوى.
لإضافة مكون Rigidbody، يجب أن يكون لديك أولاً مكون Collision.
تنقسم الأجسام الصلبة إلى ثابتة وديناميكية وحركية.
تُستخدم الأجسام الصلبة الساكنة غالبًا للأجسام التي لا تتحرك ولا تتأثر بالقوة، مثل الأرض والجدران وغيرها من الأجسام الثابتة. سيؤدي تعديل موضع وحجم هذه الأجسام إلى زيادة تكلفة الأداء.
الجسم الصلب الديناميكي يستخدم في الغالب للأشياء ذات الخصائص الميكانيكية مثل الكتلة والسرعة، والتي يمكن أن تتأثر بالقوة.
يمكنك تعديل المعلمات الفيزيائية، مثل مركز الثقل والكتلة، ضمن خيار “الجسم الصلب الديناميكي”. كما يمكنك اختيار تثبيت محور محدد بحيث لا يخضع الجسم الصلب لإزاحة أو دوران محدد.
الأجسام الصلبة الحركية يمكن التحكم بها يدويًا للحركة والدوران، ولكنها لا تتأثر بالاصطدامات أو القوى الصادرة عن أجسام صلبة أخرى. تُستخدم غالبًا في إنتاج الرسوم المتحركة والمؤثرات الخاصة.
وحدة تحكم الأحرف
##وحدة تحكم مشغل FF
بشكل افتراضي، يتم توريث تصرفات اللاعب على شخصية اللاعب من وحدة تحكم اللاعب FreeFire.
وحدة تحكم اللاعب مع الفيزياء
في وحدة اللاعب، بعد تحديد [استخدام وحدة تحكم اللاعب مع تأثيرات فيزيائية]، يمكنك تعديل المعلمات الفيزيائية لبعض وحدات تحكم اللاعب. في هذه الحالة، يبدأ اللاعب بالمشاركة في محاكاة فيزيائية في اللعبة إلى حد معين، مثلاً، سيبدأ تأثير إعدادات [عتبة تصادم وحدة تحكم الشخصية] في وحدة الفيزياء.
<strong>ما إذا كان سيتم استخدام وحدة تحكم اللاعب مع التأثيرات المادية:</strong> حدد هذا الخيار لاستخدام وحدة تحكم مع تأثيرات مادية مخصصة وتوسيع التكوينات ذات الصلة.
<strong>الارتفاع الإجمالي، بما في ذلك نصفي الكرة الأرضية العلوي والسفلي:</strong> ارتفاع جسم الاصطدام بالكبسولة الخاصة بالشخصية.
<strong>نصف قطر نصف الكرة العلوي والسفلي:</strong> لا يمكن أن يتجاوز نصف قطر الكبسولة 1/2 الارتفاع.
<strong>الجودة:</strong> جودة اللاعب.
<strong>أقصى زاوية صعود:</strong> لا يمكن تسلق المنحدرات التي تتجاوز هذه الزاوية وسيبدأ اللاعب في الانزلاق إلى الأسفل.
<strong>الإزاحة الرأسية للخطوة:</strong> المسافة التي يمكن للاعب الانحراف بها عن التكوين دون مغادرة الأرض أو أن يتم حظره، وتستخدم عادة عند الصعود والنزول على السلالم.
<strong>أدنى مسافة للتحرك:</strong> إذا كانت المسافة التي يجب على متحكم الشخصية التحرك بها أقل من هذه القيمة، فسيظل اللاعب ثابتًا.
سمك الجلد: العمق الذي يُسمح للأشياء الأخرى بتضمينه في مصادم الشخصية، ويُستخدم لتجنب الاهتزاز أو الالتصاق.
<strong>تسارع الجاذبية الذي تحصل عليه:</strong> هو تسارع الجاذبية الذي تحصل عليه في الأبعاد الثلاثة. بالنسبة لشخصيات اللاعب، يُلغي هذا الإعداد إعدادات الفيزياء العالمية.
<strong>تفعيل الدفع المخصص:</strong> عند تفعيله، يُمكن تخصيص القوة التي يُطبقها الحرف عند دفع الجسم الصلب. وسّع الإعدادات المناسبة بعد تفعيله.
<strong>قوة الدفع المخصصة:</strong> مقدار القوة المطبقة عندما يدفع الشخصية الجسم الصلب.
<strong>ارتفاع القفز المتعدد:</strong> ارتفاع القفزة عند أداء قفزة متعددة.
<strong>الحد الأقصى لعدد القفزات المتعددة: </strong>الحد الأقصى لعدد القفزات التي يدعمها كل قفزة متعددة.
<strong>الحركة الجوية:</strong> عند تمكينها، يمكن للاعبين تغيير سرعة حركتهم واتجاههم في الهواء.
وحدة تحكم شخصية قابلة للتخصيص بالكامل
في وحدة التحكم في الأحرف المخصصة بالكامل، يمكنك تخصيص وحدة التحكم في الأحرف بالكامل دون أي قيود، ولكن هذه الوحدة لا تحتوي على أي وظائف افتراضية.
لاستخدام وحدة تحكم الأحرف المخصصة بالكامل، يجب عليك استخدام مكون وحدة تحكم الأحرف، ولا يمكن أن يحتوي الكائن المستخدم كحرف متحكم فيه على تصادم أو شكل تصادم أو جسم صلب أو مكونات أخرى.
يرجى الرجوع إلى المثال أدناه للاستخدام المحدد.
مثال
سنشرح كيفية استخدام وحدة تحكم الأحرف المخصصة عن طريق إنشاء وحدة تحكم أحرف بسيطة في الوضع الأفقي.
إعداد المشهد
قم ببناء مشهد فقط.
إنشاء شخصية لاعب
هنا نقوم فقط بإنشاء شخصية لاعب بسيطة.
إنشاء كائن فارغ:
أضف مكون وحدة التحكم في الأحرف إلى هذا الكائن.
أضف سمة مخصصة إلى وحدة تحكم الشخصية: الحالة. سنستخدم هذه الحالة للتحكم في حركة شخصية اللاعب يمينًا ويسارًا لاحقًا.
حاليًا ليس للشخصية أي مظهر، لذا أضف عقدة فرعية فارغة إلى هذه العقدة الفارغة لعرض المظهر.
أضف مكون عرض مخصص للعقد الفرعية الفارغة.
حدد الشبكة كاسطوانة.
في هذا الوقت، حدد العقدة الأصلية ولاحظ شخصيتنا في محرر المشهد.
شبكة الكبسولة هي مُكوّن وحدة تحكم الأحرف للكائن الرئيسي، والأسطوانة هي مُكوّن العرض المُخصّص للكائن الفرعي. وجدنا أن وحدة تحكم الأحرف تبدو أطول قليلاً مما تبدو عليه، ونطاقها أصغر من النموذج.
قم بضبط الارتفاع النسبي لكائنات الطفل ومظهر وحدة التحكم في الأحرف بحيث يتطابقان تقريبًا.
يرجى الانتباه بشكل خاص بالنسبة لوحدة التحكم في الشخصية، يجب أن يكون ارتفاعها أكبر من ضعف نصف القطر.
حوّل الشخصية المُنشأة إلى مُكوّن مُسبق، وأعد تسميتها إلى New_player (أو أي اسم تُريده). احذف الكائن الفارغ المُستخدم في المشهد.
التهيئة
قم بإنشاء نص برمجي عالمي لحظر اللاعب الافتراضي، وإنشاء لاعب جديد، وتعيين طريقة الحركة.
1. مسح واجهة المستخدم الافتراضية
لاستخدام وحدة تحكم شخصية مخصصة، يجب عليك أولاً حل مشكلة وحدة تحكم اللاعب المدمجة. لا يمكن حذف شخصية اللاعب من اللعبة، ولكن يمكننا استخدام بعض الطرق لجعلها غير قابلة للتحكم أو الرؤية.
من خلال إغلاق واجهة المستخدم الافتراضية، يمكننا حظر جميع واجهات المستخدم التي يمكنها التعامل مباشرة مع المشغل الافتراضي.
2. استخدم كاميرا مخصصة
تتبع الكاميرا الافتراضية شخصية اللاعب الافتراضية، لذا نحتاج إلى استخدام كاميرا مخصصة جديدة لمراقبة شخصية اللاعب الجديدة التي نقوم بإنشائها فقط.
3. تخزين بيانات اللاعب
إنشاء متغير عالمي لتخزين وحدة التحكم بالشخصية المخصصة لكل لاعب.
4. اضبط طريقة الحركة
نقوم بالتحكم في الحركة من خلال الحكم على حالة وحدة التحكم في الشخصية، وتعيين 0 لعدم وجود حركة، و1 للحركة إلى اليسار، و2 للحركة إلى اليمين.
في كل مرة يتم فيها تحديث أي وحدة تحكم، تُنفِّذ جميع وحدات التحكم المخصصة طريقة تحريك. تتحقق هذه الطريقة من حالة وحدة تحكم اللاعب. إذا كانت في حالة حركة، فإنها تتحرك مسافة صغيرة في الاتجاه المقابل.
عند تحديث الإطار الثابت، يتم تشغيل الحدث بتردد 30 مرة في الثانية، وهو ما يعادل تحرك وحدة تحكم الأحرف بسرعة 30*0.1=3 متر/ثانية.
إنشاء واجهة مستخدم مخصصة للإجراءات
إنشاء واجهة مستخدم للتحكم في حركة وحدة التحكم في الأحرف المخصصة.
يتم استخدام الأزرار الثلاثة لتحريك اللاعب إلى اليسار واليمين والقفز.
أضف البرامج النصية إلى كيانات واجهة المستخدم واستخدم منطق معالجة الاسترجاع:
- القفز
يتم تحقيق القفز عن طريق تطبيق القوة على وحدة التحكم بالشخصية المخصصة.
يمكن لواجهة تطبيق القوة تحديد سرعة التطبيق مباشرة، مما يتجنب حساب القوة والكتلة.
- الجوال
نقوم بالتحكم في الحركة عن طريق تغيير الحالة، والتعامل مع حالة اللاعب من خلال الضغط على الزر وإطلاقه بشكل منفصل.
أضف عمليات معاودة الاتصال على الأزرار لاستدعاء هذه الأساليب على التوالي.
- القفز
- الجوال
تصحيح الأخطاء
المنطق يعمل بشكل طبيعي.
تمت الإضافة: تصحيح أخطاء العدسة
عند استخدام عدسة مخصصة، يكون من الصعب في بعض الأحيان تحديد معلمة العدسة المناسبة.
يمكننا ضبط الكاميرا أثناء مرحلة التطوير بإضافة واجهة مستخدم للتحكم بها. استخدام هذه الفكرة يُساعدك على تحسين أداء وحدة تحكم الشخصيات باستمرار أثناء مرحلة التصحيح.
إنشاء واجهة المستخدم
نستخدم الأزرار للتحكم في حركة العدسة لأعلى ولأسفل ولليسار ولليمين وللأمام وللخلف، وطباعة إزاحة العدسة الحالية من خلال زر.
كتابة السيناريو
أضف البرامج النصية لكيانات واجهة المستخدم.
حرك العدسة، مع أخذ الحركة إلى الأعلى كمثال:
معلمات عدسة الطباعة:
إضافة معاودة الاتصال
أضف عمليات معاودة الاتصال لكل زر:
خذ التحرك للأعلى كمثال:
معلمات عدسة الطباعة:
بهذه الطريقة يمكنك ضبط الكاميرا لتحقيق التأثير الذي تريده عند تصحيح أخطاء اللعبة: