פיתוח שאדרים מותאמים אישית לעיבוד פוסט-פרוססינג ב-Unity

אפקטי post-processing סטנדרטיים ב-Unity לא תמיד מספקים את המראה הייחודי שמבדל את הפרויקט שלכם. אנחנו מפתחים shaders מותאמים אישית ו-Renderer Features במתכונת turnkey, ומיישמים פתרונות ויזואליים לא שגרתיים לפלטפורמות מובייל ו-PC. הצוות שלנו מטפל בכל המחזור—מאב-טיפוס ועד deployment ותמיכה מתמשכת.

היכולות שלנו

שירותי סטודיו אחרים

יישומי VR/AR/MR מותאמים אישית

טבלו לקוחות וצוותים בחוויות דיגיטליות חדשות

פיתוח משחקי Unity

מקונספט לשחרור — משחקים שאנשים זוכרים

מידול ואנימציה בתלת-ממד

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

סימולטורי ציוד VR תעשייתיים

אמנו מפעילים על ציוד בבטחה, ללא השבתה

הוראות AR לייצור

הנחיות שלב-אחר-שלב ישירות על הציוד — ללא נייר

סימולטורי VR לבטיחות

תרגול תגובה לשעת חירום ללא צורך בהגעה לשטח

תוכניות הכשרה ב-VR/AR

הכשרת עובדים בשירות, קליטה ומיומנויות רכות ב-VR

חידוני הכשרה לעובדים

בדיקת ידע באמצעות משחקים — בקלות וללא לחץ

הוראות וידאו ארגוניות

סרטונים ברורים להכשרת העובדים והלקוחות שלכם

גיימיפיקציה עסקית

הניעו צוותים עם מכניקת משחק ב-KPI ובמשאבי אנוש

יישומי קיוסק אינטראקטיביים

מסכים אינטראקטיביים לקמעונאות, תערוכות ומשרדים

מתקני VR/AR

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

תערוכות ומוזיאונים וירטואליים

התערוכות שלכם מגיעות לכל פינה בעולם, 24/7

מסעות אירועים ומשחקי מותג

משחקים בלתי נשכחים לכנסים ולאירועי לקוחות

שאלות נפוצות

העבודות האחרונות

  • פיתוח משחקים עבור Mortal Motors
    פיתוח משחקים עבור Mortal Motors
    1638
  • משחק אסטרטגיה מבוסס תורות המתרחש בעולם פנטזיה, With Fire and Sword
    משחק אסטרטגיה מבוסס תורות המתרחש בעולם פנטזיה, With Fire and Sword
    1122
  • פיתוח משחק עבור חברת Second term
    פיתוח משחק עבור חברת Second term
    751
  • אנימציית תלת-ממד - טיזר למשחק Phoenix 2.
    אנימציית תלת-ממד - טיזר למשחק Phoenix 2.
    830

צללי פוסט-עיבוד מותאמים אישית

אפקטי הפוסט-עיבוד המובנים ב-URP וב-HDRP מכסים צרכים בסיסיים, אבל כשצריך צל פוסט-עיבוד מותאם אישית לאפקטים כמו אדוות חום מעל אספלט, סטייה כרומטית עם עקומה מותאמת, או פוסטריזציה בסגנון פיקסל ארט — זה המומחיות שלנו. אנו מפתחים צללי פוסט-עיבוד מותאמים אישית עבור Unity, מוכנים לשימוש בפלטפורמות מובייל ומחשב. עם ניסיון של למעלה מ-5 שנים בשוק ויותר מ-80 פרויקטים שהועברו, ייעלנו 90% מכל האפקטים למעבדי GPU ניידים, חסכנו עד 30% FPS ב-Mali G72 והפחתנו קריאות draw calls ב-40% בהשוואה למימושים נאיביים. צללים מותאמים אישית יעילים עד פי 10 מאפקטים מובנים למשימות ייעודיות, וצללי ה-VR שלנו רצים פי 2 מהר יותר מפתרונות טיפוסיים בחנויות נכסים. הצללים שלנו גם מפחיתים את צריכת הסוללה ב-20% במכשירים ניידים. כל אפקט עובר שלב אב-טיפוס על הסצנה היעד, תוך התחשבות בתקציב ה-FPS ובמגבלות הפלטפורמה.

איך מגדירים ScriptableRendererFeature?

ScriptableRendererFeature רושם ScriptableRenderPass שמתבצע ב-RenderPassEvent מוגדר. מדריך שלב-אחר-שלב:

  1. צרו מחלקה שיורשת מ-ScriptableRendererFeature.
  2. הצהירו על ScriptableRenderPass בתוכה והגדירו את החומר והאירוע שלו.
  3. במתודת AddRenderPasses, הוסיפו את ה-pass לתור.
  4. ב-ScriptableRenderPass.Execute המותאם, השתמשו ב-Blitter.BlitCameraTexture(cmd, source, destination, material, passIndex) כדי להחיל את הצל.
  5. הקצו את ה-Feature שנוצר ב-URP Renderer דרך ה-Inspector.

לפי התיעוד של Unity ScriptableRendererFeature, ה-pass חייב להתווסף ב-LinearEyeDepth(depth, _ZBufferParams). הדרך הטובה ביותר ליצור את חומר ה-Blit היא דרך Full Screen Shader Graph (סוג גרף Fullscreen Shader ב-URP). גרף זה מספק את הצומת URP Sample Buffer, שקורא Color, Depth, Normal או Motion Vectors מהבאפרים הפנימיים. ללא צומת זה, אפקטים המבוססים על עומק (קווי מתאר לפי עומק, DOF מותאם) דורשים כתיבת HLSL בפונקציה מותאמת.

איך מיישמים קווי מתאר לפי עומק ונורמל?

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

הגישה הנכונה היא זיהוי קצוות במסך מלא באמצעות באפרי Depth ו-Normal. קצה מבוסס עומק: קראו את העומק בפיקסל הנוכחי ובשכניו (4 או 8 דרך Sample Texture 2D עם offset). אם הפרש העומק חורג מסף, הפיקסל נמצא על קצה. Roberts Cross או Sobel הם פילטרים סטנדרטיים.

קצה מבוסס נורמל: עשו את אותו הדבר עם באפר ה-Normal. זה מייצר קווים בנקודות אי-רציפות של נורמל — קצוות וקפלים שעומק אינו מזהה. שילוב של עומק + נורמל הוא הסטנדרט לקווי מתאר בסגנון סל-שיידינג.

חשיבות הליניאריזציה של העומק

העומק בבאפר אינו ליניארי (לוגריתמי או reversed-Z תלוי בפלטפורמה). השוואה ישירה של ערכי עומק מייצרת עובי קו לא אחיד. יש לבצע ליניאריזציה באמצעות _CameraOpaqueTexture — ב-ShaderGraph זה הצומת Linear Eye Depth. ללא זה, קו המתאר יהיה דק יותר בחזית ועבה יותר במרחק.

לוחות זמנים ועלויות פיתוח

סוג אפקט הפוסט-עיבוד לוח זמנים עלות טיפוסית
אפקט מסך מלא פשוט (תיקון צבע, טשטוש) 1–3 ימים $500–$800
קווי מתאר לפי עומק/נורמל + כוונון 3–5 ימים $800–$1,200
אפקט עיוות (גל חום, פורטל) 3–6 ימים $1,200–$1,500
אפקט מורכב משולב (מעברים מרובים) 1–2 שבועות $2,000–$3,000

הלקוחות שלנו חוסכים בממוצע $3,000 לכל אפקט בהשוואה לפיתוח פנימי. על פני יותר מ-80 פרויקטים, חסכנו ללקוחות יותר מ-$240,000 בעלויות פיתוח כוללות.

השוואה: Shader Graph מול HLSL מותאם

קריטריון Full Screen Shader Graph HLSL מותאם
מהירות פיתוח גבוהה (עריכה ויזואלית) נמוכה (קידוד ידני)
גמישות מוגבלת לצמתים זמינים מלאה, כל אפקט
ביצועים בינוניים (אופטימיזציות אוטומטיות) גבוהים (אופטימיזציה ידנית)
רוחב פלטפורמות אוטומטי דורש #define לפלטפורמה
טעויות נפוצות ואיך להימנע מהן

RenderPassEvent שגוי. אם תמקמו את אפקט הפוסט-עיבוד ב-BeforeRenderingPostProcessing, Bloom יוצג מעל האפקט המותאם. סדר האירועים: Opaques → Skybox → Transparents → Post Processing → UI. בחירת RenderPassEvent קובעת את מיקומו בתור זה.

חסר Depth Priming Mode. במעבדי GPU ניידים (Mali), באפר העומק עשוי להיות לא זמין ב-pass מותאם אם Depth Priming Mode ב-URP Renderer אינו מופעל בכוח. תוצאה: מסך שחור או ערכי עומק שגויים ללא שגיאות בקונסולה.

אי-תאימות ל-VR. צל מותאם ללא תמיכת XR נשבר ב-VR — תמונה כפולה או רק עין אחת. Blitter.BlitCameraTexture מטפל אוטומטית ב-VR single-pass, אבל חישובי UV מותאמים בצמתים דורשים UNITY_STEREO_EYE_INDEX_POST_VERTEX. כל הצללים שלנו מתחשבים בכך, ולכן הם עובדים נכון על כל משקפי VR.

השגת עיוות באיכות גבוהה

עיוות במרחב המסך (גל חום, פורטל קסום) הוא צל Blit שמזיז את ה-UV של הפריים הנוכחי באמצעות מפת Normal. בעיה: העיוות חייב לעבוד עם Opaque Texture (_CameraOpaqueTexture) כדי להימנע מלכידת אלמנטים שקופים ו-UI. אם האפקט נדרש רק מעל אובייקט ספציפי, יש צורך ב-Distortion Renderer Feature נפרד, שמרנדר מסכה ל-RT ביניים.

ב-HDRP, העיוות פשוט יותר: יש תור עיוות מובנה; אובייקטים עם Distortion מופעל נכנסים אוטומטית ל-pass העיוות.

תוצרים

כל פיתוח אפקט פוסט-עיבוד מותאם כולל:

  • קוד מקור של הצל (Shader Graph או HLSL) עם הערות
  • ScriptableRendererFeature מוכן להטמעה ב-URP/HDRP
  • סצנת דוגמה המדגימה את האפקט
  • תיעוד המסביר הגדרות, פרמטרים ושלבי אינטגרציה
  • חודשיים של תמיכה לתיקוני באגים והתאמות קלות
  • אחריות שביעות רצון ל-30 יום – אם האפקט אינו עומד בדרישות, נתקן אותו ללא עלות נוספת

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

ניסיון החברה

אנחנו סטודיו פיתוח Unity עם ניסיון של 5+ שנים בתכנות צללים. העברנו למעלה מ-80 אפקטי פוסט-עיבוד מותאמים אישית לפרויקטים במובייל, מחשב, קונסולות ו-VR. הצוות שלנו מחזיק בתעודות Unity Certified Developer ועוקב אחר שיטות עבודה מומלצות לאופטימיזציה חוצת-פלטפורמות. 90% מהאפקטים שלנו מותאמים למעבדי GPU ניידים, מה שמוביל לחיסכון של עד 30% ב-FPS ול-50% פחות שימוש בזיכרון בהשוואה למימושים נאיביים. עבדנו עם צוותי אינדי וסטודיו AAA כאחד, ומבטיחים תוצאות אמינות, יעילות ומרשימות ויזואלית.