top of page
طريقة تفعيل الأنيميشن للحركات

الآن لكي نضع الأنيميشن لجميع الحركات فعلينا الإنتقال لملف البلوبرنت الخاص بالأنيميشن ونختار صفحة
anim graph, وعلينا بفعل الآتي:
1- الضغط بالفارة اليسار وإنشاء النقطة (new state machine) نسميها all animation ونشبكها مع المخرج output animation
new state machine : هي النقطة التي بداخلها تتواجد جميع البرمجيات التي تخص الأنيميمشن.

2- التوجه بداخل all animation ثم نستخرج من المخرج out نقطة (animation state)

state: هو نمط الحركة المراد فعلها
فنحن الآن بحاجة إلى جعل تلك الحالة(state) هي حالة الوقوف(idle) وحالة الركض(run) مع بعضهم البعض, فعلينا أن نبدأ بتغيير الإسم من الحالة(state) إلى (IdleAndRun) وبعدها علينا بفعل الآتي:

عندما نتوجه إلى الحالة (IdleAndRun) فسنجد مخرج output animation وعلينا بكتابة النقاط(nodes) التي ستجعلنا نفعل الأنيميشن.
لقد قمنا سابقاً بإنشاء متغير يسمح لنا بإستدعاء بيانات الاعب في داخل صفحة event graph

3- علينا بسحب المتغير as bp char إلى داخل الحالة

3-علينا بأخذ سرعة الشخصية وإتجاه سرعتها ويكون ذلك عن طريق إحضار النقطتين من as bp char :
get velocity: للحصول على سرعة الشخصية
break vector 3f: تقسيم إتجاهات السرعة بجميع المحاور, نحن فقط سنتعامل مع محورX لأن الشخصية فقط ستركض يميناً أو يساراً

4- علينا بإحضار النقطة not equal من محور X

5- علينا بإحضار النقطة select animation by bool ويمكن إختصارها عن طريق الكتابة في مربع البحث
(blend)
select animation by bool: يجعلنا نختار أي انيميشن سيعمل إذا كان الكود صحيحاً أو خاطئاً

6- علينا الآن الإختيار في أيهم سيعمل إذا كان الكود صحيحاً أو خاطئاً
وبالطبع سنختار play run في حال كان الكود صححاً, وذلك لأن سرعة حركة الشخصية ستساوي صفر
وفي حال false يجب أن تكون الشخصية واقفة(idle) لانها تساوي 0 .

7- نوصلهم بالمخرج out ثم compile

عند البدأ باللعب فنسجد أن الأنيميشن لا يعمل وذلك لأنه يجب علينا أن نحدد مصدر الأنيميشن للشخصية ليستلمهم جميعاً, ويمكننا فعل ذلك:
1-التوجه إلى البلوبرنت bp_char ونضغط على animation component ونحدد على مكتبة الأنيميشن اللتي نريد إستعمالها وهي animation_bp


2-نضغط compile ونبدأ اللعب, وبذلك يجب أن يعمل الأنيميشن الخاص بالركض والوقوف
لقد قمنا بعمل انيميشن للقفر ولكننا لم نعمل أنيميشن خاص للسقوط. لعمل أنيميشن للسقوط يجب أن تعمل نفس الخطوات للوقوف والركض.

نسميه char_blueFall ونضعه في مجلد flipbooks

نضعه بداخل allanimation ونسميه fall ونختار الأنيميشن char_blueFall
التوجه إلى صفحة الحالة allanimation وفعل الآتي:

1- من الحالة idleAndRun نستخرج حالة جديدة ونسميها jump. من الحالة jump نستخرج حالة جديدة ونسميها fall

2- في داخل الحالة jump نقوم بوضع النقطة play jump
3-في داخل الحالة fall نقوم بوضع النقطة play fall


هناك شئ قاعدة النقل transition rule : هي الأسباب(البرمجيات) التي تجعل الشخصية تنتقل من حالة إلى حالة أخرى, فنحن لكي ننتقل من حالة الركض أو الوقوف إلى حالة القفز فعلينا بفعل الآتي:

1- الضغط على قاعدة النقل المتواجدة بين الوقوف والركض وبين القفز

2- إحضار القيمة لبيانات الشخصية

3- نقوم بإحضار النقطة is falling من الشخصية as bp char, ونشبكها بالمخرج result
is falling: تعني بأن الشخصية ليست على الأرض, فإن لم تكن على الأرض فيعني ذلك أنها تقفز

والآن لكي تنتقل الشخصية من حالة القفز إلى السقوط فعلينا فعل الآتي:
1- التوجه إلى قاعدة النقل المتواجدة بين jump و fall

2- علينا بإستدعاء قيمة بيانات الشخصية وسرعتها واتجاه السرعة

نحن هذه المرة لا نريد سوى أن نتحكم في اتجاه السرعة من محور Z, وهو المحور العلوي الذي يتعلق بالقفز
3- نقوم بوضع النقطة less لأنه عند القفز وكون القيمة أقل من 0 فذلك يعني أن الشخصية تسقط

الآن علينا أن نجعل الشخصية عندما تسقط(fall) ترجع إلى حالة الوقوف (idle) ولفعل ذلك:

1- التوصيل من النقطة fall إلى النقطة idleAndRun أو العكس فلا يهم من أين تبدأ توصيل قاعدة التوصيل.
2- عند التوجه في قاعدة التوصيل علينا أن نحضر قيمة بيانات الشخصية مرة أخرى

3- علينا بإنشاء النقطة is walking
is walking: تعني أن الشخصية على الأرض

4- نضغط compile ونبدأ اللعب
bottom of page