
במאמר זה סוקר קלאוס שווארם את ההיסטוריה ומצב הפיתוח של K-3D, תוכנת מידול תלת-מימד, רינדור והנפשה.
מבוא
כאשר מדברים על יצירת עבודות אמנותיות בתלת-מימד בלינוקס, חושבים מייד על בלנדר ([Blender]). רבים חושבים גם על הממשק הלא שיגרתי שלה. בכל אופן, ישנן אלטרנטיבות לבלנדר, כמו למשל K-3D שמפגינה גישה רעננה וכדאי למי שמתעניינים בתחום להתוודע אליה.
למרות השם, K-3D אינה תוכנת KDE. למען האמת, שמה המקורי היה ‘Equus-3D’, כאשר טימוטי מ. שייד יצר אותה בשנת 1994 עבור האמיגה. כאשר היה ברור שהשם המקורי שלה כבר לא ממש אומר הרבה למשתמשים, שייד שינה את שמה ל-K-3D - ב"אחד מהימים הפחות יצירתיים" שלו, כפי שהוא מציין בשות'. באותה תקופה הוא לא היה מודע ל-KDE ולנוהל השמות שלה.
מאז היווסדו, הפרוייקט עבר שינויים רבים: הוא עבר מאמיגה לחלונות, אימץ רישיון GPL בשנת 1998 והפך לפרוייקט באתר סורס פורג' בשנת 2002. הוא מפתוח בשפת ++C, תחילה עם ספריות פרטיות לצורך עבודה מול ספריות GTK+ של GNOME. בגירסה היציבה האחרונה שלה, 0.4.*, הספריות האלו עדיין בשימוש, אבל בגירסה בפיתוח נעשה כעת ניסיון לשכתב את הממשק הגרפי והפיתוח נעשה כעת עם GTKmm - הספריות הרשמיות שמשמשות לפיתוח יישומי GTK+ בשפת ++C.
הממשק המקורי של K-3D מזכיר את זה של הגימפ הישן. "זה היה הניסיון הראשון לפני שישבנו וחשבנו ברצינות על ממשק המשתמש," אומר רומאיין באהר, שמשמש כיום המפתח והמתחזק הראשי של K-3D. מאחר שהגירסה היציבה הבאה עם הממשק החדש צפויה במהלך החודשים הקרובים, בואו נראה למה אפשר לצפות.
התקנה
אפשר להוריד גירסת פיתוח מאתר סורס פורג'. חבילות מוכנות עבור ההפצות השונות זמינות מהקישור "Getting Started" בדף הבית של הפרוייקט.
אם לא נמצאה חבילה מתאימה, ייהיה צורך להדר את K-3D מקוד מקור. יש לקחת בחשבון שמדובר בתהליך מורכב שדורש 1.2 ג"ב פנויים בדיסק הקשיח. התוכנה עצמה דורשת 370 מ"ב פנויים בדיסק הקשיח, כולל המידע שדרוש לצורך דיבוג התוכנה.
נכון להיום, גירסת הפיתוח מספרה 0.5.0.25. את הקובץ שהורדתם יש לפרוס לספריה כלשהי. עכשיו פתחו מסוף ועברו לספריה החדשה, אשר שמה יהיה k3d- 0.5.0.25. בדרך כלל בשלב זה יש לקרא את קובץ ה-README המצורף, אבל בדף הבית של הפרוייקט תמצאו מידע מדוייק וקל יותר להבנה.
לפני שמתחילים להדר צריך להבטיח שכל הספריות הנחוצות אכן הותקנו מהמאגרי ההפצה. מלבד סביבת פיתוח (בדביאן אפשר להתקין את כל הכלים הדרושים עם הפקודה: apt-get install build-essential), יש צורך בחמש חבילות נוספות ואחד עשר חבילות אופציונאליות נוספות, כמו גם כל החבילות שהן תלויות בהן. שמות כל החבילות מצוינות כולן באתר הפרוייקט, תחת הפרק: “External Dependencies”.
ספריה נחוצה נוספת היא librsvg, מרנדר מבוסס SAX להצגת גרפיקה וקטורית. אחת הפקודות שלה נדרשת במהלך בניית התוכנה עם: "make install'', למרות שתסריט configure לא מזכיר זאת. לאחר מכן ניתן פשוט לעקוב אחר הוראות הבנייה. אם מתעוררות בעיות למרות שכל הספריות הדרושות הותקנו, כדאי לנסות את מה שמקובל לעשות כאשר מושכים קוד משרת CVS: קודם כל:
LANG="" ./bootstrapזהו בעצם תסריט שמתחיל את שאר התסריטים שמכינים את סביבת הבנייה. לאחר מכן, אפשר להמשיך על פי ההוראות באתר הפרוייקט.
כברירת מחדל, החבילה תותקן בנתיב usr/local/k3d/ ולכן התוכנית עצמה לא תהיה נגישה בהפעלה רגילה עם הפקודה "k3d", אלא אם כן הוספתם את הנתיב usr/local/k3d/bin/ למשתנה הסביבה PATH, או הפעלתם אותה באופן הבא:
/usr/local/k3d/bin/k3d &ההתקנה עוברת בדרך כלל ללא קשיים מיוחדים.
ממשק המשתמש

הממשק הגרפי של K3D מורכב ממספר סגמנטים שונים. סרגל הכלים המשותף מוצג בשטח מצומצם למדי מצד שמאל. החלק הימני משמש את מה שמכונה 'shelf' (מדף) שמאפשר גישה נוחה יותר לכל הכלים שנמצאים גם תחת התפריט "Create".
האזור המרכזי מחולק למספר פאנלים: שלושה מצד שמאל ואחד נוסף, גדול יותר, מימין. הפאנלים מצד שמאל משמשים להצגת או עריכת המידע אודות האובייקטים שמוצגים בפאנל המרכזי. הפאנל התחתון משמש תיבת שיחה ומוצג בו גם ציר זמן שימושי במיוחד ליצירת הנפשות, גמו גם ושורת הסטטוס הרגילה.
אם מבנה הממשק לא מתאים לכם, תוכלו לשנות אותו לחלוטין בעזרת התפריטים הנגללים בכל פאנל ובעזרת התפריט "View". תמונת המסך בהמשך מדגימה ממשק טיפוסי ליישומים מסוג זה. לרוע המזל, השינויים לא נשמרים לאחר סגירת היישום, אבל יש להניח שהבעיה כבר נמצאת ברשימת המטלות של המפתחים.
הממשק קצת מחוספס, מה שדי צפוי בגירסת פיתוח שמנסה לממש ממשק חדש לחלוטין. K-3ּD גם לא נראית יישום GNOME אופייני, והיא לא משתלבת היטב בסביבה העבודה. למשל, סדר הכפתורים והסמלים בתיבת השיחה לסגירה אינו נכון. סמלים אחרים אף הם אינם הסמלים התקניים (stock) - מן הסתם בגלל ניסיון לאופטימיזציה של שטח, שכן הסמלים קטנים יותר.
שימוש בסיסי
"חלון התצוגה" (view port) הוא מן הסתם האזור החשוב ביותר בממשק של K-3D. למי שלא מכירים תוכנות מסוג זה, אפשר לחשוב על חלון התצוגה כעל זירת צילום שמוגדרת על ידי הצירים לאורך החלון. המשתמש צופה למעשה בזירת הצילום דרך עינית המצלמה.
כדי להתקרב, אפשר פשוט להשתמש בגלגל העכבר. כדי לשנות את מיקום המצלמה, יש להזיז את העכבר תוך כדי לחיצה על הכפתור הימני של העכבר. באנלוגיה לצילום סרטים, הפעולה דומה להילוך איטי. כדי לשנות את מיקום זירת הצילום יש להזיז את העכבר בזמן לחיצה על הכפתור האמצעי.
על ידי לחיצה על מקש Shift והכפתור הימני של העכבר, אפשר לסובב את המצלמה מסביב לזירת הצילום. לחיצה על Shift ועל הכפתור האמצעי של העכבר, תגרום לפעולה שמכונה "aim" - תנועה אופקית בזווית כלשהי מנקודה קבועה.
לסיום, אפשר להתקרב או להתרחק על ידי לחיצה על מקש Ctrl והזזת העכבר מעלה ומטה בזמן שלוחצים על הכפתור הימני שלו. אפקט דומה מתרחש כאשר לוחצים על Ctrl ומזיזים את העכבר בזמן לחיצה על הכפתור האמצעי - המצלמה עצמה זזה לתוך זירת הצילום, אבל קשה להבחין בהבדל בין שתי השיטות.
לפני שמתרגלים לכל האפשרויות הללו, מאבדים מדי פעם את האוריינטציה. הקלקה זריזה עם הכפתור האמצעי של העכבר מחזירה את הכל למצב המקורי, כאשר המצלמה מכוונת אל מרכז זירת הצילום.
אפשר להתחיל עכשיו ליצור אובייקטים גיאומטריים שונים בתוך חלון התצוגה; למשל על ידי בחירת האפשרות ‘Create -> Polygons -> PolyCube’ מהתפריט הראשי, או בעזרת המדף (shelf) העליון. כדי לבחור את האובייקט שנוצר זה עתה, די בהקלקה שמאלית על האובייקט - באובייקט שנבחר, צבע השוליים הופך לבן. בתוך פאנל שמציג את המאפיינים של האובייקט (‘Objects Properties’ ) אפשר לערוך מאפיינים שונים כמו שם, מיקום, גודל יחסי ועוד.

כדי להפוך קוביה למודל של בית פשוט, אפשר להשתמש בכלי ‘Select faces’ ולבחור באמצעותו את הפאה העליונה של הקוביה. הצבע שלה ישתנה לאדום, כמו שאפשר לראות בתמונה.

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

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

הקלקה ימנית תגרום להצגת תפריט הקשר מתוכו יש לבחור ‘MeshFilters -> CollapseEdges’. השוליים יהפכו לנקודות והנה לך מודל (בסיסי למדי) של בית.

K-3D היא תוכנה יעילה למדי, גם אם יכולנו להראות רק מעט מאוד מהיכולות שלה. שפע האפשרויות בתפריט הראשי ובתפריטי ההקשר, רומז שאפשר לעשות איתה הרבה יותר. לפני שניתן יהיה לשלב את הבית שיצרנו בתמונה כלשהי, יש צורך להוסיף טקסטורות ולהתקין מרנדר כדי לצייר את התמונה. אולי בסקירה הבאה של K-3D.
סיכום
גירסה 0.5 היא גירסת פיתוח ולכן אינה מתאימה לשימוש רגיל. לחיצה על האפשרות הלא נכונה באחד התפריטים עשויה להוביל להתרסקות שתגרור איתה את X עצמה. בכל אופן, זה המצב בדרך כלל עם בטאות. כדי להקל על דיווח על באגים, טופס דיווח יופיע בפעם הבאה שמפעילים את K-3D לאחר התרסקות.
מדובר בתוכנה מבטיחה למדי: הממשק החדש שלה מתאים גם לרזולוציות נמוכות במיוחד; היא החלה משתמשת בספריית GTKmm במקום לפתח ספריה חדשה; היא נוטה לאמץ כללים ידידותיים יותר של ממשק משתמש גרפי; והיא מנסה להיות ניטראלית לגבי שולחן העבודה על ידי הפרדת הממשק מהקוד עצמו.
משתמשים שמחפשים כלי שפשוט עובד, לא יפיקו הרבה תועלת מ-K-3D בשלב זה. ללא ממשק יציב, כתיבת מדריכים אינה מעשית בשלב זה. מדריכים איכותיים הם בין הנכסים החשובים ביותר לכל פרוייקט מורכב מסוג זה. כתוצאה מכך מושפעים גם תחומים אחרים, כמו למשל קהילת משתמשים. למרות שעושה רושם שהמפתחים שלה מעוניינים להחזיק אותה בחיים - יש פורום למשל - העדר גירסה יציבה חדשה מקשה.
הדרך הטובה ביותר ליצור קשר עם המפתחים היא באמצעות רשימת התפוצה. יש תמיד מה לעשות ומפתחים ובוחנים של גירסאות חדשות יתקבלו תמיד בברכה.
אודות הכותב
המאמר "A Short Preview On Modeling With K-3D" מאת קלאוס שוורם התפרסם בגיליון יולי של GNOME Journal ותורגם לעברית על ידי אורי שרף, יולי 2005. התרגום כמו המאמר המקורי זמינים עם רישיון CC.
* קישור ישיר למאמר זה: linmagazine.co.il/gnomejournal/k3d