HouseProBuilder
https://github.com/GameDev000/HousProBuilder/tree/main
בניית עולם תלת־ממדי בעזרת ProBuilder
"יצירת בית תלת־ממדי עם חלוקה לחדרים באמצעות כלי הבנייה של Unity"
בחלק זה של המטלה התמקדנו בבניית עולם תלת־ממדי באמצעות ProBuilder, כלי הבנייה המובנה של Unity. בעזרת הכלי נבנה בית שלם מאפס, תוך שימוש בצורות בסיסיות ועריכת Mesh, ללא שימוש במודלים חיצוניים. הדגש היה על יצירת חללים ברורים, מדרגות וחלוקה פנימית לחדרים שונים.
- נעשה שימוש ב־ProBuilder ליצירת:
- קירות חיצוניים ופנימיים
- רצפות ותקרות
- מדרגות בין מפלסים
- מבנה הבית:
- קומה עליונה – חולקה לשני אזורים:
- סלון מרכזי
- חדר קטן (חדר שינה / עבודה)
- קומה תחתונה – מרתף סגור, נפרד משאר הבית.
- קומה עליונה – חולקה לשני אזורים:
- החלוקה לחדרים בוצעה באמצעות קירות פנימיים שנבנו כ־Meshes נפרדים ב־ProBuilder.
- לכל חדר נוספו חפצים בסיסיים (רהיטים ואלמנטים סביבתיים) שנבנו מצורות פשוטות:
- ספרייה, ספה ושולחן בסלון
- רהיטים בסיסיים בחדר הקטן
- ארגזים ואלמנטים תעשייתיים במרתף
- בוצע איחוד אובייקטים (Merge) ב־ProBuilder עבור חפצים מורכבים, על מנת ליצור Mesh אחד נוח לעבודה ולשמירה על היררכיה מסודרת.
- נעשה שימוש ב־Materials שונים כדי להבדיל בין סוגי משטחים:
- קירות (כולל טקסטורת Brick)
- רצפות
- רהיטים ואלמנטים פנימיים
- המדרגות נבנו ב־ProBuilder ונוסף מעליהן Collider רמפה בלתי נראה כדי לאפשר תנועה חלקה של השחקן בין המפלסים.
- העולם נבנה כולו ללא שימוש בנכסים חיצוניים, תוך הסתמכות על ProBuilder וכלי העריכה של Unity בלבד.
אינטראקציה עם חפצים ודמויות
"מערכת אינטראקציה פשוטה: חפצים מגיבים כשהשחקן מתקרב"
בחלק זה הוספנו לשחקן אפשרות לאינטראקציה עם אלמנטים בסביבה באמצעות מנגנון Trigger Colliders (קרבה לאובייקט). הדגש היה על פתרון יציב וברור: כאשר השחקן נכנס לאזור אינטראקציה, מתבצעת פעולה ויזואלית (פתיחה/הדלקה/הצגת טקסט).
- תיבה (Chest):
- נבנתה תיבה עם מכסה נפרד (Lid) ב־ProBuilder.
- בכניסה ל־Trigger התיבה נפתחת באמצעות סיבוב מכסה סביב Pivot שהוגדר מראש.
- הפעולה כוללת אנימציה חלקה (Interpolation) כדי להמחיש פתיחה טבעית.
- מנורה (Light):
- נוספה מנורה/אור בחדר.
- כאשר השחקן מתקרב לאזור המנורה, היא נדלקת/נכבית (Toggle) באופן מיידי וברור לעין.
- אח עם אש (Fireplace):
- נוסף אפקט אש/ניצוצות (Particle System) לאח.
- הפעלת/כיבוי האש נעשית באותה שיטה של Trigger, כך שהשחקן יכול “להדליק” או “לכבות” את האח.
- שיחה עם דמות NPC:
- הוספנו דמות NPC שעומדת ליד האח.
- כאשר השחקן מתקרב, מופיעה בועת טקסט מעל ה־NPC באמצעות Canvas במצב World Space.
- הטקסט תמיד פונה לכיוון המצלמה (Billboard), וכאשר השחקן מתרחק – הטקסט נעלם.
ירי אויב, פגיעה וחיים לשחקן
"אויב שיורה באמצעות Raycast + מערכת חיים + Game Over"
בחלק זה הוספנו אויב עם נשק שמבצע ירי לעבר השחקן. הירי מבוסס על Raycast: כך שהפגיעה נקבעת לפי העצם הראשון שנפגע בקו הירי. בנוסף הוספנו לשחקן מערכת חיים (HP) ותצוגת חיים קבועה (HUD). כאשר החיים מגיעים ל־0 מוצג מסך Game Over והמשחק נעצר.
- ירי אויב (Raycast):
- נוצר FirePoint לאויב שממנו יוצא הירי.
- ה־Raycast משתמש ב־LayerMask כך שהירייה נחסמת ע"י קירות וחפצים עם Collider.
- הוספנו תצוגת ירי באמצעות LineRenderer (Tracer) כדי לראות את מסלול הירייה בזמן אמת.
- מערכת חיים לשחקן:
- נוצר Script לשחקן המנהל HP ומאפשר הורדת חיים בעת פגיעה.
- בעת פגיעה מוצג Log ב־Console כדי לוודא שהמערכת עובדת (פגיעה + HP מעודכן).
- תצוגת חיים קבועה (HUD):
- הוספנו Slider על ה־Canvas שמציג את מצב החיים באופן קבוע.
- צבע הפס משתנה לפי מצב החיים: ירוק בחיים מלאים, ומתקרב ל־אפור ככל שהחיים יורדים.
- Game Over:
- כאשר HP מגיע ל־0, מופיע פאנל GameOver על המסך.
- לאחר הצגת GameOver המשחק נעצר באמצעות Time.timeScale = 0.
| Status | Released |
| Platforms | HTML5 |
| Author | Itamar_Raz_Dev_Game |
| Made with | Unity |

Leave a comment
Log in with itch.io to leave a comment.