‫أهلا ومرحبا.
‫في هذه المحاضرة ، سنقوم بإعداد بعض تتبع الخطوط حتى نتمكن من إطلاق النار على الجدران
‫ونرى ظهور نقاط التصحيح هذه.
‫وسنقوم بذلك باستخدام تتبع خط دالة جديد حسب القناة ، وسنرى لماذا نستخدم
‫ذلك التتبع الزائد عن طريق نوع الكائن ، وهو ما استخدمناه من قبل.
‫دعنا نتعمق ونرى كيف يتم ذلك.
‫لذا بالعودة إلى هروب المبنى ، استخدمنا تتبع الخطوط ونستخدم هذه الوظيفة هنا ، تتبع الخط
‫حسب نوع الكائن.
‫وهل هذا ما نريد أن نستخدمه؟
‫حسنًا ، ما هو الفرق بين تتبع الخط حسب نوع الكائن وشقيقه القريب جدًا
‫، وهو تتبع خط حسب القناة.
‫حسنًا ، يقول نوع الكائن ، أريد البحث عبر هذا السطر ومعرفة ما إذا كنت أجد كائنًا يطابق هذا النوع.
‫لذلك أعتقد أن ما استخدمناه في بناء الهروب كان شيئًا مثل نوع الجسم الفيزيائي وهذا رائع ،
‫سيضرب أجسامًا فيزيائية.
‫ولكن إذا قررت فجأة أنك تريد أن يضرب شيء آخر كرة ، فلن يترك ذلك مجالًا كبيرًا للخيارات.
‫لذا فإن القناة أفضل لذلك لأنها تتيح لنا تحديد قنواتنا المخصصة ثم
‫تحديد أنواع الكائنات الشفافة لتلك القناة وأي منها يحظرها.
‫هذا رائع لأن ما نريد أن نكون قادرين على فعله هو أن نقول ، حسنًا ، ربما لا يمكن لشيء من نوع بوش أن يحجب
‫رصاصة ، في حين أن الجدار سيمنع رصاصة ، لكنه لن يتسبب في أي ضرر ولكن ذلك يمكننا التعامل
‫معها لاحقًا.
‫إذن القنوات هي المسار الذي سننزله ويمكننا إيجاد الطريقة الصحيحة هنا عن طريق التحكم.
‫P وبالمناسبة ، هناك القليل الرائع الإضافي الذي تعلمته مؤخرًا فقط وهو أنه إذا كنت تستخدم
‫رمز ACT ، فيمكنك البحث عن الرموز داخل هذا الملف أو حتى الملفات الأخرى ، ولكن إذا كان الملف مفتوحًا ، فسيكون ذلك
‫أسرع بكثير .
‫ثم يمكنك أن تفعل شيئًا مثل تتبع الخط ويمكنك أن ترى أن هناك ما يعطينا قائمة بجميع الرموز التي هي وظائف
‫أو فئات أو متغيرات ، ويمكننا العثور على هذا الخط ، والتتبع ، وخط الاختبار ، والتتبع ، واحد تلو الآخر
‫حسب نوع الكائن.
‫نريد تتبع الخط الأول هذا ، قناة BI الفردية ، والتي سيكون لها معلمة خارجية لما
‫نصل إليه.
‫ستصل نقطة البداية ونقطة النهاية وقناة تتبع الاصطدام إلى ذلك في غضون فترة وجيزة ثم
‫بعض معلمات الاستعلام التي تحتوي على بعض الإعدادات الافتراضية لذلك لا داعي للقلق.
‫لذلك فقط تلك الأشياء القليلة الأولى ، Outhit Start ، End و Trace Channel هي ما نريد أن نقلق
‫بشأنه.
‫دعونا ننشئ قناة تتبع.
‫سنذهب إلى الإعدادات وإعدادات المشروع لهذا الغرض.
‫ثم نبحث أسفل المحرك عن منطقة الاصطدام.
‫وتحت هذا يمكنك أن ترى أن لدينا قنوات كائن وقنوات تتبع.
‫قنوات الكائن هي في الواقع مجرد طريقة أخرى لقول أنواع مختلفة من الكائنات.
‫لذلك إذا كنت ترغب في الحصول على مجموعات افتراضية من الكائنات مثل البيادق وأشياء من هذا القبيل
‫، إذا كنت تريد فئة جديدة من الكائنات ، فيمكنك النزول في مسار قناة الكائن.
‫لكن الآثار تسمح لك بتحديد الطرف المقابل من الطيف ، والذي يشبه ، لدي رصاصة ، ما الأشياء
‫التي يمكن أن تصطدم بها؟
‫لذلك سنذهب في هذا الطريق ، ونضيف قناة تتبع جديدة ، وسنسمي هذا الرمز النقطي.
‫وستكون الاستجابة الافتراضية.
‫BLOCK وهو ما يعني أساسًا أن جميع أنواع الكائنات ستنتقل إلى ملفات.
‫حظر ما لم نحدد الآن غير ذلك ، يمكننا المضي قدمًا وقبول ذلك ويمكننا إلقاء نظرة على إعداداتنا المسبقة
‫هنا.
‫إذا قمنا فقط بتوسيع ذلك ، فستظهر لك الإعدادات المسبقة أن لدينا مجموعة من الأشياء المختلفة
‫التي يمكننا تطبيقها عليها ، أشياء يمكننا قولها ، نريد أن يكون هذا ممثلًا فيزيائيًا ، وفي هذه الحالة
‫يكون نوع الكائن ، والذي ستكون قناة الكائن المحددة مسبقًا هي جسم الفيزياء.
‫لكن إذا قمنا بتوسيع هذا ، يمكنك أن ترى رد فعلها على الأنواع المختلفة من الآثار هنا.
‫لذلك لدينا كاميرات من نوع التتبع ، ورؤية الرصاصة الخاصة بنا ، فهي تحجب كل هذه ومن ثم تحتوي على أنواع
‫الكائنات.
‫هذه هي الطريقة التي تتفاعل بها الفيزياء مع أشياء أخرى مثل البيادق والمركبات ، إلخ. هذه ليست الطريقة التي تتفاعل بها
‫مع تتبع الخط حسب الكائن.
‫هذا محير بعض الشيء وقد أربكني من قبل.
‫لذا فإن نوع التتبع هو الشيء المثير للاهتمام ويمكننا فقط الذهاب وإلقاء نظرة من هنا ونرى أنه لا يوجد تصادم
‫يجب إعداده حتى لا يصطدم.
‫لذلك دعونا نجعل رصاصاتنا لا تتعارض مع ذلك أيضًا.
‫لذا فإن مجرد تجاوز بعض الإعدادات المسبقة مثل أن تعمل التعدادات النقطية كما نتوقع ، يجب أن تتداخل جميعها
‫، على سبيل المثال ، بشكل أساسي مع الرمز النقطي.
‫وربما يجب أيضًا تجاهل الجدار غير المرئي وديناميكية الجدار غير المرئية لأغراض رصاصتنا.
‫نفس الشيء مع الديناميكية هنا.
‫يمكنك أن ترى أننا ننتهي بشكل أساسي بشيء مشابه تمامًا لتتبع الرؤية.
‫لكن سبب إبقائها منفصلة هو أننا قد نرغب في إجراء تمييزات طفيفة ، كما ترون ، لا يمكنك الرؤية
‫من خلال هذه الأدغال ، ولكن يمكنك إطلاق النار من خلالها.
‫هذه الأنواع من الأشياء تعني أن امتلاك قناة التتبع الخاصة بنا أمر مفيد حقًا.
‫الآن نود أن نكون قادرين على استخدام قناة التتبع هذه في الكود ، ومن غير المألوف بعض الشيء كيف يتعين
‫علينا القيام بذلك لأن هناك تعدادًا هنا ، وقناة تصادم E ، وإذا انتقلنا إلى F12 لتعريفها ، يمكنك أن ترى هناك مجموعة من
‫الأشياء المحددة مسبقًا ، ثابتة - الرؤية ، إلخ. في الأسفل هنا ، ولكن بعد ذلك هناك مجموعة أخرى
‫من قنوات تتبع المحرك الأولى والثانية وقناة تتبع اللعبة الأولى والثانية والثالثة وما
‫إلى ذلك. محدد مسبقا.
‫أي واحد منا هذا؟
‫كما تعلم ، ليس لدينا رصاصة هنا.
‫علينا في الواقع استخدام واحدة من قنوات تتبع اللعبة هذه.
‫لذا فإن الأمر محير حقًا بعض الشيء.
‫أي واحد هو؟
‫لذا فإن الطريقة التي تقوم بها هي بالذهاب إلى مجلد المشروع الخاص بك والذهاب إلى config.
‫وما نريده هو المحرك الافتراضي INI ونريد فتحه في محرر نصوص.
‫لذلك يمكنك القيام بذلك في أي نص تريده.
‫أحب أن أسحبه إلى رمز Visual Studio ، بحيث يكون رمز Visual Studio هو الرمز الذي يفتحه.
‫وهنا نريد أن نبحث بشكل أساسي عن الرصاصة الخاصة بنا ونرى ما تم تخصيصه لها.
‫وأعتقد أن السطر الأول هنا يخبرنا أن القناة الممنوحة لها هي لعبة قناة التتبع الأولى.
‫جميل.
‫هذا ما سنستخدمه عندما نقوم بتتبع الخط.
‫لنبدأ إذن في وضع هيكل خط التتبع هذا في مكانه الصحيح.
‫أول شيء سنحتاجه هو نقطة البداية.
‫لدينا ذلك بالفعل.
‫هذا هو موقع منفذ العرض الخاص بنا.
‫سنحتاج أيضًا إلى نقطة نهاية لتتبع الخط لدينا والتي يصعب حسابها قليلاً.
‫لنقم إذن بإنشاء متجه F لنهايتنا ، وسنقوم بحساب ذلك باستخدام نقطة التوقف ، بالإضافة
‫إلى الدوران مضروبًا في المقدار ، والمسافة التي نريد قطعها.
‫ليس الدوران ، ولكن المتجه الذي يشير في اتجاه الدوران يشعر بالارتباك
‫بعض الشيء ، ولكن في الواقع إذا قمت بعمل متجه دوران ، فهذا يمنحك متجهًا يشير في اتجاه هذا الدوران.
‫إنه نوع من القيام بعكس ما كنا نفعله في مخطط الرسوم المتحركة للحصول على دوران من
‫متجه.
‫هذا يذهب في الاتجاه الآخر.
‫لذلك سنقوم بتحديد الموقع بالإضافة إلى متجه الدوران هذا ، ثم نريد نطاقًا أقصى بشكل أساسي.
‫لذلك سأقوم بتقديم خاصية جديدة هنا ، وجعلها تعدل في أي مكان وستكون عائمة
‫تسمى Max Range مثل ذلك.
‫ويمكننا ضبطه على قيمة افتراضية مثل 10000 أو ألف حد أقصى.
‫سيكون هذا حوالي 100 متر ، آسف ، حوالي عشرة أمتار.
‫وسننتقل إلى متجه الدوران مضروبًا في النطاق الأقصى.
‫سيكون هذا هو المتجه الذي نحصل عليه من هذا الدوران سيكون بحجم واحد.
‫ضربه في النطاق الأقصى سيجعله متجهًا للحجم ، مهما كان النطاق الأقصى.
‫ثم نضيف ذلك أعلى الموقع لنحصل على نقطة النهاية.
‫لا تقلق إذا لم تتبع هذه الرياضيات بنسبة 100٪.
‫الشيء المهم هو أن هذه هي الطريقة التي نريد أن نصل بها إلى نقطة النهاية.
‫ثم سأضع سطرًا للمهام هنا لإضافة بعض تتبع السطر وسنقوم بإزالة
‫كاميرا تصحيح الأخطاء هذه لأنني أريد أن أقوم بمساعد تصحيح أخطاء رسم مختلف هنا.
‫أريد أن أرسم نقطة تصحيح يمكن أن تجدها هنا.
‫إنه يأخذ في العالم ، ويأخذ موقعًا وحجمًا ولونًا.
‫وسواء أكان الأمر ثابتًا أم لا ، فنحن على الأرجح نريده أن يكون ثابتًا ، وأن يكون مرئيًا.
‫لذلك يجب أن نكون قادرين على فعل شيء على هذا المنوال.
‫دعنا نرى ، نرسم نقطة تصحيح الأخطاء وسنقوم بإخراج العالم فورًا من الخفافيش هنا ثم سنبدأ
‫بموقع منفذ العرض بدلاً من ذلك ، تمامًا كاختبار لمعرفة كيفية عمل
‫نقطة تصحيح الرسم هذه ، أعط الحجم ليعطيه اللون الأحمر ويجعل ثباته حقيقة.
‫ثم نذهب إلى رأس المال للفاصلة المنقوطة ونرى ما إذا كان هذا يعمل كترجمة في
‫المحرك ودعنا نبدأ التشغيل.
‫الآن إذا أطلقت النار وتحركت للخلف قليلاً ، يمكنك أن ترى أن هناك نقطة هناك.
‫ومع ذلك ، فهي حقًا صغيرة جدًا ويصعب رؤيتها.
‫لذا سيقومون بزيادة هذا إلى 20 بدلاً من ذلك.
‫دعونا نرى ما إذا كان ذلك أفضل.
‫تجميع والعب.
‫نعم.
‫من المؤكد الآن أنني أستطيع أن أرى نقطة واضحة للغاية.
‫لذلك حان الوقت للتحدي الخاص بك للقيام بتتبع خط حسب القناة.
‫لقد فعلنا ذلك مع أنواع الكائنات من قبل ، لذلك نأمل أن نتمكن من استقراء ذلك للقيام بذلك عن طريق القناة.
‫لذا استخدم الموقع والنهاية اللذين حددناهما بالفعل على أنهما البداية والنهاية.
‫تحقق من نجاح النتيجة التي تدلي ببيان if.
‫لذلك فقط الحصول على المعلمة out أو الحصول على المعلمة من نتيجة النتيجة ورسم نقطة تصحيح فقط.
‫إذا وصلنا إلى النقطة بنجاح وتذكرنا أننا نستخدم تلك القناة التي وجدناها في ملف dot
‫INI أيضًا.
‫لذا قم بإيقاف الفيديو مؤقتًا ومعرفة ما إذا كان بإمكانك فرز كل هذه المعلمات والحجج
‫في تتبع السطر والحصول على نقطة التصحيح هذه حيث نصل إلى تتبع الخط الخاص بنا.
‫الآن في هذه المرحلة لا نقوم بأي شيء ذكي ، مثل تجاهل الممثل اللاعب.
‫لذلك قد ينتهي تتبع خطك بضرب اللاعب وهذا جيد لهذا التحدي.
‫وقفة الفيديو.
‫جرب.
‫تمام.
‫مرحبًا بعودتك.
‫لذلك دعونا نتعمق في الأمر.
‫سوف نحصل على العالم ، أولاً وقبل كل شيء ، ونقوم بسهم لذلك.
‫سنقوم بعمل تتبع خط واحد تلو الآخر.
‫ثم سنحتاج إلى نتيجة ناجحة.
‫لذلك ، نحتاج أولاً إلى الإعلان عن بنية نتيجة النتائج الخاصة بنا لتمريرها كمعامل خارج.
‫سوف تسميها ضرب وستقوم بتمريرها كأول حجة هنا.
‫ثم نحتاج إلى الموقع.
‫ونريد النهاية.
‫ثم ماذا؟
‫ماذا سيحدث بعد ذلك؟
‫قناة الاصطدام E الاصطدام.
‫لذلك ستكون قناة اصطدام E.
‫القولون.
‫وبعد ذلك يجب أن يكون البريد c ، ماذا قلنا؟
‫دعنا نذهب ونلقي نظرة على المحرك الافتراضي.
‫أي قناة تتبع لعبة e cc هي القناة الافتراضية التي قام أي منها بتكوينها على أنها.
‫هل هناك المزيد من الحجج التي نحتاجها هنا؟
‫دعنا نذهب على طول.
‫لدينا معلمات التصادم التي تم إخفاقها.
‫لذا لا ، لسنا بحاجة إلى أي شيء هنا.
‫ثم ما يمكننا فعله هو أننا نحتاج إلى نتيجة منطقية لهذا.
‫لذا ب النجاح.
‫ويبدو ذلك مفيدًا جدًا.
‫أليس هذا نجاحا؟
‫دعنا نقول إذا كان النجاح.
‫سنرغب في رسم نقطة التصحيح هذه.
‫لذلك سنقوم بتحريك هذا إلى أسفل.
‫يمكنني القيام بذلك باستخدام Alt ثم يتحرك السهم في خط مثل هذا ومن ثم يمكنني وضع مسافة بادئة له
‫باستخدام عنصر تحكم وقوس مربع أيمن على لوحة المفاتيح مما يجعله يبدو هكذا.
‫والآن بدلاً من الموقع ، وهو نقطة البداية ، نريد بالفعل موقع الإصابة.
‫لذلك سوف يكون موقع نقطة مثل ذلك.
‫ويبدو أنني فقدت فاصلة منقوطة في نهاية هذا السطر هنا.
‫دعونا نبني ذلك ونجربه.
‫بمجرد تجميع ذلك ، فلنبدأ اللعب ، ونذهب إلى العالم ونحاول إطلاق النار على جدراننا.
‫ها أنت ذا.
‫يمكنك أن ترى أن لدينا نقطة تظهر على الحائط حيث أطلقت النار.
‫يمكنني القيام بذلك عدة مرات.
‫يبدو أنه يضرب إذا ذهبت بعيدًا عن الحائط ، فلن يصطدم على الإطلاق لأن نطاقنا الأقصى قصير
‫جدًا.
‫ويمكنك أن ترى بمجرد أن أصل إلى النطاق الأقصى ، فإنها تضرب وترسم نقطة.
‫لذلك هذا هو التحدي الذي اكتمل بنجاح.
‫نحن الآن قادرون على إظهار وتتبع الخط إلى نقطة معينة.
‫ستكون الخطوة التالية هي جعل ذلك يظهر بالفعل بعض تأثيرات الجسيمات ، والتي ستكون أكثر
‫برودة بكثير من مجرد رسم نقطة تصحيح لذلك.
‫سأراك في المحاضرة القادمة.