مدونة Metlivi

كيفية إبقاء أهداف القدم IK ثابتة أثناء تحريك جسم الشخصية

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

هذا الدليل للمبدعين الذين يضبطون شخصية افتراضية مجهزة بهيكل عظمي، حيث يجب أن يهتز الجسم، أو يميل، أو يتحرك بينما تظل القدمان في مكانهما. يجمع سير العمل أدناه بين سلوك التحويل وIK الموثق مع تسلسل تشخيصي عملي؛ وتوفر مصطلحات Unity وGodot نقاط مرجعية ملموسة.

29 أكتوبر 2026قراءة 7 دقائقبقلم Metlivi Editorial Team
القسم 1

لماذا تتحرك أهداف القدم مع الجسم؟

يمكن أن يكون للهدف إحداثيات محلية غير متغيرة ولا يزال يتحرك عبر المشهد. تصف التحويلات المحلية كائنًا نسبيًا إلى والده، لذا فإن تحريك السلف يغير أيضًا تحويل الابن العالمي. توثق Godot هذا التمييز من خلال transform و global_transform. استخدام تحويلات ثلاثية الأبعاد — محرك Godot

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

لا تحكم على الإعداد من حقول الموضع المحلي وحدها. سجل الموضع العالمي للهدف قبل وبعد التحرك. هذا يفصل سؤالين مفيدين: هل غادر الهدف موضعه المقصود، أم أن الساق فشلت في تتبع هدف ثابت؟

القسم 2

كيف يجب تنظيم متحكمات الجسم والقدم؟

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

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

حيث تدعم التطبيقات وراثة التحويل المستقلة، يمكن أن يوفر ذلك خيارًا آخر. على سبيل المثال، تجعل Node3D.top_level في Godot العقدة تتوقف عن وراثة تحويلات والدها. هذه ميزة تحويل موثقة؛ فهي لا تهيئ حل IK بحد ذاتها. Node3D — محرك Godot

عند تغيير والد الهدف أو وضع الوراثة، احتفظ بوضعه العالمي الحالي. سجل أولاً موضعه العالمي واتجاهه، غيّر العلاقة، ثم استعد ذلك الوضع. تحقق من النتيجة قبل تحريك الجسم مرة أخرى.

القسم 3

ماذا لو كان الهدف يجب أن يبقى تحت والد متحرك؟

احتفظ بسجل مستقل لوضع العالم الثابت، واحسب الوضع المحلي المطلوب للهدف من تحويل الوالد الحالي. بالنسبة للموضع، العلاقة هي: الموضع المحلي للهدف = عكس تحويل الوالد العالمي الحالي × الموضع العالمي المحفوظ للهدف. توفر Unity التحويل من العالم إلى المحلي عبر InverseTransformPoint. Transform.InverseTransformPoint — Unity

ضع في اعتبارك مثالًا توضيحيًا للترجمة فقط. يتم تثبيت الهدف عند العالم X = 1.0، ويبدأ والده عند X = 0.0. لذا يكون موضعه المحلي X = 1.0. حرك الوالد إلى X = 0.3، ويحتاج الهدف إلى موضع محلي X = 0.7 ليبقى عند العالم X = 1.0. ترك الموضع المحلي X عند 1.0 سيحرك الهدف إلى العالم X = 1.3.

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

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

القسم 4

كيف تقوم بتكوين IK الساق لتتبع الأهداف؟

تحقق من تعيينات سلسلة الحل قبل اختبار تغيير وضع كبير. في Unity Animation Rigging 1.4.1، يستخدم Two Bone IK تحويلات Root و Mid و Tip، وهدف، و Hint اختياري. بالنسبة لساق شخصية بسيطة من مقطعين، تتوافق هذه مع مفصل الفخذ، ومفصل الركبة، ومفصل الكاحل. يتحكم Hint في اتجاه الانحناء. Two Bone IK — Unity Animation Rigging

للاختبار الأولي، استخدم تأثير القيد الكامل وتأثير موضع الهدف الكامل. تحقق من تأثير دوران الهدف بشكل منفصل. تكشف Unity هذه كأوزان مميزة، لذا يمكن اختبار المتابعة الموضعية ومطابقة الاتجاه بشكل مستقل. إعداد Maintain Target Offset يحافظ على فرق الموضع أو الدوران الأولي بين الطرف والهدف. Two Bone IK — Unity Animation Rigging

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

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

القسم 5

إلى أي مدى يمكن للجسم أن يتحرك بينما تظل القدمان ثابتتين؟

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

لشخصية توضيحية ذات أطوال مقاطع 0.45 و 0.45 وحدة مشهد، يبلغ أقصى وصول هندسي 0.90 وحدة. إذا كان الورك على بعد 0.80 وحدة فوق هدف الكاحل و 0.30 وحدة أفقيًا، فإن المسافة بينهما هي √(0.80² + 0.30²)، أي حوالي 0.854 وحدة. هذا يناسب النطاق المثالي. زيادة الفصل الأفقي إلى 0.50 وحدة تنتج حوالي 0.943 وحدة، وهو خارج ذلك النطاق.

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

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

القسم 6

كيف تبقي القدم بأكملها ثابتة بدلاً من الكاحل فقط؟

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

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

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

القسم 7

كيف يمكنك تشخيص الانزلاق بترتيب قابل للتكرار؟

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

الملاحظة الفحص الأول الإجراء التالي
الهدف يتحرك مع الجسم الأسلاف المتحركة والتحويلات الموروثة فصل فروع التحكم أو استعادة الوضع العالمي المحفوظ
الهدف يظل ثابتًا، الكاحل يفوته تعيينات السلسلة، تأثير الموضع، والوصول تحقق من الإعداد، ثم قلل إزاحة الجسم
الكاحل يظل ثابتًا، الكعب أو إصبع القدم يتحرك اتجاه القدم وإزاحة التلامس استعادة الاتجاه الثابت المقصود
الركبة تغير انحناءها بشكل غير متوقع وضع Hint أو القطب اختبر متحكم الانحناء مع حركة جسم معتدلة
النتيجة تختلف بين السحب والتشغيل أي نظام يكتب كل متحكم، ومتى افحص التحويلات المقيمة أثناء التشغيل

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

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

القسم 8

المصادر

قراءات ذات صلة

متابعة استكشاف الموضوع