بسم الله الرحمن الرحيم
السلام عليكم و رحمة الله و بركاته
الموضوع عن تقنية استعملت في كثير من الالعاب 3d الحديثة مثل : Mortal Kombat vs. DC Universe و Assassin’s Creed
ماهي الـ IK ؟
IK اختصار لعبارة inverse kinematic وهي الحركة العكسية
kinematic = Motion = حركة
و لنفهمها ناخذ مثال في 3ds max
لدينا مجموعة من العظام مرتبطة تسلسليا -لتكون مثلا عظام شخصية ما-
لو قمنا بتحريك العظمة الأولى .. ستتحرك بقية العظام معها
لو قمنا بتحريك العظمة الثانية ستتحرك العظام المرتبطة اسفلها
اذن عندما يتحرك الأب يتأثر الابن (father affect child)
العظمة الزرقاء أب لبقية العظام
الخضراء ابن للعظمة الزرقاء و أب للبقية
الحمراء ابن للخضراء و أب للسوداء
السوداء ابن للحمراء
(يمكن تغيير الاب و الابن -Hierarchy- من الازرار link/unlink في الماكس)
وعندما يتحرك الابن لا يتأثر الاب و هنا يأتي دور IK
نختار العظمة السوداء ، ثم من القائمة Animation نختار IK Solvers
ما يهمنا من القائمة هو : HI Solver ، (انظر ملف المساعدة للماكس للمزيد) نضغط على HI Solver ثم نختار العظمة الزرقاء
الآن بتحريك الـ helper الناتج "IK Chain01" تتأثر كل العظام بتحركه
وهكذا تكون الحركة واقعية -الى حد ما- مثلا عندما تجذب اصبع يدك تتأثر كل ذراعك و هذا هو inverse kinematic = الابن يؤثر على الأب
وهذه الاعدادات موجودة أصلا مع الـ Biped :
الآن ..هذا الـ inverse kinematic يشمل الذراع فقط أو الرجل فقط أو النصف العلوي فقط ..ولا يشمل بقية الجسم .. نفرض ان شخص ما جذب يدك بقوة ..ستتأثر يدك و ذراعك و النصف العلوي .. و اذا كانت القوة كبيرة سيتأثر كل الجسم ، وهذه الخاصية مدرجة في عدة برانمج مثل Motion Builder ، Endorphim (كلها برامج تحريك) وهناك مقبس للماكس 6، 7 اسمه
"Human IK" لشركة "Kaydara" يؤدي المهمة من داخل الماكس .
البرنامج الذي يحتوي على الـ IK مثل هذا يساعد الانميتور على صنع حركة واقعية بسهولة .Kaydara Human IK 1.0 for 3ds max ( 21MB )
http://rapidshare.com/files/8581781/DcpHumanik.rar
لدينا انميشن للوقوف "stand": صدرنا الشخصية و الانميشن الى المحرك .. وضعنا الشخصية في الlevel ، و هذا الليفل فيه اماكن مائلة و يمكن للشخصية أن تقف فيها ، سنجد ان الاقدام تخترق الارض .
و المشكل ..ان الأنميشن الذي يصدر من الماكس -مثلا- لا يمكن تعديله من داخل محرك الالعاب ..
اذا كان المحرك يدعم الـ IK فيمكن تصحيح زاوية ومكان القدم -أثناء اللعب-بحيث تبدو كأنها أنيميشن مصدرة من الماكس و تبدو الشخصية متأثرة بالتضاريس << عملية retargeting
في لعبة Assassin Creed تم دمج كود Human IK في محرك اللعبة Scimitar engine ، فأعطاهم ذلك مرونة في تصحيح الأنميشن و اصبح بالامكان استعمال انميشن واحدة في عدة اماكن ،
و هذه صورة gif توضح ذلك من ميديافاير
و تم استعمال التقنية أثناء المشي بين الحشود و ابعاد الناس من الطريق :
لاحظ وضع اليد على الكتف -الكتف هدف لتصحيح الانميشن-
و لتموضع أقدام الحصان :
النتيجة
وفي لعبة سلاحف النينجا على ننتندو وي ليوبي سوفت أيضا :
وهنا نلاحظ قدمي ليوناردو و رفاييل -اليمنى- كيف تتموضع حسب مودل البناية و ذلك أثناء أنميشن القتال :
و الفرتولز يستعمل الـ IK بBB هي :IK Position ، و تستطيع مشاهدة مثال عنها في Documentation\CMOS\WhitepaperSamples
المثال في الفرتولز ليس كمثال يوبي سوفت لكن على الأقل موجود ^_^
عملية الـ retargeting ممكنة في الفرتولز بطريقة أخرى هي باستعمال
Exclude from Animation و Create blended animation و Set Blended Animation Factor
ويمكن جعل الـ IK على اي جزء من الجسم -أو حتى الجسم كله-حسب الحاجة
نفس الكود الذي استعملته يوبي سوفت في ألعابها وضعته أوتوديسك الان في برنامجها : Human IK
و أقتبس لكم نبذة عنه :
HumanIK animation middleware frees animators from having to produce every possible animation clip by
procedurally adapting existing character animation to game environments at runtime. Also, the
technology's runtime retargeting enables developers to reuse banks of animation on characters of
completely different scales and proportions. As a result, development teams can save time for more
creative challenges.
Furthermore, HumanIK enhances animation systems by enabling characters to interact more realistically
with the game environment. Characters place their feet correctly, climb walls and pick up objects,
even when the game environment changes. With fewer gameplay constraints, HumanIK helps to bring games
to life with more believable and immersive character animation experiences.
مثلا :
1-لديك 10 سلالم مختلفة في الشكل و لديك أنميشن تسلق واحد :بدل عمل عشرة انميشن لكل سلم ، استعمال Human IK يصحح موضع الاقدام و الايدي حسب السلم وبأنميشن واحدة
2- يمكن جعل الشخصية تتفاعل مع المحيط و الاشياء -مثلا يمشي و يتفادى العوائق-
والفيديو التالي يبين ذلك :
للتفاصيل عن البرنامج من اوتوديسك
الفيديو السابق من اوتوديسك
للتفاصيل عن Human IK في Assassin’s Creed
الاصدار الجديد للبرنامج غير متوفر بعد.
وهنا بالتفصيل الممل وشروحات أخرى -لنفس الموضوع- من موقع مايكروسوفت
(محاضرة Power point + ملف الصوت ) 60 ميجا تقريبا
Bringing Assassins Creed to Life
و لمن لايملك الأوفيس 2007 و لديه اصدار قديم لا يقرأ ملفات docx نزل تحديث للأوفيس القديم من مايكروسوفت بدون ما تغير الأوفيس
و هذا حوار مع أحد العاملين في يوبي سوفت عن الانجن الرهيب : Scimitar
وهذه مقالة عن الـ IK في الويكيـبيديا
تم والحمد لله
أتمنى لكم قراءة مفيدة ، و لأي استفسار لا تترددوا
و السلام عليكم ورحمة الله و بركاته