הנורמל מאפ קונוונציות: OpenGL מול DirectX הסברים
למה הנורמל מאפ שלך נראה הפוך ב-Unreal אבל טוב ב-Unity — הסבר בעברית פשוטה על הנורמות של ציר Y בתנאים משיקים, עם תיקונים בטון.
אתה משחק נורמל מאפ ל-Unreal והמשטח מוארץ כאילו השמש באה מלמטה. אתה משחק את אותו הקובץ ל-Unity או Blender — נראה מעולה. המש משהו זהה. התמונה זהה. מה קורה פה?
שתי תעשיות, ציר אחד של אי-הסכמה
נורמל מאפים מאחסנים כיוון משטח בערוציהם RGB. אדום = X, ירוק = Y, כחול = Z. כל מנוע PBR מפענח אותם באותה דרך עם יוצא דופן אחד: הסימן של Y.
הנורמה של OpenGL (Y+): ערוץ ירוק בהיר יותר משמעו המשטח מצביע כלפי מעלה. בשימוש ב-Unity, Godot, Blender (Cycles ו-Eevee), Substance Painter יצוא ברירת מחדל, וכל מנוע מבוסס WebGL.
הנורמה של DirectX (Y−): ירוק בהיר יותר משמעו המשטח מצביע כלפי מטה. בשימוש ב-Unreal Engine, ה-toolchain Direct3D הישן, וחלק מנכסי CryEngine/Xbox-era.
בתים זהים ב-PNG. משמעות פיזית הפוכה.
איך לדעת במבט
תראה בדיקה בצורת כיפה (כמו כפתור או כיפה) בנורמל מאפ שלך. בנורמה של OpenGL, התחתון של הבדיקה יהיה ירוק כהה יותר כי המשטח מסתובב לכיוון Y−, משם מהאור. בנורמה של DirectX, התחתית היא ירוק בהיר יותר.
אם ההארה שלך מרגישה הפוכה במנוע — הדגשות שם שצללים צריכים להיות — יש לך אי-התאמה נורמה.
התיקון לוקח 5 שניות
ב-Unreal, דיאלוג ייבוא הטקסטורה יש הפוך ערוץ ירוק checkbox. החלף אותו והמנוע הופך את ערוץ G בזמן דגימה. אין צורך להייצא מחדש את המקור.
ב-Unity, הגדר את סוג הטקסטורה ל-Normal map ויבואר מטפל בכל דבר — Unity צופה OpenGL, אבל זה יזהיר אתך אם הקובץ נראה לא בסדר. ב-Blender, השתמש בשרשרת Separate Color → Invert G → Combine Color, או פשוט בחר קלט בסגנון DirectX ישירות בצומת Normal Map.
למה שני תקנים בחזקה?
בשנות ה-90, OpenGL ו-DirectX הגדירו מרחבי קואורדינטות טקסטורה הפוכים — OpenGL היה Y עולה למעלה, DirectX היה Y עולה למטה. כאשר נורמל מאפים הפכו נפוצים באמצע שנות ה-2000, כל toolchain שרוף את המרחב שלו לפלטים שלו. הסטייה הצמודה כי הפוך pipeline שנוסד הוא יקר.
יצירת Normal Maps ללא ההבלבול
ה-aukimi Normal Map Generator מאפשר לך לבחור את הנורמה במפורש כשאתה מייצא. זה מפעיל Sobel gradient על הזוהר של heightmap שלך, ואז מארז (−dx·s, −dy·s, 1) לתוך RGB — עם Y הפוך כשאתה בוחר DirectX. אתה יכול להחליף את הנורמה לאחר יצירה והורדה מחדש ללא שחזור של כל דבר.
במנוע הנוסחה זהה. ההבדל היחיד הוא הסימן שאנחנו מחילים על רכיב Y לפני כתיבת ערוץ ירוק. דע זאת, אתה יכול להמיר קובץ בין נורמות עם כל עורך תמונה: פתח את PNG, בחר את ערוץ ירוק, הפוך אותו, שמור. זה כל מה "Flip Green Channel" עושה ב-Unreal.
ייחוס מהיר
- Unity, Godot, Blender, Substance Painter (ברירת מחדל): OpenGL (Y+).
- Unreal Engine, Direct3D ישן: DirectX (Y−).
- נראה לא בסדר ב-Unreal? הפוך Flip Green Channel בהגדרות ייבוא.
- נראה לא בסדר ב-Unity? כנראה שיצאת מכלי נורמה DirectX — הפוך את ערוץ ירוק או ייצא מחדש.
ברגע שאתה כרוך את הנורמה, התיקון הוא טריוויאלי. החלק הקשה ביותר הוא ההכרה בו בפעם הראשונה.
נהנית מהמאמר?
מאמרים קשורים
המחסום הקריאטיבי קרס: שבוע אחד של כלי AI, סוף אפריל 2026
בין 27 באפריל ל-4 במאי 2026, Adobe, Luma, Novi, fal, Figma, Canva, HeyGen ו-Anthropic חצו את אותו סף תוך שמונה ימים. הנה מה שהשתחרר, מה זה אומר, והיכן זה משאיר את חוקי הדפדפן הקריאטיביים שמנסים לגבש את הכל.
מוזיקה ו-SFX בבינה מלאכותית ב-2026: מה באמת עובד באודיו של משחקי Indie
לפני שלוש שנים, אודיו של משחקי Indie הגיע מאחד משני מקומות: ספריות ללא זכויות יוצרים (זול, גנרי, כל משחק נשמע אותו דבר) או שכרת של מלחין (מעולה, יקר). ב-2026, בינה מלאכותית יוצרת ניקוד שישלח לשוק. הנה איזה כלים אמינים — והיכן מלחין אנושי עדיין מנצח.
יצירת Mesh באמצעות AI בשנת 2026: מה באמת משתלם בצינורות Game
Image-to-3D עבר מ"דמו מוזר" ל"משלוח בפרויקטים indie" תוך שמונה עשר חודשים. הנה מה שTripo, Meshy, Rodin, וHyper3D באמת עושים בייצור — ואיפה אומן 3D עדיין משחק כל פעם.