Blueprints​ תכנות משחקים ב - Unreal Engine 5

Blueprints

מתוסכלים מכתיבת קוד מייגעת?
מרגישים שהיצירתיות שלכם נחנקת בין שורות הקוד?
הגיע הזמן להכיר את Blueprints, מערכת תכנות ויזואלית פורצת דרך שתפתח לכם דלתות לעולם חדש של יצירת משחקים.

דמיינו עולם שבו אתם בונים משחקים כמו לגו – גוררים ומשחררים רכיבים גרפיים פשוטים, נותנים דרור לדמיון ורואים את החזון שלכם מתגשם לנגד עיניכם, בלי להתעסק בשעות ארוכות של כתיבת קוד מסובך.

הבלוג הזה הולך לקחת אתכם למסע מרתק אל תוך עולם Blueprints.
נגלה יחד את היתרונות המדהימים של מערכת זו, נכיר את רכיבי Blueprints החשובים ביותר ונלמד כיצד להשתמש בהם כדי ליצור משחקים מרתקים.

 

• מה זה Blueprints? תכנות משחקים ב- Unreal Engine

אחד היכולות הגדולים ביותר של המנוע הגרפי אנריל אנג’ין 5 זה יכולת התכנות משחקים הויזואלי הנקראים Blueprints,  הם מאפשרים לשחקנים לתכנת משחקים באמצעות גרירה ושחרור של תווים גרפיים וללא רשימת הקוד ידנית.

בלופרינטס הם כלי חזק וגמיש שניתן להשתמש בו כדי ליצור משחקים איכותיים ללא צורך בידע ברשימת קוד בעולם תכנות המשחקים.

להלן כמה מהתכונות העיקריות של Blueprints :

קלים ללמידה ושימוש – Blueprints משתמשים בגרירה ושחרור של תווים גרפיים, מה שהופך אותם לקלילים יחסית ללמידה לשימוש ולביצוע  לעומת תכנות משחקים בתוכנות אחרים.

גמישים – בלופרינטס יכולים לשמש ליישום מגוון רחב של כמעט כלל תכונות המשחק שנצטרך אי פעם בתכנות משחקים.

חזקים – Blueprints יכולים ליצור משחקים איכותיים ללא צורך בידע ברשימת הקוד.

בואו נחקור את ה- Nodes החיונייים ביותר שכל מפתח משחקים שעובד עם Unreal צריך לשלוט בהם.

נגן וידאו אודות Blueprints

• Events - אירועים - תכנות משחקים

אירועים הם Nodes שאחראים על תחילת הרצה של רצף קוד בעולם תכנות המשחקים.
הם מאפשרים ל-Blueprints לבצע סדרה של פעולות בתגובה לאירועים מסוימים המתרחשים בתוך המשחק, כמו מתי המשחק מתחיל, מתי מתאפסת רמה או כאשר שחקן חוטף נזק ועוד.

• Blueprints Events - האוונטים החיוניים הקיימים בבלופרינט הכי בסיסי - תכנות משחקים

Blueprints
בתכנות משחקים יש המון Events
להלן ה- Events המרכזיים
מריץ את הקוד המחובר אליו –
  1. Event Begin Play: כאשר הבלופרניט מופיע לראשונה במשחק.
  2. Event Tick: בכל פריים שעובר שעובר במשחק ושימושי לבדיקות או עדכונים קבועים.
  3. On Hit: כאשר שני שחקנים מתנגשים.
  4. On Actor Begin Overlap: כאשר בלופרינט אחר מתחיל לחפוף במיקום עם בלופרינט זה, לדוגמה שחקן שנכנס בטריגר.
  5. Event Actor EndOverlap: כאשר בלופרינט אחר מפסיק לחפוף במיקום עם הבלופרינט הזה.
  6. Event AnyDamage: כאשר מתבצע Damage על האקטור הזה.
  7. Event TouchEnter: כל עוד הטאץ’ עובר באזור הבלופרינט הזה.
  8. Event TuchLeave:  כאשר הטאץ’ יוצא מאזור הבפולרינט הזה.
  9. Event Destroyed:  כאשר אנו הורסים את הבלופרינט הזה.
  10. Event Actor BeginCursorOver: כאשר העכבר נכנס לאזור הבלופרינט.
  11. Event ActorEndCursorOver: כאשר העכבר יצא מאזור הבלופרינט.
  12. A: כאשר אנו לוחצים על הכפתור A במקדלת(קבלת Input הוא גם Event).
  13. Event Actor OnClicked: כאשר אנו לוחצים עם העכבר על הבלופרינט.
  14. Event Actor OnReleased: בעזיבה של לחיצה עם העכבר על בלופרינט.
  15. Event BeginInputTouch: כאשר מתבצע טאץ’ על הבלופרינט הזה.
  16. Event EndInputTouch: כאשר מפסיק להתבצע טאץ’ על הבלופרינט הזה.

• Static Mesh Events - האוונטים החיוניים הקיימים בסטטיק מש - תכנות משחקים

גם ברכיב “static mesh” קיים יצירת אוונטים הדומים ל- Blueprint Events אשר עובדים על פי אותה הלוגיקה אך רק ביחס לרכיב הספציפי הזה לדוגמא-
On component hit:
מריץ את הקוד המחובר אליו כאשר היה התנגשות בין הסטטיק מש לאובייקט אחר.

• Nodes - צמתים - תכנות משחקים

  1. Print String: כותב טקסט על המסך, לרוב משמש ל- Debugging.
  2. Set Actor Location: משנה את המיקום של בלופרינט בסצנה.
  3. Branch: נותן אופצייה להפריד את הקוד ל-2 אירועים נפרדים כאשר הוא בוחר איזה אחד מהם להריץ על פי התנאי שמציבים לו, אם התנאי מתקיים יריץ את רצף האירועים true אחרת אם התנאי לא מתקיים(שגוי) יריץ את רצף האירועים שמחובר ב- false.
  4. Cast To: לגשת לבלופרינט מסויים ולקבל את היכולת להשפיע עליו או לגשת אליו, משמש לתקשורת בין בלופרינטים.
  5. Set Visibility: קובע אם בלופרינט נראה או לא נראה.
  6. Delay: עוצר את הביצוע של הקוד למשך פרק זמן מסוים.
  7. Spawn Actor From Class: יוצר בלופרינט מסוג מסיים בשלב.
  8. Destroy Actor: מסיר בלופרינט מעולם המשחק.
  9. Destroy Component: מסיר רכיב מבלופרינט 
  10. Set World Location: קובע את המיקום הבלופרינט בעולם.
  11. Add Actor World Offset: מוסיף מיקום לבלופרינט.
  12. Set World Rotation: קובע את זווית רכיב בבלופרינט.
  13. Add World Rotation: מוסיף זווית לרכיב בבלופרינט בעולם.
  14. Add Actor World Rotation: מוסיף זווית לבלופרינט בעולם.
  15. Set Actor Rotation: משנה את זוות הבלופרינט בעולם.
  16. Set Actor Scale 3D: קובע את גודל הבלופרינט.
  17. Set World scale: קובע את גודל הרכיב בבלופרינט.
  18. Get Velocity: מחזיר את המהירות של הרכיב.
  19. Add Movement Input: מוסיף כוח לתנועת שחקן.
  20. Set Material: קובע את החומר של הרכיב.
  21. Line Trace By Channel: בודק אם יש שחקן בנתיב מסוים ובמידה ויש מחזיר את כל המידע עליו.
  22. Set Vector Parameter Value: קובע את ערך הפרמטר של וקטור.
  23. Play Sound at Location: מנגן קול תלת מימדי בעולם שגובה הסאונד מושפע מהמרחק שלנו ממנו ומושפע מכיוון הסאונד.
  24. Play Sound 2D: מנגן סאונד בעולם.
  25. Spawn Emitter/System At Location: מייצר אפקט בעולם.
  26. Get Player Controller: מחזיר את בקר השחקן שנותן גישה להגדרות השחקן.
  27. ForEach Loop: מבצע פעולה עבור כל האלמנטים במערך.
  28. Lerping Functions: מאפשרות מעבר חלק בין שני ערכים
  29. Break Vector: מפצל וקטור לרכיבים(x,y,z) שלו.
  30. Find Look At Rotation: מחזיר את הזווית בשביל שרכיב א יפנה אל רכיב ב(לדוגמא אם נרצה לגרום לשחקן להסתכל על שחקן)
  31. Clamp: תוחם מספר במקסימום ומינימום, אם יצא מהגבולות או של המינימום או המקסימום הוא יחזיר את מה שחצינו במקום.
  32. Add Timeline: מייצר גרף של ערך לעומת זמן, מחזיר לנו את הערך בכל רגע נתון לעומת הזמן שעבר.
  33. Box Overlap Actors: בודק אם שני שחקנים חופפים.
  34. Set Timer by Function Name: מפעיל פונקציה לאחר פרק זמן מסוים.
  35. Create Widget: יוצר ווידג’ט.
  36. Sequence: מאפשר ביצוע של מספר פעולות בסדר מסוים.
  37. Get All Actors of Class: מחזיר את כל השחקנים מאותה מחלקה הקיימים כרגע במפה ונותן לנו גישה אליהם.
  38. Set Physics Linear Velocity: מגדיר את המהירות הקווית הפיזית של רכיב.
  39. Rotate Vector Around Axis: יוצר אפקטים מעניינים של סיבוב.
  40. Get Actor Up Vector: מחזיר את הכיוון למעלה (ציר Z) של שחקן.
  41. Get actor of class: מחזיר שחקן מאותה מחלקה הקיים כרגע במפה ונותן לנו גישה אליו.
  42. Set Skeletal Mesh Component: משנה את רשת השלד של דמות בזמן ריצה.
  43. Set Input Mode Game Only: קובע את בקרת הקלט למשחק בלבד.
  44. Add Impulse: מוסיף דחיפה מיידית לרכיב פיזיקלי בצורה מדומה פיזית.
  45. Set Actor Hidden In Game: מסתיר או מראה שחקן במשחק.
  46. Get World Delta Seconds: מחזיר את הזמן שחלף מאז הפריים האחרון.
  47. Set Simulate Physics: מפעיל או מכבה סימולציית פיזיקה עבור שחקן.
  48. Set Actor Tick Enabled: קובע אם ה- Event tick בבלופרינט מריץ את הקוד המחובר אליו בכל פריים.
  49. Set Actor Enable Collision: מפעיל או מכבה התנגשות עבור שחקן.
  50. Get Random Point In Navigable Radius: מחזיר מיקום אקראי בתוך רדיוס נתון.
  51. Add Force: מוסיף כוח מתמשך לרכיב פיזיקלי מדומה פיזית.
  52. Get Actor Forward Vector: מחזיר את וקטור הכיוון הקדמי (ציר X) של שחקן.
  53. E select

הם מייצגים פעולות או נתונים שניתן להשתמש בהם כדי ליצור לוגיקה למשחק.

• כמה עצות להתחלה - תכנות משחקים

אנחנו יכולים לנסות ללמוד את מאגר כל הפונקציות של אנריל אבל זה יהיה די קשה,
במקום זה אם נלמד כיצד למצוא את מילות המפתח בשביל לחפש את הפונקציה הנכונה נוכל לעשות הכל!

כמה דוגמאות:
לדוגמא שנרצה לקבל מידע כלשהו נרשום את המילה –  get ונוסיף את ערך המידע שנרצה לדעת (לדוגמא get world location- לדעת את המיקום בעולם)

לשנות מידע – set  ונוסיף המידע שנרצה לשנות לו את הערך(לדוגמא set material) לשנות את החומר של הרכיב
להוסיף למשהו –  add ונוסיף את המידע שנרצה להוסיף לו ערך
דוגמא להוסיף למיקום בעולם – add world location)
ליצור משהו בשלב – spawn ונוסיף את מה שנרצה ליצור(לדוגמא spawn actor).

קרא עוד על תכנות משחקים !

• Math Nodes: פעולות וחישובים מתמטיים - תכנות משחקים

צמתי מתמטיקה ב-Blueprint משמשים לביצוע פעולות מתמטיות שונות על מספרים, וקטורים ונתונים מסוגים אחרים. הם חיוניים ליצירת לוגיקה למשחק, כגון חישוב תנועת אובייקטים, בדיקת התנגשותים והפעלת כוחות פיזיים.
  1. חיבור (Add): משמש לחיבור שני ערכים.
  2. חיסור (Subtract): משמש לחיסור שני ערכים.
  3. הכפלה (Multiply): משמש להכפלת שני ערכים.
  4. חילוק (Divide): משמש לחלוקת שני ערכים.
  5. העלאה בחזקה (Power): משמש להעלאת ערך בחזקה.
  6. סינוס (Sine): משמש לחישוב סינוס של זווית.
  7. קוסינוס (Cosine): משמש לחישוב קוסינוס של זווית.
  8. טנגנס (Tangent): משמש לחישוב טנגנס של זווית.
  9. ערך מוחלט(absolute value): משמש להפוך ערך לחיובי.
  10. בחזקה(square): משמש לעלות מספר בחזקה.
  11. לעגל כלפיי מטה(floor): משמש לאפס מספר כלפי המספר מטה לדוגמא 0.3=0 1.1=1
  12. שורש(square root): משמש להחזרת שורש מספר.

• Condition Nodes: השוואה ותנאים - תכנות משחקים

  1. קטן מ (Less Than): משמש לבדיקה אם ערך אחד קטן מערכו של ערך אחר.
  2. גדול מ (Greater Than): משמש לבדיקה אם ערך אחד גדול מערכו של ערך אחר.
  3. שווה (Equal): משמש לבדיקה אם שני ערכים שווים.
  4. שונה מ (NotEqual): משמש לבדיקה אם שני ערכים שונים.
  5. קטן או שווה (LessOrEqual): משמש לבדיקה אם ערך אחד קטן או שווה לערך של ערך אחר.
  6. גדול או שווה (GreaterOrEqual): משמש לבדיקה אם ערך אחד גדול או שווה לערך של ערך אחר.

לדוגמה – כדי לבדוק אם המספר 10 גדול מ-5, ניתן להשתמש בפעולה גדול מ (Greater Than). הצומת יחזיר את הערך True אם 10 גדול מ-5, ו-False אם לא.

צמתי השוואה משמשים לעתים קרובות בצומת סעיף (Branch) כדי לקבל החלטות מבוססות על תנאים.
לדוגמה – ניתן להשתמש בצומת סעיף (Branch) כדי לבדוק אם השחקן נמצא בקרבת אויב. אם השחקן נמצא בקרבת אויב, ניתן להפעיל פעולה מסוימת, כגון לפתוח אש.

• איך להפוך למומחה בתכנות משחקים עם Unreal Engine 5

בלימודי פיתוח המשחקים אצלנו אתם תלמדו הכל על Blueprints ופיתוח משחקים ב-Unreal Engine 5.
בקורס אנו נעבור על כלל הפונקציות ונראה שימושים פרקטיים בהם.

בסוף הקורס, יהיו לך את הכלים הדרושים כדי ליצור משחקים מדהימים ב-Unreal Engine 5.

הקורס מתמקד ב-Unreal Engine 5, הגרסה האחרונה של מנוע המשחקים של Epic Games . Unreal Engine 5 הוא מנוע משחקים רב עוצמה המאפשר לך ליצור משחקים מדהימים עם גרפיקה, אודיו ותנועה מדהימים.

אם אתה מעוניין ללמוד כיצד ליצור משחקים ב-Unreal Engine 5, הקורס הזה הוא המקום המושלם להתחיל.

צור קשר

0585700410 – אושר דביר

וואטסאפ

פלאפון

השאר פרטים ונחזור אליך