צפה בנושא הקודם :: צפה בנושא הבא |
מחבר |
הודעה |
Muli טיסות סדירות
הצטרף בתאריך: Jan 06, 2008 הודעות: 2989 מיקום: טבעון
|
נשלח: 21:13 ,19 אוגוסט 2008, ג' כותרת הודעה: מדריך להגדרת מעצורים בדוושות של CH עבור Falcon 4 (ולא רק) |
|
|
בעקבות בקשה להסבר איך ניתן לגרום לפדלים של CH לשמש גם כמעצורים בלחיצה עליהם, ניגשתי לכתיבת מדריך זה שמנסה להביא בסגנון צעד-אחר-צעד לכתיבת סקריפט לדוושות של CH שיגרום לדוושות לשמש גם כמעצורים.
הסקריפט הוא הפשוט ביותר והמטרה היא Intro ומתן אפשרות לשימוש מיידי בבלמים ללא צורך ללמוד לעומק את נושא כתיבת סקריפטים. ניתן לשכלל את הסקריפט אחרי למידה ושליטה בכתיבת סקריפטים, ניתן להוסיף בלימה דיפרנציאלית לסיוע בהיגוי קרקע ועוד "כיד הדמיון".
המדריך לא מחליף את ה-Help של ה- CH Control Manager, ולא בא במקום הבנה טובה של אופן כתיבת סקריפטים ופרופילים.
לא הושקע המאמץ הנדרש בכתיבה דידקטית או בהגהה ועיצוב מקצועי של המדריך, ועל כך אבקש הסליחה מראש.
המדריך אינו מניח ידע מוקדם כלשהו בעבודה עם ה CH Control Manager
המדריך נכתב כעיקרון לסימולטורים שאין בהם אפשרות להגדיר ציר לבלמים, כדוגמת פאלקון.
מושגים בסיסיים:
התקן פיסי: בקר פיסי (אמיתי) כגון ג'ויסטיק, מצערת או פדלים.
התקן וירטואלי: בקר שאינו קיים במציאות הפיסית, אלא זהו התקן של ה-CCM(המושג הבא) שלמעשה "משחק" תפקיד של בקר פיסי.
CCM: קיצור של CH Control Manager- הפרופיילר של CH. ה-CCM הוא לא רק תוכנת פרופילים אלא גם דרייבר בפני עצמו ו-windows צריכה להתקין גם אותו!
ציר: זהו למעשה משתנה שמקבל ערכים בין 0 ל-255 שמייצג את המיקום על הציר. ציר יכול להיות ציר המצערת כשערך-0 מייצג מיקום בסרק וערך-255 מייצג מצב של מצערת מלאה.
באותו אופן הוא יכול לייצג דוושת ברקס כשערך-0 מייצג דוושה משוחררת לגמרי וערך 255 מייצג דוושה לחוצה עד הסוף. כל מצב ביניים יהיה בערך של בין 0 ל-255.
כפתור: זהו למעשה משתנה שמייצג כפתור בהתקן פיסי שיכול להיות רק באחד משני מצבים לוגיים: מופעל(אמת) או כבוי(שקר). בהתקן וירטואלי קיימים גם כן כפתורים שמייצגים כפתורים וירטואלים, וניתן להפעיל אותם ע"י הצבה בהם של ערך לוגי אמת.
שלבי בניית הפרופיל:
שלב 1: התקנה נכונה של הפדלים ושל ה-CCM(ראה מושגים בסיסיים).
סדר ההתקנה הוא קריטי, וחשוב להתקין אותם לפי ההוראות ולפי הסדר הנכון:
1. חיבור הפדלים למחשב. לתת ל-windows לזהות ולהתקין את הדרייבר שלהם.
2. התקנת ה- CH Control Manager. לתת ל-windows לזהות התקן חומרה חדש ולתת לה להתקין את הדרייבר המתאים.
בקיצור להתקין בדיוק לפי הוראות ההתקנה של CH (בשום פנים ואופן לא לחבר את הפדלים אחרי התקנת ה-CCM)
קריטריון סיום: דרייברים מותקנים כהלכה.
שלב 2: יצירת פרופיל
אחרי התקנה מלאה ומוצלחת של הפדלים ושל ה- CCM, השלב הבא הוא כמובן ייצירת הפרופיל עבור הפדלים. פתיחה ראשונה של ה-CCM תציג את המסך הבא: (מומלץ ללמוד ב-Help על מרכיבי המסך)
בשלב הזה אנו נדרשים להוסיף את הבקרים לפרופיל, לחיצה על כפתור ההוספה יציג:
הרשימה בצד ימין היא רשימת הבקרים האפשריים להוספה. יש 2 בקרים שאנחנו צריכים להוסיף לפרופיל, ProPedals ו-CMS Controls, נעשה זאת אחד אחרי השני.
בהתחלה נוסיף את ההתקן הפיסי- הפדלים: ProPedals. פשוט נסמן עם העכבר ונקליק Okay.
הפדלים יתווספו אל הפרופיל, כהתקן מס' 1, (JS1, כש JS זה קיצור של Joystick). זה יראה כך:
יהיו 2 דפים בשלב ראשון בפרופיל, דף Program Settings(הכי שמאלי) לא רלוואנטי לעניין ואין מה לגעת בו בשלב זה. (אפשר להרחיב את הידע עליו ב-help).
הדף השני וה-מאד חשוב לנו הוא דף הפדלים הפיסיים (ProPedals).
לפדלים יש 3 צירים (ראה מושגים):
ציר ברקס שמאלי- מופיע בתרשים(חץ עליו). משתנה הציר הוא A1.
ציר ברקס ימני-משתנה הציר הוא A2.
ציר ה-rudder(הגה כיוון): משתנה ציר A3.
הערה חשובה: הזזת כל אחד מהצירים פיסית בפדלים צריכה לגרום לחץ הצהוב לעבור לסמן את הציר שהוזז. אם זה לא קורה, אז יש בעיה בהתקנת הדרייברים. כלומר לחיצה על דוושת ימין צריכה להעביר את החץ אל מעליה בצילום.
משתנה ציר משמש ל-CCM לדעת באיזה מצב הציר בכל רגע נתון.
כדי לדעת לאיזה בקר שייך הציר כותבים את שם הציר בצמוד לשם הבקר. (כאמור הפדלים יהיו JS1 בפרופיל)
כלומר ציר JS1.A1 הוא ציר הברקס השמאלי של הפדלים, JS1.A2 הוא ציר הברקס הימני וכן הלאה.
בכל רגע נתון יכול CCM לבדוק את מצב הדוושה השמאלית ע"י בדיקת הערך שב-JS1.A1
זה מאפשר לכתוב סקריפט שמשתמש בערך הזה!!!
בדף הזה בפרופיל ניתן לראות מספר פרמטרים:
DX Device: שם ההתקן הוירטואלי שייציג ה-CCM מול הסימולטור, במקרה זה Device 1 שמקביל ל-JS1.
DX Axis: שם הציר הדיפולטי כפי שהסימולטור יראה, אם לא היינו עוברים דרך ה-CCM.
באופן כללי בדף הזה אפשר גם לכייל את רגישות הצירים בעזרת ה-response settings
בגדול, חוץ מלהכיר את מה שיש פה, אין לנו מה עוד לעשות בדף הזה, אנחנו רוצים שכל הצירים יתנהגו כרגיל ואין מה לשנות בהם!! הבעיה שלנו כרגע היא של-פאלקון כנראה אין ציר לברקסים(הוא לא מזהה לחיצה עליהם) ולכן נמיר את הציר הזה למקש הברקסים, וזה בהמשך.
לאחר הוספת הבקר הפיסי של הפדלים, צריך להוסיף את הבקר הוירטואלי(ראה מושגים) CMS Controls.
נוסיף אותו באותה צורה כמו שהוספנו את הפדלים(שוב לחצן הוספת בקר, בחירה ו-OK). זה יראה כך בסופו של תהליך:
בדף הזה של הבקר הוירטואלי CMS ונא לא לבלבל עם CCM שזה הפרופיילר עצמו-ראה מושגים)
לבקר הוירטואלי באופן די דומה כמו לבקר פיסי- יש כפתורים וצירים:
כפתורים מסומנים באות B (button). בתרשים עשיתי קליק על כפתור מס' 1 ((B1 רואים זאת לפי החץ הצהוב והכיתוב Button 1 בחלק העליון של צד ימין(מסומן באליפסה אדומה)
צירים מסומנים באות A (Axes), אבל זה לא מעניין אותנו לצורך עניינינו. לא ניגע בצירים הווירטואלים.
ה-CCM יכול להפעיל כפתורים וירטואלים ע"י הצבה בהם של ערך לוגי אמת.
דבר אחרון שיש לשים לב לו כרגע הוא הסימון של DX Mode (מסומן באליפסה אדומה).
DX Mode הוא המוד שבו ה-CCM לא יכול להשפיע והבקר עובד ישירות מול הסימולטור, בלי תיווך של ה-CCM.
זה מה שרצינו בדף של צירי הפדלים הפיסיים, אבל זה לא מה שאנחנו רוצים בדף של הבקר הוירטואלי CMS. אם זה לא ברור עד הסוף לגבי דף הפדאלים הפיסיים, זה לא נורא, כי זה לא קריטי.
נשמור את מה שעשינו עד כה כפרופיל בעל שם משמעותי.
קריטריון סיום:פרופיל בעל דף ProPedals+CMS Controls שמור בשם משמעותי.
שלב 3: הגדרת כפתורים וירטואלים (בבקר הוירטואלי CMS):
בשלב הזה נגדיר את הכפתור הוירטואלי B1 כך שהפעלה שלו תפעיל את מקש הבלמים (K)
לצורך זה נסיר את סימון ה-DX Mode (מסומן באליפסה אדומה) וייפתחו לנו תיבות הגדרת הכפתור:
נגדיר את ה-Normal Action כאות K , כל השאר שייך להפעלה בצרוף shift ולכן לא יעניין אותנו.
זה צריך להראות כך:
ההערה היא רק לצורך התיעוד ואינה חובה.
כך הגדרנו את B1. באותו אופן נגדיר את B2 גם כן למקש k (נבחר אתB2, עם העכבר, נוודא Button 2 ונחזור על כל תהליך ההגדרה).
זו כפילות אבל נשאיר זאת כך לצורך הפשטות (אפשר היה גם להשתמש בכפתור וירטואלי אחד- אבל לא נעשה זאת בהדגמה)
לאחר שסיימנו להגדיר גם את B2, נשמור את הפרופיל.
ההתייחסות לכפתורים תהייה ע"י cms.b1 ו-cms.b2.
כאמור הפעלה של הכפתורים תהייה כאשר ה-CCM יציב ערך אמת בהם.
קריטריון סיום: בסוף התהליך הזה יש לנו פרופיל שמור עם בקר פדלים פיסי ובקר וירטואלי שכולל שני כפתורים b1 ו-b2 שלחיצה על כל אחד מהם תקליד k,
סיכום עד כאן של מה שאנחנו יודעים כבר:
(1) משתנה ציר כדוגמת JS1.A1 (ציר מס' 1 בבקר הפדלים):[ברקס שמאל] מקבל ערך שמציין את המיקום על הציר בטווח של 0 (דוושה משוחררת) ל-255(דוושה לחוצה לגמרי).
(2) כל אחד מהמשתנים הוירטואלים של הבקר הוירטואלי ;CMS cms.b1 ו-cms.b2 יקלידו k כאשר יוצב לתוכם ערך לוגי אמת.
מה זה ערך אמת?
(3) ערך אמת הוא ביטוי לוגי נכון, למשל: 2x2=4 ונרשום זאת: (2x2=4)=True אבל (2x2=5)=False, False משמעו כמובן שקר.
(4) גם הביטוי הבא הוא ביטוי לוגי: JS1.A1=255)) והוא יהיה נכון אך ורק אם הדוושה השמאלית לחוצה עד הסוף.
וכדי לסכם את הכל:
אם נכתוב JS1.A1=255)) cms.b1= אזי לפי (2) cms.b1 יקליד את האות k אם נציב לתוכו ביטוי אמת.
לפי (4) הביטוי JS1.A1=255)) יהיה אמת רק אם דוושת שמאל לחוצה עד הסוף.
לכן cms.b1 יקליד את האות k אם דוושת שמאל לחוצה עד הסוף.
אני רואה בדיעבד שכל הסוגריים והביטויים באנגלית התחרבשו, אני לא מצליח להילחם בזה. הכל יובן כשיוצג הסקריפט עצמו!!
על העיקרון הזה נכתוב את הסקריפט שלנו.
שלב 4: כתיבת סקריפט
אחרי ששמרנו את כל מה שעשינו עד עכשיו (הגדרת פרופיל עם פדלים ובקר וירטואלי עם 2 כפתורים)
נלחץ על כפתור פתיחת עורך הסקריפט, מסומן באליפסה אדומה ונכתוב פנימה את הסקריפט הבא:
העיקרון של הסקריפט הוסבר כבר קודם.
טווח ציר הדוושה הוא 0-255 כש-170 נמצא קצת אחרי מרכז מהלך הדוושה, כלומר כאשר דוושת שמאל לחוצה מעט אחרי מחצית מהלכה, הערך של js1.a1 יהיה בסביבות 170. כאשר נלחץ אל מעבר למחצית המהלך אזי הביטוי [js1.a1 > 170] יהיה אמת, ואז הכפתור cms.b1 יופעל (יקליד k). ובאותו אופן לגבי דוושת ימין ((js1.a2
לאחר הקלדת כל הסקריפט, תוך וידוא שאין שגיעות כתיב או שלא פספסנו את כל ה-; בסוף כל שורת פקודה.
נלחץ על Exit, נחזור לחלון הרגיל ושוב נשמור את כל הפרופיל.
קריטריון סיום: פרופיל שמור שכולל בקר פדלים פיסי+בקר וירטואלי עם 2 כפתורים וירטואלים שמקלידים k+סקריפט להפעלת הבקר הוירטואלי.
שלב 5: טעינת הפרופיל (Download):
אחרי ששמרנו את הפרופיל והסקריפט חייבים לטעון אותו אל ה-CCM.
כתבתי בצילום "טעינת סקריפט" אבל למעשה זאת טעינת הפרופיל כולו!
טוענים אותו ע"י לחיצה על הכפתור((Download המסומן באליפסה אדומה. הטעינה אורכת זמן קצרצר ואז אמורים לקבל:
חייבים לקבל Successfully Completed ! אחרת יש איפושהו שגיעה וצריך לחזור לסקריפט ולבדוק איפה טעינו.
פותחים את עורך הסקריפט כמו קודם.
מכיוון שהסקריפט בדוק לוגית ועובד, אז הסיבה הכמעט יחידה לכשלון בטעינה יהייה טעות הקלדה ויש לחזור לעורך הסקריפט ולבדוק ביסודיות אם יש טעות בהקלדה ולתקן אותה.
סיימנו בהצלחה את הטעינה,נלחץ OK, עכשיו נשאר לבדוק:
קריטריון סיום: פרופיל נטען בהצלחה.
שלב 6: בדיקת הפרופיל(Key Test):
נלחץ על כפתור ה-Key-Test (מסומן באליפסה אדומה) וייפתח חלון המציג את כל מה שמוקלד.
נלחץ על אחת הדוושות מעבר למחצית המהלך (נניח עד הסוף), צריך לקבל:
במצב התקין- הבקר הוירטואלי cms יקליד k בלחיצה ו-k בשחרור.
אי אפשר להיפטר מהחזרה על ההקלדה בשחרור, אבל זה לא עקרוני בלחיצת ברקס, כי זה בסה"כ מוסיף עוד לחיצה וזה בסדר גמור.
בודקים בשתי הדוושות, אם מקבלים את זה, אז הכל תקין.
הערה: ייתכן ואם יש אנטי וירוס שמבצע בקרה על key-log אז הוא יקפוץ, כי כל העיקרון של הבדיקה מבוסס על key-logger. אז אין מה להתרגש אם זה קורה תוך כדי הבדיקה.
קריטריון סיום: לחיצה על כל דוושה מקלידה k בחלון Key Test Utility
אחרי שסיימנו והכל תקין נותר לנו עוד דבר אחרון:
שלב 7: מעבר ל-Mapping Mode:
כדי שהסימולטור ידבר עם הבקר הוירטואלי שמופיע מולו כ-CH Control Manager Device 1 (זה למעשה הפרופיל שבנינו)
ולא מול הבקר הפיסי של הפדלים עצמם שמופיע כ-CH Pro Pedals USB. אנחנו חייבים לבחור במוד שנקרא Mapping Mode, ובוחרים אותו ע"י לחיצה על הכפתור שמסומן באליפסה אדומה. לחיצה על מוד mapping קריטית, כי אחרת הסימולטור בכלל לא מדבר עם הפרופיל שבנינו אלא ישירות עם הפדלים (והם כאמור לא יודעים לבד לשלוט בברקסים).
סיכום השלבים:
1. התקנה נכונה ותקינה של הפדלים וה-CCM
2. ייצירת פרופיל.
3. הגדרת כפתורים וירטואלים בבקר הוירטואלי CMS.
4. כתיבת סקריפט.
5. טעינת פרופיל
6. בדיקת פרופיל
7. מעבר ל-Mapping Mode
עד כאן- בניית הפרופיל.
לפני משחק:
שלב א: פתיחת CCM.
שלב ב: בחירה ופתיחת הפרופיל (הכפתור הכי קיצוני שמאלי ב-toolbar).
שלב ג: טעינת הפרופיל (מוסבר בשלב 5 של המדריך)- חייב להסתיים בהצלחה.
שלב ד: מעבר ל-Mapping Mode (מוסבר בשלב 6 של המדריך)- קריטי!!!
אני בד"כ הייתי משאיר את ה-CCM ממוזער במהלך המשחק.
יש אפשרות להריץ איזשהו utility שיטען אוטומטית את הפרופיל בכל פעם שפותחים פאלקון. לא התעמקתי בזה, מי שמתעניין, שיבדוק בפורום של CH.
שינויים אפשריים:
1.ניתן לשנות את רגישות הבלמים ע"י שינוי המספר 170, למשל אם יש תופעה של לחיצות לא מתוכננות על הבלמים, ניתן לשנות ל-200 ויותר, כך שתידרש לחיצה ארוכה יותר כדי להפעיל את הבלמים. וההיפך אם נדרשת לחיצה ארוכה מידי, אפשר לשנות לנניח 70 שייתן ברקס בלחיצה קלה יותר.
2.אפשר היה להשתמש רק בכפתור וירטואלי אחד, נניח cms.b1, ולוותר על cms.b2 ואז בסקריפט היה מופיע הביטוי:
cms.b1 = js1.a1 OR js1.a2
ואם רוצים שיופעל הברקס רק כששני הדוושות לחוצות אז השורה בסקריפט הייתה צריכה להיות:
cms.b1 = js1.a1 AND js1.a2
3. ניתן היה להגדיר את cms.b2 לא ל-k אלא לפקודה אחרת ואז דוושת שמאל הייתה בולמת(k) אבל דוושת ימין הייתה עושה משהו אחר.. לפי מה שנגדיר לה (נניח פתיחה/סגירה של מעצור אוויר- המקש b)
הערת סיכום:
כל הנושא של בניית פרופילים וכתיבת סקריפטים הוא עולם ומלואו וקובץ Help שלם ו-2 פורומים מוקדשים לו במלואם.
ניסיתי לגעת בקצה הקרחון, ספציפית למשימה מסוימת וצרה רק עם הדוושות.
המדריך הזה מוגש as-is. לא מבטיח תמיכה טכנית עבורו.
בכל אופן במדריך הזה ניסיתי לתת את דחיפת הפתיחה.
מה שצריך לעשות מהשלב הזה הוא קודם כל לקרוא את ה-Help, ובנוסף.
ב-CH-Hangar תחת Forums יש איש תמיכה במשרה מלאה שאמור לפתור בעיות בכתיבת סקריפטים ותיפעול ה-CCM. אם יש בעיות/שאלות הוא הכתובת...
http://www.ch-hangar.com/forum/
הפורומים הרלוואנטים הם:
Programming Forum:
CMS Scripting Forum:
קיים מדריך קליל (Dummies_Guide) לתכנות פרופילים : http://www.ch-hangar.com/531_ghost/Dummies_Guide.pdf
מאד מומלץ להוריד אותו, לקרוא ולעבור עליו כדי לקבל מושג על העקרונות של בניית פרופיל ב-CCM. אין שם מה לקרוא- זה פשוט Tutorial Step-by-Step שמכסה את הכל!!
מקווה שסייעתי במשהו. מולי
נערך בפעם אחרונה על-ידי Muli בתאריך 11:29 ,26 אוקטובר 2008, א', נערך בסך הכל 10 פעמים |
|
חזור למעלה |
|
|
|
|
Iaf_Assaf מנהל ראשי
הצטרף בתאריך: Sep 02, 2006 הודעות: 3448
|
|
חזור למעלה |
|
|
uri_ba טיסות סדירות
הצטרף בתאריך: Sep 17, 2007 הודעות: 4693
|
|
חזור למעלה |
|
|
Muli טיסות סדירות
הצטרף בתאריך: Jan 06, 2008 הודעות: 2989 מיקום: טבעון
|
|
חזור למעלה |
|
|
NIKI טיסות סדירות
הצטרף בתאריך: Mar 17, 2007 הודעות: 29
|
|
חזור למעלה |
|
|
Muli טיסות סדירות
הצטרף בתאריך: Jan 06, 2008 הודעות: 2989 מיקום: טבעון
|
|
חזור למעלה |
|
|
NIKI טיסות סדירות
הצטרף בתאריך: Mar 17, 2007 הודעות: 29
|
|
חזור למעלה |
|
|
|
|
|
אתה לא יכול לשלוח הודעות בפורום זה אתה לא יכול להגיב להודעות בפורום זה אתה לא יכול לערוך את הודעותיך בפורום זה אתה לא יכול למחוק את הודעותיך בפורום זה אתה לא יכול להצביע למשאלים בפורום זה
|
|