الانتقال إلى المحتوى الرئيسي

كيفية تدوير كائن في الوحدة: التحكم في الدوران المعقد

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

يمكنك التحكم في دوران كائن في الوحدة بطرق مختلفة. يسمح لك مكون التحويل المدمج بتعيين دوران كائن على طول المحاور الثلاثة: س ، ص و ض. للقيام بذلك ، يمكنك استخدام طريقة التدوير() وتحديد زاوية الدوران لكل محور فيها. ولكن إذا كان الكائن موجودا في وضع صعب أو كان له أحد الوالدين بمعلمات الدوران الخاصة به ، فقد يكون هذا النهج غير مريح.

هناك طريقة أخرى للتحكم في دوران كائن في الوحدة وهي استخدام الرباعية. الرباعية هي أداة رياضية تسمح لك بتمثيل دوران كائن في مساحة ثلاثية الأبعاد. تعتبر الرباعية أكثر مرونة وقوة مقارنة باستخدام زوايا أويلر أو طريقة التدوير (). إنها تسمح لك بضبط دوران كائن بسهولة في أي اتجاه وإجراء عمليات معقدة لمساحة المتجه المقابلة.

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

  1. التعرف على آليات التناوب في الوحدة
  2. فهم محاور الدوران في الوحدة
  3. استخدام زوايا أويلر لتدوير الكائنات
  4. تطبيق كواتيرنيونس لدوران دقيق
  5. العمل مع الحركة البدنية والدوران
  6. برمجة التحكم في الدوران عبر الكود
  7. استخدام الرسوم المتحركة لتصور واقعي للدوران
  8. أمثلة على التحكم المعقد في الدوران في الوحدة
  9. سؤال وجواب
  10. هل من الممكن لتدوير كائن في الوحدة دون استخدام البرامج النصية?
  11. كيف يمكنني تغيير سرعة دوران كائن في الوحدة?
  12. كيف يمكنني جعل كائن تدوير حول محور?
  13. هل من الممكن لجعل كائن تدوير في الوحدة باستخدام الماوس?
  14. كيفية تنفيذ التناوب السلس للكائن في الوحدة?

التعرف على آليات التناوب في الوحدة

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

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

لتدوير كائن في الوحدة ، يمكنك استخدام عدة طرق لمكون التحويل:

  • تدوير: طريقة تقوم بتدوير كائن حول محور محدد بزاوية محددة;
  • روتاتيروند: طريقة تدور كائن حول محور محدد بزاوية محددة وحول نقطة محددة;
  • أويلر: خاصية تسمح لك بتعيين دوران كائن في زوايا أويلر;
  • التدوير نحو: طريقة تدور كائنا في اتجاه معين بسرعة معينة;

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

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

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

فهم محاور الدوران في الوحدة

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

كل كائن في الوحدة له محاور الدوران الخاصة به. يحددون المحاور التي سيدور الكائن حولها عند تطبيق القوة أو تغيير الزاوية.

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

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

استخدام زوايا أويلر لتدوير الكائنات

هناك عدة طرق لتدوير الكائنات في الوحدة ، واحدة منها هي استخدام زوايا أويلر. زوايا أويلر هي مزيج من ثلاث زوايا دوران حول س, صو و ض المحاور.

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

. تحدد مكونات هذا الهيكل زوايا الدوران حول المحاور المقابلة.

ناقل 3 دوران = ناقل جديد3 (0 ، 0 ، 0);

تحويل.أويلرانجلز = دوران;

. وبالتالي ، سيكون الكائن في موضعه الأصلي بدون دوران.

. على سبيل المثال ، للتدوير حول المحور ص بمقدار 90 درجة:

دوران.ص = 90;

تحويل.أويلرانجلز = دوران;

، وسوف يدور الكائن 90 درجة حول المحور ص.

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

تطبيق كواتيرنيونس لدوران دقيق

الرباعية هي أداة رياضية تستخدم لتمثيل والتحكم في الدورات في الفضاء ثلاثي الأبعاد. في الوحدة ، تستخدم الرباعية لتدوير الكائنات بدقة.

الرباعي هو متجه للشكل (س ، ص ، ض ، ث) ، حيث (س ، ص ، ض) هو متجه محور الدوران ، و ث هو المكون القياسي الذي يحدد زاوية الدوران.

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

في الوحدة ، يمكن تطبيق الرباعية على كائن باستخدام الرباعية.طريقة أويلر (). تأخذ هذه الطريقة ثلاث قيم زاوية (زوايا أويلر) وتعيد رباعي يمثل الدوران المحدد.

مثال الاستخدام:

دوران رباعي = رباعي.أويلر (0 ، 90 ، 0);

تحويل.الدوران = الدوران;

في هذا المثال ، سيدور الكائن 90 درجة حول المحور ص.

يمكن أيضا استخدام الرباعية لتدوير كائن بسلاسة باستخدام وظائف مثل الرباعية.دوار () أو رباعي.سليرب (). تسمح لك هذه الوظائف بتعيين رباعي الهدف والتحكم في سرعة دوران الكائن.

وظيفةالوصف
كواترنيون.روتاتيتو نحو ()يقوم بتدوير الكائن بالنسبة للاتجاه الحالي في اتجاه اتجاه الهدف بسرعة معينة.
كواترنيون.سليرب()تدور بسلاسة الكائن نسبة إلى الاتجاه الحالي في اتجاه التوجه الهدف بسرعة معينة.

يتيح لك استخدام الرباعية لتدوير الكائنات في الوحدة التحكم بشكل أكثر دقة ومرونة في اتجاه الكائنات. توفر الرباعية المزيد من الاحتمالات للدوران مقارنة بزوايا أويلر وتجنب المشاكل المرتبطة بـ "قفل المحور".

العمل مع الحركة البدنية والدوران

الوحدة لديها القدرة على العمل مع الحركة المادية وتناوب الأشياء. هذا يسمح لك لخلق تأثيرات واقعية وسلوك الكائنات في اللعبة.

للعمل مع الحركة المادية والدوران ، الوحدة يستخدم ريجيدبودي و ريجيدبودي2د المكونات (اعتمادا على نوع الكائن).

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

و ريجيدبودي2د المكون هو التناظرية من عنصر ريجيدبودي ، ولكن المقصود للاستخدام مع كائنات ثنائية الأبعاد.

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

على سبيل المثال ، لتدوير كائن إلى اليمين بسرعة 5 راد/ثانية ، تحتاج إلى تعيين قيمة الزاويةفيلوسيتي إلى 5. ولإيقاف الدوران ، يجب أن تكون القيمة 0.

يمكنك أيضا تطبيق قوى فيزيائية على جسم ما للتأثير على دورانه. للقيام بذلك ، استخدم طريقة أدتوركو من مكون ريجيدبودي (أو غيرها). تضيف هذه الطريقة قوة دوران (قوة دوران) إلى الكائن ، مما يؤدي إلى تدويره. يتم تحديد قوة تورك بواسطة عزم الدوران.

على سبيل المثال ، لتطبيق قوة الدوران على كائن ما ، يكفي استدعاء طريقة الإضافة بالقيمة المطلوبة للحظة (قوة الدوران). لإيقاف الدوران ، تحتاج إلى تطبيق قوة مساوية للاتجاه المعاكس والحجم.

العمل مع الحركات البدنية والتناوب في الوحدة يجعل من الممكن لخلق تأثيرات واقعية وسلوك الكائنات في اللعبة. باستخدام ريجيدبودي و ريجيدبودي2د المكونات ، يمكنك التحكم في دوران الكائنات ، وخلق الجمود والاحتكاك الآثار ، وتطبيق القوى المادية لتغيير حركتهم.

برمجة التحكم في الدوران عبر الكود

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

يظهر أدناه مثال على رمز التحكم في دوران كائن:

باستخدام يونيتينجين;

فئة عامة روتاتيوبجيكت : مونوبيهافور

{

سرعة تعويم العامة = 10 فهرنهايت;

تحديث باطل()

{

تحويل.تدوير (متجه3.أعلى ، السرعة * الوقت.دلتا تايم);

}

}

في هذا المثال ، يتم إنشاء مكون البرنامج النصي "روتاتيوبجيكت" الذي يتحكم في دوران الكائن. في حقل "السرعة" العام ، يتم تعيين سرعة دوران الكائن ، والتي يمكن تعديلها في محرر الوحدة.

في طريقة "التحديث" ، يتم استدعاء وظيفة "تدوير" لتدوير الكائن. الوسيطة الأولى للوظيفة هي المحور الذي يحدث حوله الدوران (في هذه الحالة ، "المتجه3.فوق " يعني الدوران حول المحور ص). الوسيطة الثانية هي سرعة الدوران مضروبة في " الوقت.دلتا تايم " بحيث تكون السرعة مستقلة عن الأداء.

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

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

اعتمادا على السلوك المطلوب ، يمكنك تغيير قيم ووسيطات وظيفة "التدوير" للحصول على التحكم المطلوب في دوران الكائن. على سبيل المثال ، يمكنك استخدام محاور أخرى أو تغيير سرعة الدوران حسب أي ظروف.

استخدام الرسوم المتحركة لتصور واقعي للدوران

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

لإنشاء رسم متحرك للدوران في الوحدة ، اتبع الخطوات التالية:

  1. حدد الكائن المراد تحريكه في التسلسل الهرمي للكائن.
  2. قم بالتبديل إلى وضع الرسوم المتحركة بالنقر فوق الزر "الرسوم المتحركة" في اللوحة السفلية.
  3. قم بإنشاء رسم متحرك جديد بالنقر فوق الزر" إنشاء " واختيار مجلد لحفظه.
  4. في المخطط الزمني ، حدد الكائن الذي سيتم تدويره وتسجيل قيمته لخاصية "التدوير".
  5. قم بتعيين الإطارات الرئيسية عن طريق تعيين قيم الدوران لنقاط زمنية مختلفة.
  6. اضبط سرعة الحركة باستخدام منحنيات المخطط الزمني.
  7. قم بتشغيل الرسوم المتحركة في وضع المعاينة للتحقق من النتيجة.

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

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

أمثلة على التحكم المعقد في الدوران في الوحدة

تقدم الوحدة طرقا مختلفة للتحكم في دوران الأشياء. فيما يلي بعض الأمثلة على التحكم المعقد في الدوران في الوحدة:

  1. باستخدام المفاتيح
  2. واحدة من أسهل الطرق للتحكم في دوران كائن ما هي استخدام المفاتيح الموجودة على لوحة المفاتيح. على سبيل المثال ، يمكنك إضافة برنامج نصي إلى كائن يقوم بتدويره عكس اتجاه عقارب الساعة أو في اتجاه عقارب الساعة عند الضغط على مفتاح معين. في الوحدة ، يمكنك بسهولة التعامل مع ضغطات المفاتيح باستخدام وظائف الإدخال.جيتكي () أو الإدخال.جيتكيدون ().

  3. باستخدام الماوس
  4. هناك طريقة أخرى للتحكم في دوران كائن في الوحدة وهي استخدام الماوس. يمكنك إضافة برنامج نصي إلى كائن يقوم بتدويره حول المحور وفقا لحركة الماوس. على سبيل المثال ، يمكنك تدوير كائن حول المحور ص عند الضغط على زر الماوس وتحريكه إلى اليسار أو اليمين.

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

  7. استخدام إيماءات اللمس
  8. يمكن استخدام إيماءات اللمس للتحكم في دوران الكائن بشكل أكثر تعقيدا. توفر الوحدة القدرة على التعامل مع إيماءات اللمس المختلفة مثل الضربات الشديدة والتكبير والتناوب. على سبيل المثال ، يمكنك تدوير كائن حول المحور ض عندما يقوم المستخدم بتحريك إصبعه حول الشاشة.

  9. استخدام الفيزياء
  10. هناك طريقة أخرى للتحكم في دوران كائن ما في الوحدة بطريقة معقدة وهي استخدام الفيزياء. يمكنك إضافة مكونات مادية إلى كائن ، مثل جسم جامد ، واستخدام القوى وعزم الدوران للتحكم في دورانه. على سبيل المثال ، يمكنك تطبيق القوة على كائن في اتجاه محوره السيني المحلي لتدويره حول هذا المحور.

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

سؤال وجواب

هل من الممكن لتدوير كائن في الوحدة دون استخدام البرامج النصية?

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

كيف يمكنني تغيير سرعة دوران كائن في الوحدة?

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

كيف يمكنني جعل كائن تدوير حول محور?

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

هل من الممكن لجعل كائن تدوير في الوحدة باستخدام الماوس?

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

كيفية تنفيذ التناوب السلس للكائن في الوحدة?

لتنفيذ التناوب السلس للكائن في الوحدة ، يمكنك استخدام أساليب ليرب أو سليرب. ليرب يسمح لك بسلاسة تغيير زاوية دوران بين قيمتين ، و سليرب يسمح لك بسلاسة تغيير زاوية دوران بين اثنين من الاتجاهات (كواترنيونس).