אז ככה, אני לא בטוח במאה אחוז, אבל
אנסה.. בכל צנוע מוכן יש כל מיני פונקציות. מה שאתה מבקש נקרא MESH COLLISION שפירושו חישוב התנגשות של שני אובייקטים MESH..(לא בטוח לגבי זה..) כעת, בפונקציה זו אתה בודק עם משתנים נגיד, startline וlineend
If Mesh.Collision(linestart, lineend, TV_TESTTYPE_ACCURATETESTING) = True Then Camera.SetPosition linestart.x, linestart.y, linestart.z Else Camera.SetPosition lineend.x, lineend.y, lineend.z End If
כמובן אתה מגדיר את משתנים האלו בצורה כזאתי:
linestart = Camera.GetPosition - מקבל מיקום התחלתי lineend = Camera.GetPosition- מקבל מיקום סופי
ואז אתה בודק אם Mesh.Collision מתקיים אז עצור בנקודה הנוכחית, אחר תמשיך.. ------------------------------------------------------------- יש צורה אחרת של בדיקה, אם מדובר על גבולות של המפה, הכוונה היא אם אתה לא רוצה שהאובייקט לא תצא מחוץ לגבולות המפה אז אתה עושה מהשהו כזה...
If PosX > 1020 Then PosX = 1020 If PosZ > 1020 Then PosZ = 1020 If PosX < 4 Then PosX = 4 If PosZ < 4 Then PosZ = 4
כלומר אם מפה בגודל של 2024 על 2034- 0 עד 2024 בכיוון אחד ו 0 עד 2024 בכיוון השני (כמו + ) זהו, מקווה שעזרתי.. זה לא מדוייק, כי אני מתכנת בVB וזה מהשהו אחר, אבל העיקרונות הן אותן עיקרונות... בהצלחה.. אז אתה קובע את גבולו וזהו...