Blender 3D ממתחיל מתקדם/מרחביי הקורדינטות בבלנדר
הפרק הקודם: תצוגות פרספקטיביות |
מרחביי הקורדינטות בבלנדר תרגילים |
הפרק הבא: ממשק המשתמש של בלנדר |
נתחיל לעבור על איך סצנות תלת-ממד מוצגות בבלנדר.
כמו שהסברנו בפרק "הנדסת המרחב", בלנדר מציג מיקום בסצנה בעזרת קורדינטות. הקורדינטות של מכילות מיקום של שלושה מספרים שמתארים את המרחק והכיוון מראשית הצירים. ליתר דיוק:
- הקורדינטה הראשונה (או קואורדינטת X) של המיקום מתארת את המרחק ממשטח YZ (זה שכולל את ציר Y ו-Z). מיקום על ציר ה-X של המשטח הזה הוא ערך חיובי לקואורדינטת Z, ואלו בצד מינוס X נותנים את הערכים השליליים.
- הקואורדינטה השנייה (או קואורדינטת Y) היא המרחק ממשטח ה-XZ, מיקום על צד מינוס Y נותן ערך שלילי עבור ציר ה-Y.
- הקואורדינטה השלישית (או קואורדינטת Z) היא המרחק ממישור XY, כאשר המרחק הוא מינוס Z, מקבלים ערך שלישי עבור ציר ה-Z.
כך שראשית הצירים (זאת שנמצאת בנקודת ההצטלבות של שלושת הצירים וכל המישורים) נקראת
קורדינטות מקומיות וכלליות
[עריכה]בלנדר מתייחס למערכת הצירים שמתוארת לעיל כמערכת צירים גלובלית (global coordinate system), למרות שזה לא לגמרי נכון שזה גלובלי - לכל סצנה יש את מערכת הצירים הגלובלית שלה. לכל מערכת צירים גלובלית יש ראשית צירים קבועה וכיוונים קבועים, למרות שאנחנו יכולים להציג זאת מזוויות שונות בעזרת הזזת המצלמה הוירטואלית, דרך הסצנה ו/או סיבוב המצלמה.
מערכת הצירים הגלובלית מספיקה בשביל סצנות שמכילות אובייקט קבוע יחיד או סצנות שמכילות הרבה אובייקטים אבל שהם רק נקודה אחת. כאשר עוסקים באובייקטים שזזים סביב (או אובייקטים מרובים עם גדלים וצורות), זה עוזר להגדיר מערכת צירים מקומית (local coordinate system) לכל אובייקט, מערכת קורדינטות שזזה עם האובייקט ועוקבת אחריו. ראשית הצירים של מערכת הצירים המקומית נקראת בדרך כלל המרכז של האובייקט (the center of the object) אפילו אם המיקום שלו לא מתאים למרכז הגיאומטרי של האובייקט.
אובייקטים תלת ממדיים בבלנדר מתוארים בעיקר בעזרת קודקודים (vertices) (נקודות באובייקט, צורת יחיד: קודקוד (vertex). מערכת הצירים הגלובלית של קודקוד מסתמכת על:
- ערכי הקורדינטות של הקודקוד במערכת הצירים המקומית של האובייקט.
- המיקום של מרכז האובייקט.
- כל סיבוב של מערכת הצירים המקומית ביחס למערכת הצירים הגלובלית, וגם...
- כל עיוות (הגדלה או הקטנה) של מערכת הצירים המקומית ביחס למערכת הצירים הגלובלית.
לדוגמא, ספל תה במספר 1 כולל במודל הסבכה 171 קודקודים, לכל אחד מהם יש הגדרה שונה למערכת הצירים המקומית ביחס למרכז הספל. אם אתה מתרגם את הספל (מזיז אותו בלי לסובבו), החתיכות היחידות של המודל שצריכות להשתנות הן הערכים במערכת הצירים הגלובלית של המרכז. יחסית למערכת הצירים המקומית של הספל, כל הקודקודים שלו יישארו בלי שינוי.
קורדינטות של אובייקטים ילדים
[עריכה]כל אובייקט יכול להיות אב (Parent) בשביל אובייקט אחד או יותר באותה הסצנה, מה שאומר שהם מיוחסים כילדים שלו (Children). (אובייקט לא יכול שיהיה לו יותר מאובייקט אב אחד, אבל אובייקט אב יכול שיהיו לו הרבה אובייקטים ילדים.)
אם לאובייקט יש הורה, המיקום, הסיבוב, והעיוות שלו מחושבים לפי מערכת הצירים המקומית של אובייקט האב, כמעט כאילו היו הקודקודים שלו. זה אומר, שהמיקום של מרכז הילד מחושב מראשית הצירים של מרכז אובייקט האב במקום מראשית הצירים הכללית. כך שאם אתה מזיז אובייקט, הילדים שלו יזוזו גם, אפילו שערכי הקורדינטות של הילדים לא ישתנו. המיקום והעיוות של מערכת צירים מקומית של ילד מחושבים גם הם יחסית למערכת הצירים המקומית של אובייקט האב. אם אתה מסובב את ההורה, הילד יסתובב (ויתכן שיקיף) מסביב לאותו ציר.
יחסי ילד-אב בין אובייטים יוצרים דרך פשוטה יותר לבצע סיבוב, עיוות והזזה בכיוונים שונים. בתמונה מס' 1 כוס הקפה היא אובייקט הילד של הצלבת הקורדינטות מימין. ההצלבה הזאת היא בעצמה הילד של אב בלתי-נראה. (הוא גם ילד וגם אב.) במערכת הצירים המקומית של הכוס, היא לא מסובבת, אבל בגללה שההצלבה מימין מסתובבת סביב ציר Z, היא גורמת לכוס להסתובב ולהקיפה. באנימציות אמתיות, זה יהיה הרבה יותר קל כאשר הדמות מחזיקה את הספל מסתובב, הספל ישנה את המיקום שלו בהתאמה.
הצגת הצירים
[עריכה]אם תקחו את הצגת הסצנה בחשבון, יש מרחב קורדינטות אחר: הצגת הצירים. בתמונה מס' 2 התצוגה מסומלת בעזרת המצלמה. ציר ה-Z של קורדינטות ההצגה תמיד מצביע ישירות לכיוון המסתכל בהקרנה אורטוגרפית. ציר ה-X מצביע ימינה, וציר ה-Y מצביע למעלה (ראו תמונה מס' 3).
למען האמת אתה תמיד עובד בקורדינטות הצגה, אם לא הגדרת אחרת. זה שימושי במיוחד אם אתה מסדר את התצוגה הקודמת שלך למידול משהו, למשל אם לאובייקט יש גג משופע ואתה רוצה ליצור חלון בהתאם לגג הזה, זה יכול להיות מאוד מסובך לבנות את החלון הזה מיושר למערכת הקורדינטות המקומית של האובייקט, אבל אם אתה קודם כל תסדר את התצוגה של לגג המשופע, העבודה תהיה קלה יותר בהצגת מערכת הצירים הזאת.
(בגרסה 2.6 ברירת-המחדל שונתה לקורדינטות הגלובליות, וקורדינטות הצפייה נשארו כאופציה.)
אם אתה עובד באחת משלוש התצוגות הסטנדרטיות (חזית/ עליון/ צד) היישור של קורדינטות התצוגה מתאים לקורדינטות הגלובליות, ולכן אפשר בקלות למודל באחת מהתצוגות הסטדרטיות.
צירים ניצבים
[עריכה]למרות שבלנדר היא תוכנת תלת ממד, רק הפאות הן נראות. המיקום של הפאות חשוב מפני כמה סיבות. לדוגמא, בחיי היומיום שלנו זה נראה די ברור שספרים שוכבים שטוחים על השולחן. זה דורש מפני-השטח של השולחן ופני-השטח של הספר להיות מקבילים אחד לשני. אם אנחנו מניחים ספר על שולחן בתוכנת תלת-ממד, אין כל מנגנון שמכריח את שטחי הפנים הללו להיות מקבילים, אנחנו חייבים לגרום לכך בעצמנו.
המיקום של פאה יכול להיות מתואר בעזרת מה שמכונה שטח פנים ניצב (Surface Normal) - הוא תמיד ניצב לשטח הפנים. אם כמה פאות נבחרות, תוצאת הניצב היא ממוצע מהניצבים של כל פאה יחידה. במס' 4 הקורדינטות הנציבות של הפאות מופיעות כחיצים כחולים.
התפישה יכולה להיות מוחלת לנקודות הפרטיות על האובייקט, אפילו אם לנקודות בעצמן אין שום מיקום. הניצב של הנקודה הוא ממוצע של הניצבים של הפאות הסמוכות.
התמונות למדריך זה נוצרו בעזרת בלנדר גרסה 2.46
הפרק הקודם: תצוגות פרספקטיביות |
מרחביי הקורדינטות בבלנדר תרגילים |
הפרק הבא: ממשק המשתמש של בלנדר |