الشبكة العربية لمطوري الألعاب

?????  عبد الهادي هذه المشاركة مميزة مشاركة 1




 
السلام عليكم
في البداية أو القول بأن هذا الموضوع موجه لـ :
- الذين يعرفون التحرك على المايا ويودون الانتقال إلى السوفت إيميج أو بالعكس .
- من يود المقارنة بين البرنامجين ، فأنا رأيت الكثيرة من المواضيع في المنتديات من يسألون عن أي برنامج يختارون في التحريك وأي البرامج أفضل والأخص الحيرة بين المايا والـ XSI فهذه مقارنة فعلية في جزئية هامة من جزئيات البرنامجين ، والتي تهتم بصناعة الحركة الخام أو ما يسمى بـ Linear Animation.
كلا الـ Animation Editor  و Graph Editor مهمتهما معالجة خطوط ومنحنيات الحركة Function Curve  (FCurve) .
 
                 ------------
 
طريقة إضافة كيفريمات :
قبل الدخول إلى الـ  Animation Editor  و Graph Editor  أود التطرق إلى مبادئ إضافة الكيفريمات
في المايا الزر المقدس في التحريك الذي يضيف الكيفريمات هو الـ S  وفي الـ XSI  هو الـ K
الأزرار التالية في المايا :
Shift + W  لإضافة مفاتيح على الـ Translation فقط والاختصار في الـ XSI هو : pad1 بمعنى الزر 1 من مجموعة أزرار الأرقام على يمين لوحة المفاتيح - تأكد من تشغيل مجموعة الأزرار هذه من المفتاح NumLk
Shift + E  لإضافة مفاتيح على الـ  Rotation فقط والاختصار في الـ XSI هو : pad4
Shift + R لإضافة مفاتيح على الـ Scale فقط والاختصار في الـ XSI هو : pad7
والذين يعانون من ضجر في حفظ الاختصارات والتشتت فيها بين برنامج وآخر مثلي فيمكنك في الـ XSI تحويل اختصاراته لتصبح تماما كاختصارات المايا وذلك من القائمة File\Interaction model \QWERTY tools and Alt camera navigation
 
                 ------------
 
* ثمة خيارات أخرى تجدها في خيارات الأمر Set Key من قائمة Animation في المايا وهي :
- Current manipulator handle وهي لإضافة كيفريمات للـ Rotation مثلاً إذا كنت مختار أداة الـ Rotation أو الـ Translation أو الـ Scal كذلك .
- والخيار الثاني وهو بتفعيل All Keyable attribute ثم تفعيل From Channle Box ليتم إضافة كيفريم فقط إلى الخاصية التي تحددها من الـ Channle Box والذي أجد البعض في digital totur يضيف زر mel لينجز هذا الموضوع مع أنه خيار متاح بهذه البساطة ولا يحتاج إلى mel




* في الـ XSI كلا الخيارين واحد وهو Key Marked Parameters وذلك ببساطة لأنك عندما تختار أداة الـ Rotation وأخواتها يعني ذلك في نفس الوقت تحديد خواص هذه الأداة وهما الـ Rotation X  - Rotation Y - Rotation Z  وهكذا .




الخيار الثاني وهو Key All Keyable هي نفس الخيار في المايا والـ XSI ولكن في المايا تأكد من أن تفعل في أسفل مربع الخيارات الخيار ِAll Keyable وليس From Channel Box
هذه الخيار نفسه في المايا يعمل عمل Key Character Key Set في الـ XSI .
( والـ Character Set باختصار هي مجموعة من الخصائص أو Parameters لعنصر واحد أو عدة عناصر يتم تخزينها بمجموعة واحدة ، وهي أساسية في المايا لتمكنك من التعامل من الـ Trax Editor وعبارة عن خيار متاح في الـ XSI ، لأن الـ XSI يتعامل مع Animation Mixer بناءاً على الـ Models وهي طريقة ذات سلاسة أكثر بكثير من المايا برأيي الشخصي ، فقد ضاق صبري من عمل Charachter Sets و Sup Character Sets وإصلاح مزج الحركات بناءاً على هذه الطريقة ، وأظن أنني سأقوم بعمل درس ثانية للمقارنة بين الـ Trax Editor و Animation Mixer قريباً إن شاء الله )
 
                 ------------
 
 
أما حذف الحركة من خاصية معينة فببساطة بالضغط على الخاصية بالزر اليمين واختيار Delet Selected في المايا أو Remove Animation في الـ XSI

ولحذف الحركة بالكامل ففي المايا من قائمة Edit \ Key \ Delete Keys
وفي الـ XSI من زر Animation الموجود أسفل شريط الزمن تختار Remove Animation ثم تختار أحد الخيارت المتاحة ، وفي حال التعامل مع شخصية قد يكون الـ Rig فيها يحوي Expressions أو سكربتات فيفضل اختيار from all parameters , Fcurves .






في المايا تجد من القائمة Edit \ Delet by Type \ Static Channels لحذف FCurves الذي يوجد عليها كيفريمات كلها تحمل نفس القيمة بمعنى أنها ليس فيها حركة ، ولكن الـ XSI لم يترك أمر مهم من هذا النوع يقوم بتنظيف من الكيفريمات الزائدة ، فهذا الأمر يمكنك أن تجده في نفس قائمة :
Remove Animation  \ from all parameters , Static Fcurves
 
                 ------------
 
أمر أخير وهو موضع الـ Channel Box في المايا والذين اعتادو التعامل معه مثلي نفسه يمكن أن تجده في الـ XSI باسم جديد وهو الـ Keying Panle بالضغط على التبويب KP/L  أسفل يمين الشاشة كما هو موضح في الصورة .





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

 وفي أسفل الـ Keying Panle تجد الـ Animation Layers والذي لا يمكنني الحديث عنها كمقارنة مع المايا لأنها في الأساس غير موجودة في المايا ، و بصراحة سلاسة التعامل مع هذه الإضافة بجعل الحركة عبارة عن طبقات فوق بعضها تماما كطبقات الفوتوشوب وسلاسة التعديل على هذه الطبقات في الـ Animation Editor ميزة رائعة في برنامج الـ XSI كنت أتمنى لو أجدها بهذه السلاسة والبساطة في المايا وهو أمر تابع إلى أن الـ Non-Linear Animation بشكل عام في الـ XSI يتفوق على المايا من حيث المرونة والخيارات المتاحة .
 
وإلى هذا الحد أكتفي ، وسأتابع معكم قريباً بقية الموضوع في الحديث عن الـ Interpolaion والـ Slops والـ Tangents وأمور ثانوية .

Character Animator:Maya-XSI
Challenge is always welcomed

?????  عبد الهادي مشاركة 2

الجزء الثاني :

هذا الموضوع ليس مجرد مقارنة بين البرنامجين ولكنه أيضاً يفيد من يعرف أحد البرنامجين ويريد تعلم الآخر ، فبهذه الطريقة يمكنه أن يسرع عملية التعليم بمقارنة بسيطة بمعلوماته في البرنامج الأول وتطبيقها في الثاني بجرد معرفة أماكن الأوامر وكيف يمكن الوصول إليها وبعض الاختلافات عن برنامجه الأول ، وأتمنى أن أحصل على الوقت الكافي لإضافة مقارنات في غير الـ Animation Editor والـ Graph Editor وأعدكم بذلك في أيام قادمة إن شاء الله

مباشرة سندخل في الحديث عن المبادئ الـ Animation Editor  و الـ Graph Editor ( والذي سأرمز لهما بـ AE  و  GE فقط للاختصار ) من تعديل الكيفريمات وإضافتها وإزالتها وعمل Scale والتراجع عن التعديل وتحسين طريقة عرض الـ Fcurves.
ومصطلح الـ Fcurves سنستخدمه للدلاية على منحنى الحركة في كلا البرنامجين مع أنه قد يسمى في المايا Channel لكن كلا المدلولان واحد .

 
Graph Editor | GE




 Animation Editor | AE




                                            ------------
 
عند فتح الـ AE أو الـ GE  فإن الـ Fcurves تظهر للعنصر المحدد حالياً وتغيير تحديد العناصر يغير البيانات المفتوحة في الـ AE أو GE  بناءاً على العنصر المحدد ، ولكن في بعض الأحيان تضطر إلى تحديد عنصر آخر مع أنك تريد بقاء بيانات التحريك للعنصر الأول مفتوحة أمامك :
                   يمكنك ذلك في الـ AE بتفعيل أيقونة القفل Lock
                   نفس الأمر يمكنك أن تجده في الـ GE عن طريق إلغاء تفعيل الأيقونة Auto load Graph Editor
وفي هذه الحالة لن يتم إضافة أي عنصر آخر يتم تحديده إلا عند الضغط :
                   على زر Update جانب زر القفل في الـ AE
                   أو الأيقونة Load Selected Objects
وفي حال أردت رؤية بيانات التحريك لأكثر من عنصر ففي الـ XSI  يمكنك ذلك بفتح أكثر من AE لأكثر من عنصر
لكن في المايا يمكنك فتح بيانات أكثر من عنصر داخل نافذة GE واحدة وذلك عن طريق الأمر List\Add Selected Objects  ، ولتنظيم الأمر أكثر فيمكنك عندها استخدام BookMarks
 
                                            ------------
 
تحريك الكيفريمات :
- يمكن تحريك الكيفريمات عن طريق إدخال الأرقام لتغيير الزمن الذي يوجد الكيفريم عليه أو لزيادة قيمته وانقاصها
في الـ GE من مربع الـ Stats الأول لتعديل رقم الفريم والثاني لتعديل القيمة .
وفي الـ AE من مربع الـ Frame لتعديل الفريم ومبرع الـ Value لتعديل القيمة .
- كما يمكنك عمل ذلك يدويا عن طريق تحديد الكيفريم وسحبه أفقيا لعتعديل الوقت وعموديا لتعديل الوقت
          لكن ثمة تداخل بين موضوع التحديد والتحريك للكيفريم فلتحديد كيفريم في الـ AE يمكنك ذلك بعمل مربع حوله بالضغط والسحب ، ولتحريكه يمكنك الضغط فوقه بالزر الأيمن والسحب ، وعندما تقوم بالضغط والسحب بعيداً عن الكيفريم بالزر المتوسط للفأرة فإنه أيضاً يقوم بالتحديد .
          الأمر مختلف في المايا فكل ضغط أو ضغط وسحب في الزر الأيمن هو عبارة عن تحديد ، أما التحريك فعليك أن تستخدم الزر المتوسط للفأرة وتختار أداة تحريك الكيفريمات Move Keys Tool
، وأمر ثالث أيضاً عليك أن تضغط فوق الكيفريم تماما أو قريباً منه على الأقل عن بدء عملية السحب . يمكنك أيضاً استخدام أداة الـ Translate واختصارها W للتحريك وعندها لست مقيداً للضغط تماما فوق الكيفريم .
 
                                            ------------
 
SnapShot
ثمة إضافة مفيدة في موضوع التحريك وهي تفيد في التراجع عن مجموعة تعديلات قمت بإضافتها على FCurve دفعة واحدة وهي ما يسمى بـ SnapShot ففي الـ AE تجد أنك عندما تحرك الكيفريمات يظهر خط رمادي منقط يمثل شكل الـ FCurve قبل التعديلات ، ومهما كان حجم التعديلات يمكنك العودة إلى هذا الشكل عن طريق الضغط على Swap Curve ، كما يمكنك بعد عمل تعديلات معينة واعتمدت وأردت تثبيتها بحيث إذا قمت بعمل تعديلات والتراجع عندها تعود إلى هذه النقطة عندها اضغط الزر زر  SnapShot جانب أيقونة Swap Curve
وفي المايا في الـ GE يمكنك عمل ذلك لكن البرنامج بشكل افتراضي لا يقوم بتشكيل أي SnapShot عند تعديل الكيفريمات ولا يقوم بإضهار الخط الرمادي ، يمكنك ذلك بأحد طريقتين:
-  أحدها أن تحدد الـ Fcurve الذي تريد عمل SnapShot له قبل تعديله ثم من قائمة Curve قم باختيار الأمر Buffer Curve Snapshot ، وعندها يمكنك التعديل والتراجع عن التعديلات باختيار من قائمة Curve الأمر Swap Buffer Curve
- وحتى عند إضافة SnapShot كما سبق فإن الخط الرمادي لن يظهر حتى تختار من قائمة View الأمر Show Buffer Curve ، وفي هذه الحالة يمكن رؤية الخط الرمادي وأمر أهم من ذلك وهو أن البرنامج بشكل أوتوماتكي يقوم بعمل SnapShot لكل الـ FCurve ولست بحاجة لإضافتها لكل واحد على حدة وهذه الطريقة الثانية والأسهل .
 
                                            ------------
 
عمل Scale لكيفريمات محدد :
في الـ GE حدد الكيفريمات وقم باستخدام أداة الـ Scale واختصارها R لعمل Scale من المركز الذي تضغط عنده وتبدأ الـ Scale بشكل أفقي أو عمودي ، بالزر المتوسط للفأرة أيضاً .
في الـ AE يمكن عمل ذلك عن طريق الأداة Stretch Keys واختصارها B لكن بالزر الأيمن للفأرة .
طريقة أخرى لعمل Scale في الـ AE وهي باستخدام الـ Region واختصارها Q بحيث تقوم بتحديد الكيفريمات وتعطيك مربعات حول الكيفريمات لعمل Scale أفقيات أو عموديا في أحد الاتجاهات ، أو بالزر المتوسط لعمل Scale في اتجاهين متناظرين أفقياً أو عموديا.
- وفي هذه الحالة يمكن استخدام الأمر ripple بحيث يقوم بتقريب وتبعيد الكيفريمات التي قبل أو بعد ليحافظ على المسافة نفسها عند عمل Scale ، ولكن يبدو أن الأمر Ripple يعمل إلا عن عمل Scale أو Stretch  في الـ AE
في GE لم أجد أمراً مشابهاً للـ Ripple حتى الآن
- يمكنك في المايا تحدد مجموعة كيفريمات ( قد تكون عبارة عن كيفريمات بينية بين كيفريمين رئيسيين ) ومن قائمة Keys اختر الأمر Convert to Breakdown وبهذا عندما تقوم بتحريك الكيفر الذي يقع قبل هذه الكيفريمات أو بعدها فإنه يتم الحفاظ على نسبة تباعد الكيفريمات من بعضها ، ويتغير لون الكيفريمات إلى الأخضر ، وهذه يسهل كثيرا من تنظم عملية التحريك للذين يقومون بطريقة التحريك Pose to Pose ، وإذا أردت إضافة كيفريم بين هذه الكيفريمات الخضراء يمكنك ذلك بالضغط على Add Inbetween من قائمة Keys
ولإعادتها إلى كيفريمات عادية فمن قائمة Keys اختر الأمر Convert to Keys
ولم أجد في الـ AE شيء شبيه بهذا
 
                                            ------------
 
لإضافة كيفريمات من داخل الـ AE يمكنك ذلك باستخداما الأداة Add Key واختصارها I من لوحة المفاتيتح
و يمكنك إضافة كيفريم حيثما تضغط بالزر الأيمن للفأرة أو في نفس مكان Fcurve مع الحفاظ على شكله وذلك بالزر المتوسط للفأرة ، يمكن هذا مع Fcurve واحد محدد أو أكثر من واحد
وفي الـ GE يبقى الزر الأيمن للفأرة محجوز للتحديد فقط ، والشئ الذي يمكن عمله بأداة واحدة في الـ AE يمكنك عمله في أداتين الأولى لإضافة كيفريمات مع الحفاظ على شكل الـ FCurve وهي Insert Key Tool  والثاني لإضافة كيفريم في أي مكان يتم الضغط فيه وهي Add Key Tool  وبالطبع بالزر المتوسط .
 
                                            ------------
 
Normalize
عند النظر إلى الـ Fcurves  تجد عادة الكيرفات الخاصة بالـ Rotation أو الـ Translation أو الـ Scale غير متناسبة مع بعضها بكشل عمودي وتضطر دائماً لاستخدام الزر F لعرض الـ Fcurve بالكامل ، وهذا طبيعي نظراً لفرق القيم فيما بينها لكن يمكنك عمل تناسب فقط من حيث النظر فيما بينها : ففي الـ GE من قائمة Curve تختار الأمر Normalize Curve ويمكنك إلغاء طريقة العرض هذه بالضغط على الأمر الذي يليه Denormalize Curve
وفي الـ AE يمكنك ذلك من قائمة View بالضغط على الأمر Normalize in Y .
 
                                            ------------
 
وأما عن موضوع الـ عن الـ Interpolaion والـ Slops والـ Tangents  وما يتعلق بذلك فأعتذر عن تأخيري قليلاً في الحديث عنها ولكن أكتفي بهذا القدر الآن وقريباً سأتحدث عنها وعن أنواع الـ Cycle .
شيء آخر أود الاعتذار عنه إذا كان هناك ثمة أخطاء إملائية في النص ، فغالبة ما أجدها في كتاباتي فقط بسبب السرعة فأرجوا المعذرة وأرجوا أن لا يكون منها ما يوجد صعوبة في فهم النص .

Character Animator:Maya-XSI
Challenge is always welcomed

?????  عبد الهادي مشاركة 3

في هذا الجزء الثالث سنتحدث عن الـ Interpolations  وبالتحديد كيفية التعامل مع الـ Slops و الـ Tangents
وأعتذر عن طول فترة الانقطاع ، وذلك فقط لانشغالي في معارك الـ Rigging بين المايا والـ XSI وأشياء أُخرى ، مما جعلني أتأخر في إتمام هذا الموضوع ، واعتذار آخر عن قلة المعلومات التي سأتحدث عنها اليوم ولكن أعدكم بالبقية قريباً ، (( ويبدوا أنني لا أكف عن عادة الاعتذار ، لكنني حقيقة أعتذر عن هذه العادة .. ))
 
كما قلت ، فإنني أفترض أن قارئ المقال من المفروض أنه تعامل ولو بشكل بسيط مع هذه المفاهيم في أحد البرنامجين وهنا أقوم بتعريفه على تواجد هذه الأمور في البرنامج الآخر ، ولذلك لن أتطرق إلى ما هو تأثير التعديل على الـ Slops و الـ Tangents  وماذا يعطي من نتيجة في شكل الحركة وإنما فقط الحديث عن الأوامر وأماكنا وأداؤها .
 
أنواع الـ Interpolations : أولاً الـ Interpolation يعني كيفية سيلان الحركة من كيفريم إلى كيفريم هل هي بشكل خطي أشبه بحركة آله ميكانيكية أو بشكل انسيابي ، هل بشكل متسارع أو متباطئ .....

وما يحدد نوع الـ Interpolation هو متحكمات للكيفريم تسمى بالـ Slops في الـ XSI وفي المايا تسمى Tangents
زاوية هذه المتحكمات وطولها يحدد شكل الـ Curve  وطريقة تشكيلة للحركة .

........

للتحكم بالمتحكمات حدد أحد أطرافها ثم قم بتحركها بالزر الأوسط للفأرة سواءاً في المايا أو الـ XSI
طول الـ Slope يحدد مجال تأثيرها على الـ Curve هل تؤثر بالمنطقة القريبة منها فقط أم تؤثر على مساحة أكبر من الـ Curve
وبالطبع لن تتجاوز منطقة تأثيرها الكيفريم الذي قبله أو الذي يليه ، بمعنى أن طول الـ Slop لن يتجاوز الكيفريم التالي أو السابق، وإلا سيتشوه التحريك إلا إذا كان هذا ما تريده .

الطول أو الـ Slope Length
والزاوية Slope Angle يمكن تعديلها بإضافة أرقام في الحقول المبينة في الصورة :





 
وبالحديث عن المايا حيث الـ Slope فيه تسمى بـ Tangent
فإن الـ Slope Length هو الـ Tangent Weight
أما الـ Slope Angle فهي Tangent Angle ولكن لا استخدام لهذا الاسم إلا عن طريق الـ SpreedSheet وتسمى هناك بـ InTanAngle  و OutTanAngle ، وأعتذر لتشويش تريتيب الأفكار هنا ولكن سأعود لهذا الموضوع بعد ثواني ليكون أوضح.

........

بشكل افتراضي في المايا الـ Tangent Wight غير فعالة إلا عند تحديد الكيرف ثم من القائمة Curve تختار الأمر Weighted Tangents
وفي حال كنت عادة ما تقوم بتعديل الـ Tangent Weight بشكل متكرر فيمكنك جعل البرنامج يقوم أوتوماتيكياً بجعل جميع الكيرفات التي تقوم بإضافتها عبارة عن Weighted Tangents  وذلك بفتح نافذة خصائص التحريك من Window \ Setingss/prefernces  \prefernces ثم من التبويب Animation قم بتفعيل الخيار  Weighted Tangents 

........

تعديل الـ Tangent Angle يتم بشكل يدوي ولا يوجد خانة لإخال قيم محددة للزاوية وهذا قد لا يكون مهما في الـ Tangent Angle حيث يوجد طريقة أوتوماتيكة تضيف الزاوية المناسبة لها ، ولكن كذلك الـ Tangent Weight لا يوجد لها خانة لإدخال قيم لها ، ولكي لا نظلم البرنامج بهذه التهمة فهناك مكان يمكنك إدخال قيم لتعديل زاوية وطول الـ Tangent ولكن قبل أن نذهب إلى هناك عليك أن تعد من أول كيفريم حتى الكيفريم الحالي لتعرف كم هو رقم الكيفريم الحالي!!!  وبعد ذلك قم باختيار الأمر Curve / Spreadsheet ثم اذهب إلى رقم الكيفريم وقم بالتعديل على الـ InTanAngle  و الـ OutTanAngle  لتعديل الزاوية وكذلك الـ InTanWeight و الـ   OutTanWeight

ولكنني وجدت مؤخراً كود mel على موقع HieghEnd3d اسمه TangentEditor يمكّنك من اظهار نافذة تقوم بالتعديل فيها على طول وزاوية الـ Tangent للكيفرم المحدد .





وهذا هو اللنك :
http://Highend3d.com/maya/downloads/mel_scripts/animation/1969.html
........

في المايا الـ Tangent من الطرفين يتحركان بزاوية واحدة وبطول واحد ويمكنك جعل كل طرف يتحرك ويتم تعديله دون الطرف الآخر باستخدام الأزرار الموضحة في الصورة :





1- Brak Tangent لتحرير زاوية كل طرف عن الآخر.
2- Unify Tangent لجعل زاوية كل طرف تتحرك مع الطرف الآخر .
3- Free Tangent Weight  لجعل طول كل طرف يتم تعديله لوحده دون التأثر بطول الطرف الآخر .
4- Lock Tangent Weight لجعل تعديل كل طرف يؤثر بشكل متوازن على الطرف الآخر .

........

هذه الأزرار الأربعة هي عبارة عن زرين في الـ XSI يتم تفعيلهم أو إيقافهم
1- Unied Slope Orientation واختصارة O لتحرير أو ربط زاوية كل طرف مع الآخر .
2 - Unied Slope Length  واختصارة L لتحرير أو ربط الطول لك طرف مع الآخر .



Character Animator:Maya-XSI
Challenge is always welcomed