למד כיצד ליצור אפקטי תאורה משלך כדי להאיר את המשחקים שלך.

תאורה וצללים דינמיים יכולים להעלות את האיכות החזותית וחווית המשחק של משחקי Godot שלך. הם מוסיפים עומק, אווירה וריאליזם, מה שהופך את עולם המשחק שלך לסוחף ומרתק יותר.

עם התכונות החזקות של Godot כמו CanvasModulate ו-PointLight2D, יצירה והתאמה אישית של תאורה וצללים דינמיים היא משימה קלה.

הגדרת משחק Godot

לפני הצלילה לתאורה דינמית, הגדר משחק דו-ממדי בסיסי ב מנוע המשחק Godot. צור סצנה חדשה והוסף א CharacterBody2D עבור השחקן.

הקוד המשמש במאמר זה זמין כאן מאגר GitHub והוא בחינם עבורך לשימוש תחת רישיון MIT.

בתוך ה CharacterBody2D, הוסף CollisionShape2D עם צורה מלבנית וא ספרייט2D לייצג את דמותו של השחקן. כמו כן, צור כמה פלטפורמות באמצעות StaticBody2D צמתים.

כעת, יישם את תנועת השחקן וההתנגשות עם גבולות המסך באמצעות GDScript:

extends CharacterBody2D

var speed = 200

func _physics_process(delta):
var velocity = Vector2()

if Input.is_action_pressed('ui_right'):
velocity.x += 1

if Input.is_action_pressed('ui_left'):
velocity.x -= 1

if Input.is_action_pressed('ui_down'):
velocity.y += 1

if Input.is_action_pressed('ui_up'):
velocity.y -= 1

instagram viewer

velocity = velocity.normalized() * speed
move_and_collide(velocity * delta)

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

החשיך את שאר הסצנה

כדי להשיג את האפקט של תאורה דינמית, עליך להכהות את שאר הסצנה למעט האזורים המוארים על ידי מקורות האור. אתה יכול לעשות זאת באמצעות Godot's CanvasModulate תכונה.

extends Node2D

const DARKNESS = 0.7

func _ready():
var canvas_modulate = CanvasModulate.new()
canvas_modulate.color = Color(0, 0, 0, DARKNESS)
add_child(canvas_modulate)

צרף את הסקריפט הזה לסקריפט חדש Node2D נוסף בשורש הסצנה. ה CanvasModulate הצומת יחיל שכבת-על שחורה שקופה למחצה, ותכהה את כל הסצנה למעט אזורים המוארים באורות.

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

הטלת צל אור

כדי להטיל צל, אתה צריך להגדיר LightOccluder2D צמתים על מכשולים שאמורים לחסום אור. לדוגמה, אם יש לך קירות, במות או חפצים אחרים שצריכים להטיל צל, הוסף א LightOccluder2D לכל אחד.

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

הוסף אורות מכל הכיוונים

כעת, הוסף א PointLight2D צומת עם מרקם שיייצג את מקור האור שלך. נורות נקודתיות פולטות אור לכל הכיוונים ויוצרות אפקט הארה ריאליסטי.

extends PointLight2D

var light_color = Color(1, 1, 0.8)

func _ready():
energy = 2.5
color = light_color

אתה יכול להתאים אישית את המאפיינים כדי לשלוט בטווח ובצבע של האור הנפלט על ידי PointLight2D.

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

כדי ליישם את המרקם על PointLight2D צומת, בצע את השלבים הבאים:

  1. בחר את PointLight2D צומת בעץ הסצנה.
  2. בחלונית Inspector, אתר את המאפיין Texture מתחת ל- מרקם סָעִיף.
  3. לחץ על תיבת המרקם הריקה ובחר את המרקם הבהיר הרצוי מדפדפן הקבצים.

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

כולל תכונות נוספות

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

אנימציות קלות

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

מחזור יום-לילה

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

דהיית אור

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

צלליות דינמיות

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

אפקטים קוליים ללא זכויות יוצרים

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

שיטות עבודה מומלצות לתאורה דינמית וצללים

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

ייעול מקורות אור

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

השתמש באפייה קלה

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

בחר בסתימות פשוטות

בעת ההגדרה LightOccluder2D צמתים, בחרו בצורות פשוטות בכל מקום אפשרי. חסימות מורכבות עם קודקודים רבים יכולים להוביל לבעיות ביצועים. השתמש במצולעים פשוטים או במקטעי קו עבור חוסמים בכל פעם שאפשר.

ליטוף ושכבות

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

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

הופכים את משחקי Godot למעניינים יותר עם תאורה וצללים דינמיים

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

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