‫مرحبًا.
‫أهلا وسهلا.
‫في هذه المحاضرة ، سنضيف حركة وحدة التحكم حتى نتمكن من التحرك باستخدام
‫وحدة التحكم ، وهو ما ترونه يحدث هنا.
‫سأقوم بذلك باستخدام مجموعة مختلفة من المحاور للبحث عن المعدل والنظر إلى المعدل الصحيح ،
‫وسنرى سبب ضرورة ذلك.
‫دعنا نتعمق ونكتشف السبب.
‫لذلك أريد أن أكون قادرًا على التحرك في المشهد باستخدام وحدة التحكم.
‫يمكنني فعل ذلك بالفعل عندما لا أكون في وضع التشغيل.
‫لذلك نريد أن نكون قادرين على القيام بنفس نوع الحركة مثل هذا بالتحريك بالعصا
‫اليمنى والتحرك حول اليسار واليمين بعصانا اليسرى.
‫ويمكننا أيضًا الصعود والنزول.
‫لكن هذا ليس شيئًا يمكن لخصمنا القيام به ، لأنه ليس بيدقًا طائرًا.
‫لذا ما نريد القيام به هو ، أولاً وقبل كل شيء ، أنه من السهل رسم خريطة للحركة.
‫كل ما يتعين علينا القيام به هو الذهاب إلى إعدادات المشروع الخاصة بنا ، والنزول إلى أي مكان يوجد فيه الإدخال ، وإدخال المحرك
‫، ولدينا محور التحرك للأمام ولدينا أيضًا محور الحركة الصحيح.
‫ومن السهل جدًا إضافة تعيين آخر بالإضافة إلى W و S ، يمكننا إضافة لوحة الألعاب الخاصة
‫بنا.
‫إذا نظرنا أسفل لوحة الألعاب ، يمكنك رؤية عصا التحكم اليسرى التي نريد المحور ص للمضي قدمًا.
‫بالنسبة إلى اليمين المتحرك ، سنضيف مرة أخرى لوحة الألعاب وهي لوحة الألعاب ، ولا تزال العصا اليسرى.
‫لكن هذه المرة نقوم بعمل محوري x و y ويمكننا أن نرى ما إذا كان هذا هو النوع الصحيح من الحركة.
‫لذا انطلق واضغط على اللعب.
‫أستخدم alt p كاختصار لذلك.
‫ثم يعمل اليسار واليمين للأمام وللخلف كما نتوقع.
‫لكن من الواضح أن الانعطاف لا يعمل لأننا لم نقم بتعيين ذلك بعد.
‫لذلك دعونا نجرب ذلك.
‫إذا انتقلنا إلى الإعدادات وإعدادات المشروع والإدخال مرة أخرى ، فلنلقِ نظرة ، وابحث.
‫نحن نستخدم الماوس ذ حاليا.
‫ما الخطأ في الإضافة هنا؟
‫على سبيل المثال ، لوحة الألعاب ، والعصا اليمنى ، وهذه المرة المحور ص؟
‫حسنًا ، في المحاولة الأولى يمكننا أن نذهب ونلعب قليلاً.
‫قد يبدو هذا في الواقع على ما يرام.
‫لذلك ندخل ويمكنك أن ترى أنه يمكننا التحرك.
‫طبعا أكيد.
‫إنه سريع بعض الشيء ، لكنه لا بأس به ، أليس كذلك؟
‫أليس هذا بخير؟
‫حسنًا ، ليس حقًا.
‫والسبب يتلخص في النهاية في معدلات الإطارات وكيف تعمل هذه المحاور.
‫إذن ما يحدث للفأر عندما ندير لعبة بمعدل 30 إطارًا في الثانية ، عندما نحرك الماوس
‫من اليسار إلى اليمين عبر الشاشة بنوع من السرعة المتساوية ، قد نرى أن قيم المحاور
‫تشبه عشرة ، ثم عشرة ثم عشرة.
‫وهذا يخبرنا أنه في كل مرة يتحرك فيها الماوس بمقدار عشر وحدات إلى اليمين ويقوم بذلك بنفس
‫الطريقة في كل إطار.
‫ماذا يحدث إذا ضاعفنا معدل عرض الإطارات لدينا؟
‫حسنًا ، ما زال الماوس يتحرك فجأة بنفس السرعة لأن اللاعب لا يزال يحرك
‫يده بنفس السرعة.
‫ولكن نظرًا لأننا نعرض الإطارات في كثير من الأحيان ، فإننا نواجه علامات في كثير من الأحيان ، ثم
‫ما سيحدث هو أن المدخلات من المحاور ستنخفض إلى النصف في كل مرة سنحصل على خمسة من خمسة أو
‫خمسة خمسة أو خمسة.
‫رائع جدًا ، هذا جيد ، لأن هذا يعني أننا ما زلنا نتحرك عبر شاشتنا بنفس المعدل ،
‫بغض النظر عما إذا كان لدينا جهاز كمبيوتر سريع أو جهاز كمبيوتر بطيء.
‫إذا حركنا الماوس بمقدار معين ، ستلاحظ نفس القدر من الحركة ، وهو ما
‫نريده.
‫الآن تتغير الأشياء قليلاً عندما ننظر إلى وحدة التحكم ، لنفترض أننا نذهب بالكامل إلى اليمين باستخدام
‫وحدة التحكم التناظرية الخاصة بنا وهي 30 إطارًا في الثانية.
‫نحصل على واحد ، ثم واحد ، ثم واحد.
‫من المنطقي ، أليس كذلك؟
‫ماذا لو كان بمعدل 60 إطارًا في الثانية؟
‫ما زلنا نحصل على واحد ، ثم واحد ، ثم واحد ، ثم واحد.
‫لكننا نحصل على المزيد منها لأننا نحصل على المزيد من الإطارات.
‫إذا استخدمت ذلك بشكل مباشر للتأثير على حركة بيدقك ، فسترى أنه يتحرك بضعف السرعة
‫، بمعدل ضعف معدل الإطارات ، وليس ما نريده.
‫لذا ما نريد القيام به هو تقديم بعض استقلالية معدل الإطارات هنا.
‫للقيام بذلك ، علينا أن نكون قادرين على الضرب في زمن دلتا.
‫نريد نوعًا ما استخدام محور الإدخال لمساعدتنا في تعديل سرعة الدوران.
‫لذلك هذا قليل للاستيعاب هناك.
‫لكن ما أعنيه هو أننا نحتاج إلى شيء مثل متغير معدل الدوران.
‫سنقوم بإنشاء خاصية جديدة لذلك ، والتي ستكون تعديلًا في أي مكان
‫وسنعمل على جعلها عائمة وستكون معدل الدوران.
‫الآن سأستخدم نفس معدل الدوران لأعلى ولليسار ولليمين.
‫يمكنك المضي قدمًا والحصول على متغير منفصل لكليهما.
‫وأنا لا أعرف حقًا ما هو معدل الدوران الجيد الذي سيكون هنا.
‫سأقوم فقط بإعطاء سداسي غاز طائر.
‫لست متأكدًا من الوحدات المتضمنة هنا على الإطلاق ، لذلك سأستمر وأقول عشرة.
‫لكننا سنرى.
‫ربما هذا الطريق سريع جدا.
‫ربما تكون هذه الطريقة بطيئة للغاية.
‫يمكننا تعديل ذلك في مخططنا حتى نتمكن من المضي قدمًا وحفظ ذلك.
‫سأنتقل إلى C ++ Alt O لتبديل C ++ ، بالمناسبة ، وسنريد أن يكون لدينا نوع جديد
‫من المحور حتى نتمكن من التمييز بين الحركة.
‫الحق ، وهو الفأرة ، حركة مباشرة مقابل الحركة.
‫حق؟
‫أو بالأحرى آسف ، المظهر.
‫صحيح ، وهو المعدل.
‫لذلك سنفعل ذلك بالانتقال إلى إعدادات المشروع وبدلاً من تعيين عصا التحكم اليسرى هذه
‫للإبهام على الحركة.
‫صحيح ، آسف ، ليس عصا التحكم اليسرى ، ولكن تم تعيين الأداة اليمنى للبحث.
‫أستمر في ارتكاب هذا الخطأ ، وأزل ذلك من هذا المحور وأضف محورًا جديدًا سيكون
‫المظهر.
‫أعلى.
‫الصحيح.
‫وهذا سوف يأخذ في لوحة الألعاب لدينا ، أليس كذلك؟
‫إذن ، إنها لوحة ألعاب ، صحيح.
‫المحور Y لأنه نظرة لأعلى ونقول أن الموجب يجب أن يكون هو الذي نستخدمه.
‫إذن ما يمكننا فعله هو أننا بحاجة إلى تعيين هذا ولا نريد تعيينه مباشرةً إلى وحدة التحكم في الإعلانات.
‫لأننا نحتاج إلى إجراء القليل من العمليات الحسابية لحساب المعدلات وجعل معدل إطارات هذه المعدلات
‫مستقلاً.
‫إذن ما سنفعله هو الانتقال إلى بديل الصفر وإنشاء نظرة للأعلى ، وهو ما حصلنا عليه
‫بالفعل هنا.
‫وسأقوم بإنشائه على أنه البحث الصحيح والمضي قدمًا وإنشاء هذا التحول في التحكم.
‫P وأنا أستخدم مكون التنفيذ الخاص بي.
‫دعنا نمضي قدمًا ونلقي نظرة على تطبيق المعدل.
‫حصلت على قيمة المحور القادمة.
‫ذلك رائع.
‫نريد بعد ذلك التأكد من أن هذا ما نسميه في إعداد مكون إدخال اللاعب.
‫لذلك دعونا ننشئ خطًا جديدًا هنا ، ونكرر المظهر.
‫حسنًا ، سأسميها ابحث.
‫صحيح ، هكذا ثم انسخ والصق ملف.
‫مرجع مؤهل تمامًا للدالة لاستدعاء معدل البحث لدينا.
‫ثم ما نريد أن نطلق عليه في نهاية اليوم هو إضافة إدخال وحدة التحكم ، الملعب ، وحدة التحكم
‫، مدخلات الملعب.
‫لكننا نريد ضرب هذا في شيئين.
‫لذا تأتي قيمة الوصول كقيمة بين صفر وواحد.
‫إذا قمنا بضرب ذلك ، فإن قيمة المحور مضروبة في معدل دوران المعدل.
‫ثم ما سنحصل عليه هو السرعة ، لكن ما نريده هو في الواقع مسافة.
‫مثل عندما حركنا الماوس ، تحركنا على مسافة معينة ، كل إطار.
‫هذا ما كان قادمًا.
‫نريد تحويل هذه السرعة إلى مسافة.
‫وإذا كنت تتذكر طريقة ما في بعض دروس الرياضيات الضبابية ، للانتقال من سرعة إلى مسافة ، فنحن بحاجة
‫إلى الضرب في مقدار الوقت.
‫لذلك نقوم بذلك عن طريق الحصول على ثواني دلتا من العالم.
‫الآن ما هي دلتا ثانية؟
‫هذا هو مقدار الوقت الذي استغرقه الإطار الأخير.
‫لذا فهو نوع من عكس معدل الإطارات.
‫إنه يخبرنا بالوقت الذي يستغرقه الإطار ، وهو أمر رائع لأن هذا هو مقدار الوقت الذي نحتاجه لتطبيق
‫هذه الحركة مرة أخرى.
‫لذا ، إذا فكرت في الأمر ، فلدينا سرعة ، ولدينا مقدار من الوقت نحتاجه لتطبيق
‫هذه السرعة.
‫إنه يعطينا قدرًا من الحركة التي نريد أساسًا تطبيقها على مدخلات الملعب الخاصة بوحدة التحكم.
‫هذا ما نريده.
‫احصل على العالم أولاً وقبل كل شيء ، لأننا نريد الوصول إلى المستوى ، وسوف نحصل على العالم من حولنا.
‫ومن ثم نستخدم وظيفة السهم للحصول على Delta seconds ، والتي تخبرنا أننا نريد الحصول على مقدار الوقت المنقضي
‫في الإطار الأخير ، مما يعطينا مرة أخرى هذا التقريب لمعدل الإطارات لدينا
‫في الوقت الحالي. .
‫الآن قد تتساءل لماذا لا نفعل الشيء نفسه مع إدخال الحركة ، والسبب هو أن إدخال
‫الحركة ، عندما تقوم بإدخال إعلان هناك ، فإنه يفترض بالفعل أن هذا معدل
‫وليس مقدارًا فعليًا للحركة.
‫لذا فهي تقوم بالفعل بهذا الحساب لنا ، بشكل أساسي تحت الغطاء ، وحفظ الملفات ، والانتقال إلى ما
‫هو غير واقعي وتجميعه ومعرفة ما إذا كان أيًا من هذا يستحق العناء.
‫لذلك دعونا نبدأ اللعب وسأحاول استخدام مدخلات وحدة التحكم الخاصة بي.
‫هناك نذهب.
‫نحن نسير صعودا وهبوطا ببطء نوعا ما.
‫ولكن نأمل أن يكون هذا مستقلاً تمامًا عن معدل الإطارات لأننا استخدمنا وقت دلتا هذا.
‫لذا ما أريدك أن تفعله هو المضي قدمًا وتنفيذ الشكل المناسب للمعدل.
‫لذا كرر نفس الطريقة التي تم إعدادها للبحث بشكل صحيح كما فعل في البحث عن السرعة وتعديلها بحيث لا تسير ببطء
‫شديد ويمكنك استخدامها في الواقع للتنقل حول المستوى وإيقاف الفيديو مؤقتًا والقيام بالذهاب.
‫تمام.
‫مرحبًا بعودتك.
‫لذلك كانت الخطوة الأولى هي أننا ذهبنا وأنشأنا مخطط محور جديد في إعدادات مشروعنا.
‫سيتعين علينا القيام بذلك مرة أخرى ، هذه المرة للحصول على المظهر.
‫حق؟
‫الصحيح.
‫مثل ذلك يا له من فم.
‫ثم سنذهب ونحصل على لوحة الألعاب.
‫في هذه المرة والمحور x ، هذا هو المحور الذي سنقوم بتعيينه.
‫وبعد ذلك سننتقل إلى ملف رأس مطلق النار هذه المرة.
‫سنقوم بتكرار معدل البحث.
‫واسمحوا لي فقط أن أريكم الملفات حتى تتمكنوا من رؤية مكاني على الجانب الأيسر.
‫لذلك سيكون لدينا بدلًا من معدل البحث ، سيكون الشكل
‫الصحيح للتحكم في المعدل ، التحول ع إلى التنفيذ وسنحصل على نفس الكود تمامًا مع نفس
‫الضرب الذي نحصل عليه من ، مرة أخرى ، تحركت سرعة إلى مقدار المسافة.
‫هذا هو المظهر.
‫صحيح صحيح.
‫لذا بدلاً من القيام بملاحظة إضافة وحدة التحكم ، نحتاج إلى القيام بإدخالك هذه المرة وسيتعين
‫استدعاء معدل المظهر الصحيح من مكون إدخال مشغل المجموعة أو يجب استدعاؤه عندما
‫يتم التلاعب بالمحور بالفعل.
‫لذلك سنقوم بإضافة محور آخر هنا بدلاً من معدل البحث.
‫سيكون معدل المظهر المناسب.
‫وبعد ذلك سنرغب في نسخ هذا المرجع إلى الوظيفة ، مع تذكر علامة العطف من قبل ثم المسألة المؤهلة
‫بالكامل إلى الحرف.
‫القولون.
‫القولون ، انظر المعدل الصحيح.
‫دعنا نمضي قدمًا ونحفظ كلاً من ذلك ورئيس الملف.
‫ارجع إلى المشروع واخرج من اللعب الذي تركته واضغط على تجميع هنا وبعد ذلك.
‫يجب أن نكون قادرين على الغوص واللعب.
‫لذا.
‫صعودا وهبوطا يعملان ببطء ، اليسار واليمين.
‫لا أفهم كيف أتوقع.
‫دعنا نتحقق من إعدادات مشروعنا.
‫لذا نظرتنا.
‫الصحيح.
‫يبدو بخير.
‫عصا التحكم الحق.
‫Thumbstick x المحور.
‫دعنا نتحقق من ذلك.
‫هذا كله يمر في C ++ بشكل صحيح ربط نظرة المحور.
‫صحيح صحيح.
‫إنها تستدعي وظيفة أو درزات النظر الصحيحة من أجل استدعاء المدخلات الخاصة بك كما ينبغي.
‫دانا ، ماذا حدث هناك؟
‫لقد قمت للتو بالضغط على recompile مرة أخرى ثم اضغط على play مرة أخرى.
‫في بعض الأحيان عليك أن تفعل هذا.
‫ولكن الآن يبدو اليسار واليمين يعملان لأعلى ولأسفل ، وإن كان ذلك بوتيرة بطيئة
‫للغاية.
‫لذلك سنقوم بتعديل مخطط شخصيتنا.
‫دعنا نذهب ونجد شخصية VP shooter الخاصة بنا.
‫افتح مخططه.
‫ثم ننتقل لأسفل ونجد معدل الدوران ، الذي سأضربه في عشرة.
‫حاول أن تذهب أسرع بعشر مرات ، ثم سنجد قيمة منطقية في مكان ما بينهما.
‫هذه دائمًا إحدى الطرق التي يمكنك من خلالها محاولة العثور على القيم فقط من خلال الانتقال وتغيير ترتيب
‫المقدار أولاً.
‫حسنًا ، هذا أقرب بكثير في الملعب الصحيح.
‫ربما يكون الأمر حساسًا بعض الشيء ، لذلك ربما أخفض ذلك بمقدار النصف.
‫جرب حوالي 50 هذه المرة.
‫ليس 500 بل 50.
‫لنجرب ذلك.
‫اضرب اللعب وحرك العصا الخاصة بي.
‫هذا شعور طبيعي أكثر.
‫قد ترغب في الذهاب إلى مكان ما بين هذين الأمرين.
‫لذا ادخل بين الاثنين.
‫مرة أخرى ، سأقول حوالي 70 هذه المرة ، قد يكون المعدل الصحيح بدلاً من الذهاب إلى 170 هو المعدل الصحيح.
‫دعونا نرى ما إذا كنا قد وصلنا إلى الذهب.
‫نعم أعتقد ذلك.
‫أعتقد أن 70 سيكون هو المعدل المناسب بالنسبة لي للتنقل.
‫من الواضح أن هذا هو نوع الأشياء التي تسمح لك الألعاب غالبًا بتعديلها أو السماح للاعب بالتعديل في الإعدادات.
‫لن ننظر في ذلك.
‫هذا خارج نطاق هذا القسم ، لكنه شيء قد ترغب في عرضه للمستخدمين
‫في ألعابك الخاصة.
‫رائع.
‫لذلك في تلك المحاضرة رأينا الفرق بين إدخال وحدة التحكم وإدخال الماوس وكيف يتعين
‫علينا التعامل مع المعدلات بدلاً من الحركات المطلقة.
‫لذا في المحاضرة التالية ، سنلقي نظرة على كاميرا الشخص الثالث التي ظللت ألمح إليها.
‫اراك هناك.