الفيزياء

يساعدك نظام الفيزياء على محاكاة السلوكيات الفيزيائية في العالم الحقيقي مثل الاصطدامات والقوى.

وحدة الفيزياء

الفيزياء هي تعديل يتم تحميله افتراضيًا.

صورة-20240923155343336

يمكنك تعديل إعدادات الفيزياء العالمية هنا:

  1. اتجاه ومقدار الجاذبية.
    ٢. مادة مادية افتراضية. يُرجى مراجعة قسم “التصادم - المادة المادية” أدناه.
    ٣. عتبة الطاقة العالمية. احسب الطاقة الحركية لجسم ما باستخدام الصيغة:
Ek=1/2<em>m</em>v2
يمثل m كتلة الجسم بالكيلوجرام.

v يمثل السرعة الفيزيائية بوحدة م/ث.

عندما تكون طاقة حركة جسم ما أقل من هذه العتبة، فإنه يتوقف عن الحركة. على سبيل المثال، إذا كانت العتبة ٠٫٥، فإن جسمًا كتلته ١ كجم سيتوقف عن الحركة عندما تقل سرعته عن ١ متر/ثانية.

٤. حد تصادم وحدة تحكم الشخصيات. ينطبق فقط على تعديلات اللاعب التي تم تفعيل [استخدام وحدة تحكم اللاعب مع الفيزياء] عليها، أو وحدات تحكم الشخصيات المخصصة بالكامل.

صيغة الزخم هي:

ص=مف

م هي الكتلة، والوحدة هي كجم.

v هي السرعة بوحدة م/ث.

عند حدوث تصادم، يُطرح زخم اللاعب والجسم الصلب المُصطدم، ويُؤخذ معامل فرق الزخم على خط التصادم العمودي، ويُقارن مع عتبة تصادم وحدة تحكم الشخصية. إذا كانت أقل من هذه العتبة، فسيتم دفع الجسم الصلب بثبات، وإلا فسيحدث تصادم عنيف.

وبشكل تقريبي، فإن المعايير التي تؤثر على ما إذا كان الاصطدام عنيفًا هي:

  1. كلما زادت كتلة اللاعب أو الشخصية، زادت احتمالية حدوث تصادم عنيف.

  2. كلما زادت السرعة النسبية بين اللاعب أو الشخصية والجسم الصلب الذي تم ضربه، زادت احتمالية حدوث تصادم عنيف.

  3. كلما تم ضبط عتبة الاصطدام الخاصة بوحدة التحكم في الشخصية على قيمة أكبر، كلما قل احتمال الاصطدام العنيف.

على سبيل المثال، عندما يتم ضبط عتبة الاصطدام لوحدة تحكم الشخصية على 50، يمكن للاعب الذي يزن 50 كجم ويتحرك بسرعة 1 متر/ثانية أن يصطدم بعنف مع أي جسم صلب ثابت له كتلة مماثلة للاعب أو الشخصية في تصادم وجهاً لوجه.

٥. المستوى المادي. يعتمد حدوث الاصطدامات على مستويات مختلفة على التكوين المادي.

لتكوين طبقة فيزياء غير افتراضية للاعب:

صورة-20240717181446557

تعطيل تصادم المستويات المخصصة والافتراضية في تكوين الفيزياء:

صورة-20240717181534541

ستجد أن اللاعب يستطيع المرور عبر أي كائن من مستوى الفيزياء الافتراضي دون أن يشعر:

صورة-20240923163608324

الكائنات التي تعتمد على تحفيز الاصطدام لن يتم تحفيزها أيضًا:

صورة-20240923163636790

أشكال التصادم والتصادمات

هناك مكونان أساسيان مطلوبان لتطبيق الكائنات المخصصة على نظام الفيزياء:

مكون شكل التصادم ومكون التصادم.

صورة-20240923150401236

بالنسبة لمعظم الكائنات، لن تجد سوى مكون تصادم واحد عليها.

لأنها عمومًا ليست كائنات مخصصة:

صورة-20240923150521786

بالنسبة لأشكال التصادم المخصصة والمواد المادية، نوصيك بإنشاء عقدة فارغة جديدة والعمل عليها:

صورة-20240923150725335

صورة-20240923150807166

شكل الاصطدام

يحدد مكون شكل الاصطدام الحدود التي تصطدم فيها الكائنات.

نوع الاصطدام:

صورة-20240923153336796

يُحدد نوع التصادم الشكل الأساسي له. نوفر ثلاثة أشكال أساسية: المكعب، والكرة، والكبسولة، والشبكة.

تُعد تصادمات الشبكة أشكال تصادم يتم محاكاتها بناءً على حدود النموذج وتكون قريبة من المظهر المرئي للنموذج.

بالنسبة للعقدة الفارغة التي تم إنشاؤها، تحتاج إلى إضافة مكون عرض مخصص لتحديد شكل الشبكة وحجمها.

صورة-20240923153752769

بالنسبة لأشكال التصادم الأساسية، يمكنك تعديل موضعها أو حجمها أو ضبط شكلها يدويًا:

صورة-20240923153907205

اسحب النقطة الصفراء الموجودة على مربع الاصطدام لضبط شكل الاصطدام

شكل تصادم الشبكة لديه خيار أن يكون محدبًا أم لا

صورة-20240923154035083

المضلعات المحدبة: هل سيتم التصادم مع مصادمات شبكية أخرى؟ المضلعات المحدبة غير المفعلة مدعومة فقط على كائنات اللعبة التي لا تحتوي على مكون جسم صلب. لاستخدام مصادم شبكي مع مكون جسم صلب، حدد خيار المضلعات المحدبة.

تصادم

المواد الفيزيائية

تحدد المادة الفيزيائية بعض الخصائص الفيزيائية لجسم الاصطدام.

بالنسبة للأشياء المخصصة، يمكن تخصيص المادة المادية للتصادم. مع ذلك، بالنسبة لمعظم الأشياء غير المخصصة المُقدمة رسميًا، لا تدعم المادة المادية التعديل.

صورة-20240923154559903

يمكن إنشاء ملفات المواد المادية.

صورة-20240923154405512

بإمكانك تعديل الخصائص التالية في لوحة التفتيش الخاصة بملف المادة المادية بحيث تحصل جميع الكائنات المركبة بالمادة المادية على الخصائص المادية المقابلة.

صورة-20240923154620475

هل هو محفز؟

عندما يتم تحديد خانة الاختيار “هل هو محفز؟”، يتجاهل المصادم الاصطدامات المادية ولكنه يستطيع تحفيز الأحداث.

وهذا يعني أن الكائن لن يشارك في منطق تصادم الفيزياء الافتراضي:

صورة-20240923154941118

ولكن من الممكن أن يحدث حدث تصادم:

صورة-20240923155036397

صورة-20240923155220723

المستوى المادي

يُحدد مستوى الفيزياء. يعتمد حدوث التصادمات على مستويات مختلفة على إعدادات وحدة الفيزياء.

جسم صلب

يجعل مكون Rigidbody الكائن خاضعًا للتحكم المادي، مما يسمح له بالتأثر بالقوى.

لإضافة مكون Rigidbody، يجب أن يكون لديك أولاً مكون Collision.

تنقسم الأجسام الصلبة إلى ثابتة وديناميكية وحركية.

صورة-20240924112556743

تُستخدم الأجسام الصلبة الساكنة غالبًا للأجسام التي لا تتحرك ولا تتأثر بالقوة، مثل الأرض والجدران وغيرها من الأجسام الثابتة. سيؤدي تعديل موضع وحجم هذه الأجسام إلى زيادة تكلفة الأداء.

الجسم الصلب الديناميكي يستخدم في الغالب للأشياء ذات الخصائص الميكانيكية مثل الكتلة والسرعة، والتي يمكن أن تتأثر بالقوة.

صورة-20250630165950663

يمكنك تعديل المعلمات الفيزيائية، مثل مركز الثقل والكتلة، ضمن خيار “الجسم الصلب الديناميكي”. كما يمكنك اختيار تثبيت محور محدد بحيث لا يخضع الجسم الصلب لإزاحة أو دوران محدد.

الأجسام الصلبة الحركية يمكن التحكم بها يدويًا للحركة والدوران، ولكنها لا تتأثر بالاصطدامات أو القوى الصادرة عن أجسام صلبة أخرى. تُستخدم غالبًا في إنتاج الرسوم المتحركة والمؤثرات الخاصة.

وحدة تحكم الأحرف

##وحدة تحكم مشغل FF

بشكل افتراضي، يتم توريث تصرفات اللاعب على شخصية اللاعب من وحدة تحكم اللاعب FreeFire.

وحدة تحكم اللاعب مع الفيزياء

في وحدة اللاعب، بعد تحديد [استخدام وحدة تحكم اللاعب مع تأثيرات فيزيائية]، يمكنك تعديل المعلمات الفيزيائية لبعض وحدات تحكم اللاعب. في هذه الحالة، يبدأ اللاعب بالمشاركة في محاكاة فيزيائية في اللعبة إلى حد معين، مثلاً، سيبدأ تأثير إعدادات [عتبة تصادم وحدة تحكم الشخصية] في وحدة الفيزياء.

صورة-20240924115708102

<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> عند تمكينها، يمكن للاعبين تغيير سرعة حركتهم واتجاههم في الهواء.

وحدة تحكم شخصية قابلة للتخصيص بالكامل

في وحدة التحكم في الأحرف المخصصة بالكامل، يمكنك تخصيص وحدة التحكم في الأحرف بالكامل دون أي قيود، ولكن هذه الوحدة لا تحتوي على أي وظائف افتراضية.

لاستخدام وحدة تحكم الأحرف المخصصة بالكامل، يجب عليك استخدام مكون وحدة تحكم الأحرف، ولا يمكن أن يحتوي الكائن المستخدم كحرف متحكم فيه على تصادم أو شكل تصادم أو جسم صلب أو مكونات أخرى.

صورة-20240924120030311

يرجى الرجوع إلى المثال أدناه للاستخدام المحدد.

مثال

سنشرح كيفية استخدام وحدة تحكم الأحرف المخصصة عن طريق إنشاء وحدة تحكم أحرف بسيطة في الوضع الأفقي.

إعداد المشهد

قم ببناء مشهد فقط.

صورة-20240926150721110

إنشاء شخصية لاعب

هنا نقوم فقط بإنشاء شخصية لاعب بسيطة.

إنشاء كائن فارغ:

صورة-20240926150911348

أضف مكون وحدة التحكم في الأحرف إلى هذا الكائن.

صورة-20240926151012964

أضف سمة مخصصة إلى وحدة تحكم الشخصية: الحالة. سنستخدم هذه الحالة للتحكم في حركة شخصية اللاعب يمينًا ويسارًا لاحقًا.

صورة-20240926151107697

حاليًا ليس للشخصية أي مظهر، لذا أضف عقدة فرعية فارغة إلى هذه العقدة الفارغة لعرض المظهر.

صورة-20240926151307907

أضف مكون عرض مخصص للعقد الفرعية الفارغة.

صورة-20240926151344936

حدد الشبكة كاسطوانة.

صورة-20240926151443376

في هذا الوقت، حدد العقدة الأصلية ولاحظ شخصيتنا في محرر المشهد.

صورة-20240926151546844

شبكة الكبسولة هي مُكوّن وحدة تحكم الأحرف للكائن الرئيسي، والأسطوانة هي مُكوّن العرض المُخصّص للكائن الفرعي. وجدنا أن وحدة تحكم الأحرف تبدو أطول قليلاً مما تبدو عليه، ونطاقها أصغر من النموذج.

قم بضبط الارتفاع النسبي لكائنات الطفل ومظهر وحدة التحكم في الأحرف بحيث يتطابقان تقريبًا.

صورة-20240926151803081

صورة-20240926151903119

يرجى الانتباه بشكل خاص بالنسبة لوحدة التحكم في الشخصية، يجب أن يكون ارتفاعها أكبر من ضعف نصف القطر.

حوّل الشخصية المُنشأة إلى مُكوّن مُسبق، وأعد تسميتها إلى New_player (أو أي اسم تُريده). احذف الكائن الفارغ المُستخدم في المشهد.

صورة-20240926152126406

التهيئة

قم بإنشاء نص برمجي عالمي لحظر اللاعب الافتراضي، وإنشاء لاعب جديد، وتعيين طريقة الحركة.

صورة-20240926153801533

1. مسح واجهة المستخدم الافتراضية

لاستخدام وحدة تحكم شخصية مخصصة، يجب عليك أولاً حل مشكلة وحدة تحكم اللاعب المدمجة. لا يمكن حذف شخصية اللاعب من اللعبة، ولكن يمكننا استخدام بعض الطرق لجعلها غير قابلة للتحكم أو الرؤية.

من خلال إغلاق واجهة المستخدم الافتراضية، يمكننا حظر جميع واجهات المستخدم التي يمكنها التعامل مباشرة مع المشغل الافتراضي.

صورة-20240926152534232

2. استخدم كاميرا مخصصة

تتبع الكاميرا الافتراضية شخصية اللاعب الافتراضية، لذا نحتاج إلى استخدام كاميرا مخصصة جديدة لمراقبة شخصية اللاعب الجديدة التي نقوم بإنشائها فقط.

صورة-20240926152824590

3. تخزين بيانات اللاعب

إنشاء متغير عالمي لتخزين وحدة التحكم بالشخصية المخصصة لكل لاعب.

صورة-20240926153846600

صورة-20240926153853898

صورة-20240926153934182

4. اضبط طريقة الحركة

نقوم بالتحكم في الحركة من خلال الحكم على حالة وحدة التحكم في الشخصية، وتعيين 0 لعدم وجود حركة، و1 للحركة إلى اليسار، و2 للحركة إلى اليمين.

في كل مرة يتم فيها تحديث أي وحدة تحكم، تُنفِّذ جميع وحدات التحكم المخصصة طريقة تحريك. تتحقق هذه الطريقة من حالة وحدة تحكم اللاعب. إذا كانت في حالة حركة، فإنها تتحرك مسافة صغيرة في الاتجاه المقابل.

صورة-20240926154524350

عند تحديث الإطار الثابت، يتم تشغيل الحدث بتردد 30 مرة في الثانية، وهو ما يعادل تحرك وحدة تحكم الأحرف بسرعة 30*0.1=3 متر/ثانية.

إنشاء واجهة مستخدم مخصصة للإجراءات

إنشاء واجهة مستخدم للتحكم في حركة وحدة التحكم في الأحرف المخصصة.

صورة-20240926154930426

يتم استخدام الأزرار الثلاثة لتحريك اللاعب إلى اليسار واليمين والقفز.

أضف البرامج النصية إلى كيانات واجهة المستخدم واستخدم منطق معالجة الاسترجاع:

  1. القفز

يتم تحقيق القفز عن طريق تطبيق القوة على وحدة التحكم بالشخصية المخصصة.

صورة-20240926155224218

يمكن لواجهة تطبيق القوة تحديد سرعة التطبيق مباشرة، مما يتجنب حساب القوة والكتلة.

  1. الجوال

نقوم بالتحكم في الحركة عن طريق تغيير الحالة، والتعامل مع حالة اللاعب من خلال الضغط على الزر وإطلاقه بشكل منفصل.

صورة-20240926155731649

صورة-20240926155753513

أضف عمليات معاودة الاتصال على الأزرار لاستدعاء هذه الأساليب على التوالي.

  1. القفز

صورة-20240926155857104

  1. الجوال

صورة-20240926155911048

صورة-20240926155924485

تصحيح الأخطاء

صورة-20240926160400721

المنطق يعمل بشكل طبيعي.

تمت الإضافة: تصحيح أخطاء العدسة

عند استخدام عدسة مخصصة، يكون من الصعب في بعض الأحيان تحديد معلمة العدسة المناسبة.

يمكننا ضبط الكاميرا أثناء مرحلة التطوير بإضافة واجهة مستخدم للتحكم بها. استخدام هذه الفكرة يُساعدك على تحسين أداء وحدة تحكم الشخصيات باستمرار أثناء مرحلة التصحيح.

إنشاء واجهة المستخدم

نستخدم الأزرار للتحكم في حركة العدسة لأعلى ولأسفل ولليسار ولليمين وللأمام وللخلف، وطباعة إزاحة العدسة الحالية من خلال زر.

صورة-20240926160759275

كتابة السيناريو

أضف البرامج النصية لكيانات واجهة المستخدم.

حرك العدسة، مع أخذ الحركة إلى الأعلى كمثال:

صورة-20240926160942701

معلمات عدسة الطباعة:

صورة-20240926161034212

إضافة معاودة الاتصال

أضف عمليات معاودة الاتصال لكل زر:

خذ التحرك للأعلى كمثال:

صورة-20240926161123354

معلمات عدسة الطباعة:

صورة-20240926161149538

بهذه الطريقة يمكنك ضبط الكاميرا لتحقيق التأثير الذي تريده عند تصحيح أخطاء اللعبة:

صورة-20240926161255378