‫أهلا ومرحبا.
‫سيكون موضوع هذه المحاضرة هو وظيفة أخذ الضرر للممثل وكيف نسميها.
‫دعنا نتعمق ونكتشف كل شيء عنه.
‫حتى نتمكن من إلحاق الضرر بشيء ما ، نحتاج بالفعل إلى شيء يمكننا
‫ضربه.
‫لذلك دعنا ننتقل إلى مسار متصفح المحتوى الخاص بنا ونحضر إحدى شخصيات BP shooter.
‫لأن ما يحدث في الواقع هو إذا أدخلت شخصية إلى المشهد ، فإن Unreal تلقائيًا ستجعل هذه الشخصية
‫يتحكم فيها الذكاء الاصطناعي وستكون الشخصيات التي تفرخ عند بدء اللاعب يتحكم فيها اللاعب.
‫هذا رائع.
‫هذا هو بالضبط السلوك الذي نريده.
‫إذا تقدمت وضغطت على alt p ، فستلاحظ أنني في الواقع في نقطة التكاثر الخاطئة ، لذلك
‫ربما أرغب في حذف بداية هذا اللاعب الثاني.
‫إذا قمت بالضغط على alt p الآن ، فسنكون في الموقع الصحيح.
‫هناك عدوي.
‫يمكنني إطلاق النار على العدو.
‫أحصل على تأثير الضرب.
‫لكن من الواضح أنني لا ألحق أي ضرر.
‫ليس الان على اي حال.
‫وإحداث الضرر هو عملية من جزأين.
‫الجزء الأول هو إرسال الضرر والجزء الثاني يتلقى الضرر.
‫في هذه المحاضرة ، سوف نتعامل مع إرسال الضرر للاعب واستدعاءات الوظائف المتضمنة
‫في ذلك.
‫لذا فإن الشيء الرئيسي الذي سننظر إليه هو الممثل Dot H ونحن نبحث عن استدعاء
‫وظيفي يسمى تلقي الضرر.
‫ويمكنك أن ترى هنا هذه الوظيفة الافتراضية هنا.
‫تقوم بإرجاع عدد عشري.
‫ما يعود هو الضرر الفعلي الذي لحق بالممثل ، المبلغ الفعلي الذي تم تطبيقه بالفعل.
‫وما يحدث هو مقدار الضرر ، حدث الضرر ، والذي يعطينا المزيد من المعلومات حول ذلك.
‫الضرر الذي حدث لدينا محرض.
‫إذن هذا يقول من كان المتحكم المسؤول عن التسبب في هذا الضرر؟
‫ثم مسبب الضرر ، ما هو المسؤول عن الفاعل؟
‫لذلك في هذه الحالة ، قد يكون مسدسًا.
‫أم أنه يقول هنا القذيفة التي انفجرت ، الصخرة التي سقطت عليك في هذه الحالة
‫، المسدس الذي أطلق عليك ، سيكون الممثل المسؤول.
‫لذا فإن هذا يسبب الضرر باختصار.
‫يجب أن يكون معظم ذلك واضحًا جدًا بالنسبة لك لتجميعه باستثناء هيكل حدث
‫الضرر هذا.
‫وهذا أكثر تعقيدًا بعض الشيء.
‫لذلك دعونا نلقي نظرة على هيكل حدث الضرر هذا ونرى ماذا يمكننا أن نفعل؟
‫كيف سيتم تكوينه؟
‫كيف سنجمع هذا معًا؟
‫الآن ، هذا ليس واضحًا على الفور ، ولكن يوجد في الواقع نوعان فرعيان لحدث الضرر هذا.
‫من الناحية العملية ، لن تقوم بالفعل بإنشاء حدث ضرر
‫EF ، ولكن بدلاً من ذلك ستنشئ حدث ضرر نقطة EF ، أو ستنشئ حدث ضرر شعاعي EF.
‫هذان هما النوعان الرئيسيان من الضرر الموجودان في Unreal.
‫يمكنك إنشاء المزيد من أنواع الضرر المختلفة للأشياء المخصصة الخاصة بك ، مثل
‫قد يكون لديك تلف ناتج عن حريق ومع معلمات مختلفة ، ولكن في هذه الحالة ، نحن مهتمون بالتلف الشعاعي EF الشعاعي وتلف النقاط.
‫لذا سيكون الشعاعي مرة أخرى شيئًا مثل انفجار قنبلة يدوية ، وفي هذه الحالة تريد أن تقول ، حسنًا
‫، أين هو نصف القطر ، ما هو السقوط؟
‫كل هذه الأنواع من الأشياء حيث يكون الضرر النقطي ، حيث يبدو أكثر ملاءمة لأشياء مثل
‫البنادق.
‫لذلك سننشئ حدث ضرر نقطة EF وسنذهب ونبحث عن المُنشئ ، ها هو المُنشئ
‫له ، ويمكننا أن نرى ما الذي سيتضمنه.
‫إنه يأخذ مقدار الضرر مرة أخرى.
‫هذا قليل من التكرار هناك.
‫لدينا نتيجة النتيجة التي تسببت في حدوث ضرر لهذه النقطة.
‫ثم نحصل على اتجاه التصوير.
‫رائعة.
‫لقد حسبنا ذلك بالفعل.
‫كنت أفكر في المستقبل قليلاً عندما فعلنا ذلك في المحاضرة السابقة ثم هذه الفئة الفرعية
‫من نوع الضرر.
‫الآن يمكن استخدام هذا لتمرير المزيد من المعلومات بحيث في الواقع ، بدلاً من إنشاء نوع مختلف من أحداث الضرر ، من
‫المحتمل أن تنشئ نوعًا مختلفًا من الضرر.
‫لذلك قد يكون لديك نوع حريق أو شيء من هذا القبيل في هذه الحالة ، لأننا لسنا بحاجة إلى أي نوع من أنواع
‫الضرر.
‫نحن لا نتسبب في أضرار حريق أو أي شيء إضافي مثل ضرر السم.
‫ثم ما سنفعله هو تمرير مؤشر فارغ هنا بدلاً من ذلك.
‫لذلك دعونا نجرب بناء واحد من هؤلاء معًا وبعد ذلك سأدعك تستدعي حدث أخذ الضرر.
‫لذا فإن أول شيء يجب القيام به هو لصق الكتابة ، سنسميها حدث الضرر ومن ثم
‫سنقوم ببنائها.
‫لذا أولاً وقبل كل شيء ، مقدار الضرر ، حسنًا ، ليس لدينا واحد من هؤلاء للبندقية حتى الآن.
‫ليس لدينا مقدار الضرر الذي تسببه.
‫لذا يمكننا المضي قدمًا وإنشاء بعض المعلومات هناك.
‫لدينا نطاق أقصى بالفعل.
‫نريد المزيد من العقارات هنا.
‫سيكون تعديلًا في أي مكان ، وهو ما سيسمح لنا بقول ضرر تعويم.
‫ما مقدار الضرر الذي نحدثه؟
‫سأقوم بإلحاق الضرر بعشرة ثم يمكننا استخدام هذا في C ++.
‫إذن ، الضرر هو ما سنقوم بتمريره باعتباره الوسيطة الأولى.
‫والثاني هو أن النتيجة؟
‫حسنًا ، لحسن الحظ ، حصلنا على نتائج تسمى ضرب.
‫ثم سيكون الشيء التالي هو اتجاه اللقطة الذي حسبناه بالفعل لباعثنا في الموقع.
‫ثم سنلقي نظرة على الفئة الفرعية ، والتي ستكون مجرد مؤشر فارغ.
‫حسنًا ، لقد تم ذلك.
‫الشيء التالي سيكون مجرد التمسك بالممثل الذي نحاول إلحاق الضرر به.
‫هذا واضح إلى حد ما من الضربة التي تقوم بها.
‫ضرب نقطة الحصول على ممثل هنا.
‫لكنك ستحتاج إلى التحقق من أن هذا ليس فارغًا لأننا لا نريد أن ينتهي بنا الأمر بممثل باطل نحاول
‫إلحاق الضرر به أو سننتهي في النهاية بالانهيار.
‫لذلك سيكون التحدي الخاص بك هو استدعاء هذا التحقق من وظيفة الضرر للتأكد من أن الممثل لاغٍ.
‫بادئ ذي بدء ، نحن لا نريد فاعلًا فارغًا ونقوم باستدعاء الضرر ومعرفة ما إذا كان يمكنك الحصول عليه ليتم تجميعه.
‫أوقف الفيديو واذهب.
‫تمام.
‫مرحبًا بعودتك.
‫لذلك لدينا ضيفنا الممثل هنا.
‫سأسمي هذا سأعطي هذا متغيرًا صغيرًا.
‫إذن ، سيكون مؤشر الممثل هو الممثل الناجح ، ثم سنمضي قدمًا ونقوم ببيان if هنا
‫، ونقول أساسًا ما إذا كان الممثل الناجح لا يساوي مؤشر فارغ ، فسنمضي قدمًا
‫مع هذا الممثل الناجح لاستدعاء وظيفة أخذ الضرر عليه.
‫وسنحدد مقدار الضرر هنا هو الحجة الأولى.
‫ماذا كان الثاني؟
‫سأعود فقط إلى مكان الضرر وإلقاء نظرة صغيرة.
‫إذن ، التالي هو الهيكل الذي وضعناه معًا في حدث الضرر هذا.
‫دعونا نضع ذلك في ثانية.
‫ثم سنلقي نظرة على وحدة التحكم التي صنعت هذا.
‫حسنًا ، هذه هي وحدة التحكم الخاصة بنا.
‫وحدة تحكم البندقية هي التي تسبب الضرر.
‫وبعد ذلك كان هذا المحرض هو المعلمة الأخيرة في تحصيل الضرر لدينا.
‫وربما نريد فقط بناء هذا الهيكل داخل هذا إذا كان الممثل لا يساوي مؤشر فارغ لأنه غير ضروري
‫إذا لم يكن لدينا ممثل لتطبيق هذا الضرر عليه.
‫لذلك دعونا نذهب ونجمع ونرى ما إذا كان هذا سيعمل.
‫لذلك حصلت على خطأ في السجل الخاص بي.
‫دعونا نرى ما يحدث.
‫أوه ، أنا فقط أفتقد الفاصلة المنقوطة.
‫حسنًا ، هذا سهل جدًا.
‫واحد لإصلاحه بعد الحصول على الممثل هناك.
‫دعنا نذهب ونحاول مرة أخرى.
‫رائع.
‫تم تجميع كل شيء بنجاح ويمكننا المضي قدمًا واللعب والتحقق من أن إطلاق النار
‫لن يعطينا أي أخطاء فارغة أو محاولة تعطل المحرك.
‫يبدو أنه بخير.
‫لذلك سننتقل إلى المحاضرة التالية حيث سنحاول ونستقبل الضرر الذي لحق بهذا الممثل هنا والذي
‫وضعناه في المستوى.
‫إذن أنت هناك.