יום ראשון, 17 בפברואר 2013

NURBS, בלנדר ומכונות כירסום

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

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

מה זה NURBS? ראשי התיבות הן Non-uniform rational B-spline ובגדול אלה עקומות שמחברות ביניהן שטח. בניגוד לפוליגונים שכל המידע של מצולע הוא כמה קודקודים יש בו, בנורבס יש המון מידע כולל כמה נקודות אחיזה יש על המשטח ועד כמה העקומות רגישות לכל שינוי (Degree). יש המון מתמטיקה מאחורי הקלעים.


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

אז חזרנו לנקודת ההתחלה - בבלנדר התמיכה בנורבס מאוד בסיסית והיא בעיקר תשומש רק בשביל המידול הראשוני ומהר מאוד עדיף להפוך את האובייקט לפוליגונאלי, פשוט כי אין מספיק כלים טובים לזה.
[עידכון] ישראל ישראלי הפנה אותי ל - Curve Tools, שהופכים את העבודה עם נורבס בבלנדר לטיפה יותר נעימה.

אה, ואין ייצוא/ייבוא שישמור אותו במצב הזה.
יש איזשהו פרויקט GIT שמטרתו הוא ייצוא נורבס מבלנדר, אבל נראה שלא מתחזקים כל כך את הפרויקט.
הייתי מציע תוכנת קוד-פתוח שטובה בנושא ולפי מעט גוגל - K-3D אמורה לדעת להתמודד עם זה, אבל היא תוכנה לא מפותחת מספיק בכללי.
מצאתי את AYAM, שהיא חופשית, אם-כי לפי תגובות בפורומים של בלנדר - הממשק שלה מסורבל בטירוף, אבל אמורה לדעת לתת מענה לחובבי הנורבס.
יש גם את FreeCAD שאמורה להתנהל עם דברים מהסוג הזה אבל אני לא מהנדס ואני לא לגמרי מכיר את הסביבה של תוכנות CAD, אז מפה אתם ברשות עצמכם.

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

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



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

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

אם יש לאחד הקוראים מידע שיאיר את עיני אתם מוזמנים להגיב או לשלוח הודעה.

יום שבת, 7 באוגוסט 2010

הולי קרפ! עברית בבלנדר?!




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

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

פותחים בלנדר ומוסיפים טקסט [מקש רווח]

ואז מקבלים את הטקסט (הכל די מפתיע עד עכשיו...)

לחצו על מקש Tab כדי לעבור למצב עריכה, ותלחצו על כפתור ה - Load (ליד ה builtin ) בשביל לטעון את הגופן המועדף (בתיקיית הפונטים של המחשב שלכם, או איפה ששמתם את הפונט הרצוי)

בחרתם? שיגעון, עכשיו תלחצו על תפריט ה - Char (מימין לתפריט ה - Font)

לחצו על ה - Unicode Table ויפתח לכם תפריט של שפות. תבחרו ב - Hebrew

ואז תחפשו את האותיות העבריות של הגופן שלכם ע"י לחיצה על הכפתורים הקטנים U ו-D, שזה למעלה ולמטה

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

מחווה (?) לאודיסיאה בחלל בשילוב M&M's



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


העתקתי את זה ב - 7 צבעים לפי מה שראיתי בתוך החבילה...

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

[עידכון כעבור כשלוש שנים]
טוב, אז כמובן שלא ככה עושים את זה אנשים שפויים.
זה אפילו מאוד פשוט: לוקחים את כל הסוכריות והופכים אותן ל - Group (CTREL + G) ואז מייצרים סתם משטח כלשהו, שמים עליו מערכת חלקיקים, ובאותה המערכת מגדירים לה להשתמש כאובייקטים שיחליפו את החלקיקים - את הגרופ שיצרנו. זהו.
יש אפילו אפשרות להחליט באחוזים איזה צבע יהיה יותר או פחות. מדהים!

יום ראשון, 12 באפריל 2009

בסיס מוצק בבלנדר - לפי איזה מדריכים [לגזור ולשמור]

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

אז יאללה, לעבודה!

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

תורידו את הבלנדר העדכני ביותר

התחלה כללית:
הפוליגון
[מהמילון -
פוליגון
(ז') מצולע, צורה הנדסית מישורית סגורה ומוגבלת על ידי קטעים] מתוך: בבילון

פוליגונים מורכבים

התחלה בבלנדר:
חלק מהמדריכים האלה, מתוך אתר בשם Blender Underground, כבר בלי מוזיקה ואפקטים מגניבים, ככה שתצתרכו ממש להיות סבלניים. זה יהיה שווה את זה בהמשך!
אז הנה:
Blender Basics Part 1

Smooth Shading
[מהמילון -
shading
(ש"ע) הצללה; גוון, הבדל קל
shade
(פ') להצל, לפרוש צל; להעיב, להאפיל; להצליל, לשנות גוון בהדרגה] מתוך: בבילון

Blender Basics Part 2


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

Blender Basics Part 3

קופסת פירמידה

להעתיק איור דו-מימדי ע"י עקומות

כוס קפה בשימוש כלי ה - Spinning

הפיכת משולשים למרובעים

יצירת חור עגול באמצע קופסה

יצירת חור מרובע באמצע קופסה

תוספת חיונית ומהירה למדריכים עד עכשיו

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

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

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

הבנה קצת יותר לעומק לאיך שבלנדר פועל:

Blender Basics Part 4

המעטפת של המודל שלכם (Materials):
[מהמילון -
Material
(ש"ע) חומר; אריג, בד ] מתוך: בבילון

Blender Basics Part 5

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

יום שבת, 4 באפריל 2009

שינוי הרגלי עבודה

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


ובכן, מכוון שהרגשתי שאני סוף סוף קצת שולט ביכולות המידול, עזרתי אומץ ושלחתי את מרכולתי לאתר The Official Blender Model Repository - Free Blender Resources, שזה, בקצרה, מאגר מודלים חופשי לשימוש הכלל שאנשים תרמו בכיף. הבנתי שמודלים מבוקשים במיוחד הם כלי בית, לכן החלטתי לתת גם אני יד ענווה לפרויקט.
אני מחכה שיאשרו, זה לוקח כ - 24 שעות...

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

(תמונת פרופיל. והתקע!)

יום שבת, 28 במרץ 2009

ניסוי ראשון: מיקסר

הנה אנימציה של 2 שניות:



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

מסקנות:
כמובן, זמן הרנדר הוא פסיכי! זה אומנם קליפ של בקושי 3 שניות, אבל לקח לו איזה 3 שעות לרנדר אותו... המחשב שלי הוא אומנם לא חדש מהניילון (עדיין עם ליבה אחת) אבל יש לו גיבוי מכרטיס גראפי חזק יחסית.
פישפשתי קצת וגיליתי שזו היא בעצם אחת (ממעט) מנקודות התורפה של בלנדר: רנדר סופר-איטי ופחות איכותי משל החברות המסחריות ושלמעשה זו הסיבה העיקרית בעיקבותיה מעדיפים להתעסק עם 3d studio או עם maya.
חבל, אני אומר, כי ממילא מפתחים כל שניה את התוכנה הזאת, ואני מניח שעוד מעט - עם צאת גרסה 2.5 תהיה תמיכה גם בתחום הזה.

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

רובוטריקים



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



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


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