Table of Contents
ארכיון התגים: Rigid Body Simulation
דינמיקת הגוף השגרתית היא אבן הפינה של סימולציה של הפיזיקה במציאות מדומה (VR) בניגוד לגופים הניתנים לעיוות או רכים, גופים נוקשים שומרים על מרחקים קבועים בין נקודותיהם, אשר מפחיתה באופן דרסטי מורכבות חישובית.נכס זה הופך אותם לפשטות האידיאלית עבור סביבות אינטראקטיביות בזמן אמת שבו עצלות נמוכה ושיעורי מסגרת גבוהה אינם ניתנים להשגה.
הליבה של כל סימולציה גוף נוקשה היא שילוב של מכניקה ניוטון לאורך זמן.כל אובייקט מאופיין על ידי עמדה, אוריינטציה, מהירות ליניארית, מהירות זוויתית, מסה, ורגע של אינרציה. כוחות ו torques החל הגוף לייצר שינויים במדינות אלה באמצעות החוק השני של ניוטון ואת האנלוגיה הסבבית שלו.
הבחנה מרכזית בסימולציה VR היא שהמשתמש הוא משתתף פעיל, לא צופה פסיבי.זה אומר שמנוע הפיזיקה חייב להתמודד עם אינטראקציה רציפה: לתפוס חפצים, לזרוק אותם, לערעור אותם, או להשתמש בהם ככלי.הנאמנות של הסימולציה משפיעה ישירות על תחושת נוכחות והתגלמות. קוביה פשוטה שלא מתנהגת כמצופה - למשל, מחוספסת במקום כשדחת טיפ - יכול להזיז לגמרי.
ייצוג מתמטי של גופים ריגיד
מערכות קו-תאמת וטרנספורמציות
כל גוף נוקשה בסימולציה VR מתואר על ידי ממטריקס טרנספורמציה עולמית אשר מקודמת את התרגום והסיבוב שלו.בעוד המיקום הוא פשוט (a 3D וקטור דורש טיפול מיוחד. Euler זוויות משמשות לעתים קרובות עבור ממשק אנושי אבל סובל ממנעולים gimbal ובעיות בינפולציה. במערכות ייצור VR, FLT:0quaternionssures 1FLT1 משמשים כי הם מספקים, בין השאר, לבין מהירות יעילה לפירוק אוטומטי של תרכובת של חומרים.
הרגע של עקרות אינרציה מיוצג גם בגוף ו-#8217; המסגרת המקומית.עבור פרימיטיביות נפוצה (ספירה, קופסה, גלילינדר), נוסחאות אנליטיות קיימות.עבור מברשות שרירותיות, ה-Inertia Tenor הוא מלוכד לא מקוון מה- mesh ’ נפח ו- vertex נתונים. An מדויק inertiaor הוא קריטי עבור תגובה נכונה - ארוך מאוד זהה של קוהרנטיה שונה לחלוטין.
המונחים: Motion
מצב גוף נוקשה נשלט על ידי שתי משוואות שונות:
- (ב) ויקרא י"ד:2 ויקרא:2 ויקרא יט): "וַיָּבְהִיא עַל עַל הָאָרֶץ אֱלֹהִים" (בראשית כ"ד)
- (ב) [[1924]]]]]] [[1924]]]]]] [[1924]]]]]]]] [[1924]]]]]]]] [[1924]]]]]]]] [[1924]]]]]]]]]]]]]]]]]] [[1924]]]]]]]]]]]]]]]], [[1924]]]]]]]]]], [[1924]]]]]], [[1924]]]]]]]], [[1924]]]]]]]]]], [[1924]]
משוואות אלה נפתרות באופן מספר פעמים בכל שלב.בחירה של תוכנית אינטגרציה משפיעה ישירות על יציבות, דיוק וביצועים.
שיטות אינטגרציה נומריות ל-Real-Time VR
VR דורש לולאות סימולציה לרוץ לפחות 72-90 עדכונים לשנייה.שיטות אינטגרציה פשוטות יותר מועדות כי הן זולות חישובי, אבל הן יכולות להיות בלתי יציבות תחת כוחות נוקשים (מעגלים, התנגשות) או מדרגות זמן גדולות.
שתף פעולה
האינטגרטור הפשוט ביותר.זה מעדכן מהירות ומיקום באמצעות הנוגזר הנוכחי.בעוד מהיר, הוא רק סדר ראשון מדויק ואינו משמר אנרגיה - מערכות נוטות להרוויח או לאבד אנרגיה באופן מלאכותי, המוביל לפיצוצים או להילוך לחות.זה רק לעתים רחוקות בשימוש לבד; במקום זאת הוא מופיע בלולאות חיזוי או בשילוב עם משככי כאבים לחבק.
סימפטקטי אוילר (Semi-Implicit Euler)
גרסה המעדכנת את המהירות הראשונה, ואז משתמשת במהירות החדשה כדי לעדכן את המיקום. שיטה זו שומרת אנרגיה הרבה יותר טוב מאשר מפורש אוילר עבור מערכות מכניות רבות. רבים קל משקל VR מנועים (למשל, Unity ’s PhysX, Godot & #8217;s Bullet) להשתמש ב-Ssymple Euler כ- integrator ברירת המחדל כי זה מספק איזון טוב של ביצועים.
אינטגרציה
פופולרי עבור מערכות חלקיקים ומגבלות פשוטות, העדכונים של אינטגרציה אינטגרציה מיקום ישירות משתי המיקומים הקודמים.זה בסדר שני מדויק ויציב מאוד עבור מערכות עם כוחות קבועים.עם זאת, זה לא מטפל בדינמיקה רוטאלית היטב, כך שהוא לעתים קרובות מוגבל לפיזיקה מבוססת נקודה או בשימוש בשילוב עם שילוב נפרד angular.
שיטות ריצה-כוטה (RK4)
שיטות סדר גבוהות יותר כמו RK4 לספק דיוק טוב יותר בשלב על ידי הערכת הנגזרה בנקודות ביניים מרובות.הם נפוצים בסימולציה לא מקוונת ויישומים הכשרה גבוהה VR שבו הדיוק חשוב יותר מאשר מהירות גולמית.העלות החישובית הנוספת (ארבע הערכות כוחיות לכל שלב) יכול להיות מוצדק כאשר סימולטור משימות איסוף דיוק או מעבדות פיזיקה חינוכיות.
עבור רוב יישומי VR צרכניים, טרשת נפוצה של זמן קבוע אוילר עם תת-צעד להתנגשות (2-4 substeps למסגרת) מציעה את הטוב ביותר המסחר-off.מנוע הפיזיקה שומר על השעון הפנימי שלו, מתמוסס מקצב המסגרת של הגשה, כדי להבטיח עדכונים יציבים גם כאשר הקצב טיפות.
זיהוי ותגובה
זיהוי קולי הוא החלק העוצמתי ביותר של דינמיקת גוף נוקשה ב VR.הוא פורץ לשני שלבים: רחבצה וצמצום.
גילוי רחב של Broadphase Collision
ההתרחבות מזהה במהירות אילו זוגות של אובייקטים עשויים להיות מתואמים.אלגוריתמים נפוצים כוללים אלגוריתמים גורפים וגלוחים (SAP) לאורך כל ציר, מרחבי ישינג, ועצי נפח היררכיים (BVHs, לעתים קרובות עצי AABB) בסצנות VR עם מאות אובייקטים, הphase הרחב בדרך כלל צורכת 10-20% מסך כל מנועי הפיזיקה המודרניים משתמשים ביישומים מרובים-מוגדריים לשימוש בתאים סצנות של SIMD או אופטימיזציה.
גילוי דעת Narrowphase Collision
ברגע שזוגות מועמדים מזוהים, נקודות מגע מדויקות, נורמלים ומעמקי חדירה. עבור צורות convex (boxes, תחומים, קפסולות, צינורות, משחות, זכיני מין), האלגוריתם גילברט-ג'ונסון-Keerthi (GJK) בשילוב עם הרחבת הפוליטופים Algorithm (EPA) הוא סטנדרטי. for convex , אובייקטים מפוסקים לתוך שדות אדאונדקס (S) הם בדרך כלל התנגשויות, כמו Ix) הם בדרך כלל, כמו לימיים, או התנגשויות התנגשויות התנגשויות , הם התנגשויות התנגשויות , הם , כמו , הם התנגשויות התנגשויות , כמו , בדרך כלל התנגשויות , כמו התנגשויות , או , הם התנגשויות התנגשויות , או התנגשויות התנגשויות , הם , בדרך כלל התנגשויות , הם , הם , כמו , בדרך כלל התנגשויות התנגשויות התנגשויות , בדרך כלל התנגשויות התנגשויות , כמו התנגשויות , כמו התנגשויות התנגשויות , הם התנגשויות התנגשויות התנגשויות , הם התנגשויות התנגשויות התנגשויות התנגשויות התנגשויות התנגשויות , הם , הם , הם
החלטה
לאחר מגעים נמצאים, המנוע חייב לפתור אותם על ידי יישום דחפים או כוחות המונעים אינטרנציורציה.קיימות שתי גישות עיקריות:
- (FLT:0) שיטות עתירות: FLT:1hil החל את כוחות דגימה באביב ביחס לחדירה לעומק.פשוט ליישם אך דורש כוונון זהיר כדי להימנע מפיצות או נוקשות.
- (FLT:0) שיטות מבוססות-הפנפול: ההרחבה 1 (השינויים המיידיים במהירות המספקים את ה- non-penetration מגבילה בדיוק.זוהי הגישה הסטנדרטית במנועי הפיזיקה המודרניים (למשל, קליע, PhysX) היא משתמשת בפתרון מגבילה כי היא מתאמת את כל נקודות המגע (בדרך כלל 4-10) לפתרון התכנסות.
ב VR, פותר מגע חייב גם להתמודד עם חיכוך.מודל החיכוך הקולומולב נפוץ ביותר, עם התאמות סטטיות וקנטיות נפרדות.חיכוך נכון חיוני לערעור ריאלי, לנפיחות ולתפיסת התנהגויות.
התנגשויות ופרקטים ב- VR Interactions
מעבר להתנגשות פשוטות, אינטראקציות VR דורשות לעתים קרובות מגבלות המגבלה את דרגות החופש.
- (ב) ,0) ,5 ,5 , ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
- (ב) ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
- (ב) ⁇ (ב"ב) ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
- (ב) ,0) ,(ה) ,(ה) ,לקבל את החפץ המתקיים במרחק קבוע מן היד).
(הופנה מהדף קונסולת הרפורמות (הכוללות) הן טיפוליות של אותו פתרון התנגשויות (כל משוואה מעצירת מוסיף מצב נוסף שיש למלא (למשל, מהירות יחסית לאורך ציר מסוים חייבת להיות אפס) המפת את המהירויות כדי לענות על כל המגבלות בו-זמנית.עבור VR, זה נפוץ להשתמש בפתר אימפולסיבית שתהליכים וקשרים ב-one, כמו לולאה 3DVDVID:
מכניקת גרב תובענית במיוחד.כאשר משתמש אוסף אובייקט, המנוע חייב ליצור מעצור זמני בין היד (לעתים קרובות הבקר המעוקב) לבין האובייקט.המנע חייב להיות נוקשה מספיק כדי למנוע lag חזותי אבל לא כל כך נוקשה כי הסימולציה הופכת לבלתי יציבה כאשר המשתמש נע במהירות. - SDKs רבים ליישם זאת עם הפיכה וירטואלית דמוית מעיינות כי מסננים במהירות גבוהה של תנועה יד.
יעילות ואופטימיזציה של ביצועים
סימולציות של הפיזיקה של VR חייבות לרוץ בקצבי מסגרת גבוהים ללא גלידות.טכניקות רבות מועסקות כדי לשמור על יציבות:
שינה
אובייקטים שהיו יציבים לזמן קצר (הגירה מתחת לסף) מסומנים כמו שינה.עדכוני הפיזיקה שלהם מלגלגים עד שחפץ פעיל מתנגשים איתם או כוח מוחל.זה יכול להפחית באופן דרמטי את מספר הגופים הפעילים בסצינה, במיוחד באימונים המבוססים על סימולציה שבו חפצים רבים יושבים idle.
זיהוי מתמיד (CCD)
אובייקטים מהירים כמו כלים או לוחות מושלכים יכולים לעבור דרך קירות דקים בשלב זמן אחד (משחררים) CCD גורף את האובייקט & #8217; צורה לאורך נתיב התנועה שלה כדי לזהות התנגשויות בעמדות ביניים. ב VR, CCD הוא מוגבל עבור רוב האובייקטים וניתן רק עבור אובייקטים מהירים גבוהים כדי לחסוך ביצועים.
צעד זמן קבוע ומשתנה
במקום לקשור את סימולציה הפיזיקה לקצב המסגרות משתנה, המנועים מפעילים את הסימולציה בשלב קבוע (למשל, 1/120s) אם מסגרת ההנעה נמשכת יותר, מנוע הפיזיקה פועל מספר שלבים כדי לשמור על העולם בסנכרון.
Multi-thread ו- SIMD
סימולציה גוף ריגיד היא מקבילה מאוד.גילוי התנגשות Broadphase יכול להיות מבוזר על פני חוטים מרובים.מפתור ההקצאה יכול גם להיות מקביל באמצעות טכניקות כגון חסימה Gauss-Seidel או Jacobi שיטות.מנועי פיזיקה מודרניים למנף הוראות SIMD (SSE, AVX) כדי לעבד ארבעה נקודות מגע בו זמנית על מכשירים ניידים VR, GPU le ulrs משמשים יותר ויותר להתנגשות וזיהוי עבור CPU עבור אינטגרציה.
יישומים של Rigid Body Dynamics ב VR
העקרונות המתוארים לעיל אינם רק אקדמיים – הם חווים חוויות VR בעולם האמיתי על פני תחומים מרובים:
אימון וסימציה
ממבצע מכונות כבד לאימון כירורגי, דינמיקת גוף נוקשה מדויקת מאפשרת למאמנים לתקשר עם ציוד וירטואלי שפועל באופן מציאותי.עריץ יגיב כראוי ל- torque, חלק נופל יקפוץ, ופריטים מחסנים יקודמו עם פיזיקה סבירה.
משחקים ו Entertainment
משחקי VR צרכניים מסתמכים מאוד על פיזיקה נוקשה של גוף עבור פאזלים, לחימה ואינטראקציות סביבתיות.כותרת כמו FLT:0 [Half-Life: AlyxibFLT:1 ו-FLT:2BoneworksF3LT: להראות כיצד פיזיקה תגובתית יכולה ליצור משחק יוצא דופן.
אדריכלות ועיצוב
מסלולי VR כוללים לעתים קרובות אובייקטים הניתנים לפיזיקה: דלתות פתיחה, משיכת ממושכות, או ריהוט נעים.אינטראקציות אלה עוזרות לאדריכלים וללקוחות להבין מערכות יחסים מרחביות וארגונומיה.דינמיקה פשוטה של גוף נוקשה מספיק עבור מקרים אלה, אבל הם חייבים לרוץ בצורה חלקה אפילו על חומרה נמוכה יותר.
חינוך ותקשורת מדע
מעבדות וירטואליות מאפשרות לתלמידים להתנסות עם פיזיקה ללא סיכון.סילוק של עטום, מיזם או סולם איזון דורש את כל המרכיבים של דינמיקת גוף נוקשה: מסה מדויקת, אינרציה, התנגשות ומגבלות.היכולת להקפיא זמן, לשנות כוח הכבידה, או כוח חזותי הופך את VR כלי הוראה שאין כמוהו עבור מושגים פיזיקה.
כיוונים עתידיים
בעוד דינמיקת גוף נוקשה בוגרת, כמה אזורים מתפתחים באופן פעיל עבור VR:
- (FLT:0GPU-accelerated Physics:cioFLT:1 סימולציה גוף קשיחה מבוססת GPU עולה, ומאפשר אלפי גופים אינטראקציה בזמן אמת.זה יאפשר הרס בקנה מידה גדול והריסות בתרחישים אימונים.
- (FLT:0) סימולציה של Hybrid:FLT:1ir משלב גופים נוקשים עם גוף רך דינמיק נוזל עבור סביבות מציאותיות יותר - לדוגמה, סירה נוקשה צף על פני המים מפורשים.
- (FLT:0) למידה של פיזיקה:FLT:1, רשתות ניאל יכולות ללמוד מודלים פשוטים של אינטראקציות מורכבות (למשל, חומר גרפי או עיוות) כי הם זולים יותר חישובית מאשר שיטות מסורתיות, המאפשרים סימולציה בזמן אמת של חול או אינטראקציה עם גופים קשיחים.
- (FLT:0) שילוב Haptic: 1 כפי כפפות אפילטיות ואפרים הופכים למיינסטרים, מנוע הפיזיקה חייב להתפזר לא רק מצב חזותי אלא גם לכפות אותות משוב התואמים את המגעים והמגבלות המדומים.
מסקנה
מודלים של דינמיקות של גופים קשיחים הוא סלע של סימולציות VR .מקרנות מתמטיות של מכניקה ניוטון ו אוריינטציה quaternion למציאות ההנדסה של גילוי התנגשות, פתרון מעצורים, אופטימיזציה ביצועים, כל היבט נועד לספק חוויה חלקה, משכנע. כמו VR ממשיך להתקדם ומנועי פיזיקה להיות מתוחכם יותר, הקו בין אינטראקציה וירטואלית ומציאותית אמיתית פיזיקל עוד, מטושטש אפשרויות חדשות, בידור, ואימון מדעי.