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

الآن لكي نضع الأنيميشن لجميع الحركات فعلينا الإنتقال لملف البلوبرنت الخاص بالأنيميشن ونختار صفحة
anim graph, وعلينا بفعل الآتي:

1- الضغط بالفارة اليسار وإنشاء النقطة (new state machine) نسميها all animation  ونشبكها مع المخرج output animation

new state machine : هي النقطة التي بداخلها تتواجد جميع البرمجيات التي تخص الأنيميمشن.

image.png

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

image.png

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

image.png

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

لقد قمنا سابقاً بإنشاء متغير يسمح لنا بإستدعاء بيانات الاعب في داخل صفحة event graph

image.png

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

image.png

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

image.png

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

image.png

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

image.png

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

image.png

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

image.png

عند البدأ باللعب فنسجد أن الأنيميشن لا يعمل وذلك لأنه يجب علينا أن نحدد مصدر الأنيميشن للشخصية ليستلمهم جميعاً, ويمكننا فعل ذلك:

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

image.png
image.png

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

لقد قمنا بعمل انيميشن للقفر ولكننا لم نعمل أنيميشن خاص للسقوط. لعمل أنيميشن للسقوط يجب أن تعمل نفس الخطوات للوقوف والركض.

image.png

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

image.png

نضعه بداخل allanimation ونسميه fall ونختار الأنيميشن char_blueFall

التوجه إلى صفحة الحالة allanimation وفعل الآتي:

image.png

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

image.png

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

image.png
image.png

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

image.png

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

image.png

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

image.png

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

image.png

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

image.png

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

image.png

نحن هذه المرة لا نريد سوى أن نتحكم في اتجاه السرعة من محور Z, وهو المحور العلوي الذي يتعلق بالقفز  

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

image.png

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

image.png

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

image.png

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

image.png

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

bottom of page