יום ראשון, 7 בנובמבר 2010

3D -> 3D

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

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

ליצור שתי מצלמות עם הפרש בציר ה-X שלהם: (2 ו-3)
הביצוע נעשה כך: מאפסים למצלמת ברירת המחדל את המיקום (Alt+G) ואת הסיבוב (Alt+R) ומקבלים מצלמה במיקום 0,0,0 שמופנית כלפי מטה, מסובבים אותה 90 מעלות בציר ה-X וכך מקבלים מצלמה ש"מסתכלת" קדימה.
משכפלים אותה ע"י Ctrl+D ומזיזים בציר ה-X קצת (G -> X -> 0.3)



עכשיו בוחרים את שני המצלמות ומוסיפים אובייקט Empty בין שתיהן בדיוק (מופיע כ-1).
ביצוע: מסמנים את שתי המצלמות ולוחצים על Shift+S ואח"כ: "Cursor to Selected", עכשיו הסמן נמצא בין שתיהן.

מוסיפים אובייקט חדש (Shift+A -> Empty) ואז מחברים את המצלמות לאובייקט הזה ע"י ביצוע Parent אליו (סימון שתי המצלמות ואח"כ אובייקט ה-Empty ולחיצה על Ctrl+P ובחירה ב-Object)
(בתמונה מופיע אובייקט ה-Empty ככדור וזאת ע"י בחירת תצוגה זו מהתפריט בשמאל)

מוסיפים עוד אובייקט Empty שיהווה את הפוקוס של המצלמות (מופיע בתמונה כ-4)

מגדירים כל מצלמה בנפרד שתעקוב אחרי האובייקט הזה (מומלץ לשנות את שמו ל-Focus בתפריט בצד שמאל באייקון הקוביה - הרביעי משמאל)
ביצוע: סימון המצלמה ואח"כ האובייקט "פוקוס" (Empty במקור...) ולחיצה על Ctrl+T ובחירה באפשרות השניה.

עכשיו יש לנו מערכת עקרונית ליצירת תמונת תלת מימד.

תמונת מסך


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

ואז... נתקלתי בבעיה:

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

זאת אומרת שאני צריך לרנדר עם המצלמה הראשונה, לשמור את מה שיצא, להגדיר את השניה כמצלמת ברירת המחדל (עם Ctrl+0 לאחר שהמצלמה נבחרה), לרנדר שוב ולשמור את התמונה. ואת שתי התמונות להעביר לשלב הבא.

מה יקרה אם אני רוצה לעשות סרטון עם כמה עשרות/מאות פריימים?

אכן בעיה.

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

ואכן האפשרות ליצור סצנה חדשה (מופיע בתמונת המסך כ-5) המבוססת על סצנה קיימת אכן קיימת בבלנדר.

חיש מהרה יצרתי לי סצנה כזו וננתי לשתיהן שמות: Scene_Left ו-Scene_Right בהתאמה.
ביצוע: ללחוץ על אייקון ה "+" ליד התיבה הנפתחת של בחירת הסצנות ולבחור: "Link Objects"

הסבר: אפשרות זו מייצרת סצנה חדשה עם לינקים לכל המידע שיש בישנה. האפשרות הבאה בתור "Link Object Data" תיצור לינקים רק לתוכן האובייקטים (צבע, צורה וכו') אך לא לאובייקט עצמו. (למשל קוביית ברירת המחדל היא אובייקט המכיל תוכן שהוא מיקום הנקודות היוצרות את הקובייה, החומר וכו') והאפשרות האחרונה עושה העתק מלא לאובייקטים מהסצנה המקורית לחדשה.

מסך ה-Node Editor
ועכשיו מגיע החלק האומנותי... (חחח)

הסבר:

7- מסך ה-Node Editor בו עושים את כל ה"קסמים"... (תמיד אני ממספר את הראשון במספר אחר...)

1 ו-2 קלט מכל מצלמה בנפרד.

3 - הפרדה לצבעים

4- חיבור הצבעים הרלוונטים ויציאה ל-5 (מה שיוצא בסוף)




עכשיו אפשר לעשות אנימציה!!!






עוד משהו קטן:

לחכות שהמשקפיים יגיעו מ-eBay כדי לתקן את כל הפאשלות.....

זה היה ארוך, אני יודע

תהנו!

:-)