Hej hej (Detta har jag även skickat via i-mail) Jag har fått tanken att röra sig framåt bakåt och så. helvete... nu skrev jag ett långt svar och så försvann det... jag återkommer när jag fått tillbaka humöret gör så! Uppskattar verkligen att någon orkar svara på vad jag skriver... Okej. Jo jag fattar, du får gärna fortsätta om du vill :)Pitch and roll
Har försökt få en pannsarvagn att röra sig efter marken som en riktig vagn skulle ha gjort. Detta (pitch and roll) har jag letat förjävels över nätet utan att finna något som beskriver det.
SÅ någon som har hemsida, artikel eller tutorial att vänta sig till för att fatta hur det ska göras?
Många kramar små blir en stor bamsekram // R-mus
P.s Språk spelar ingen roll, bara matematiken och principen jag söker. Gör det dock i c++ D.sSv: Pitch and roll
Standardprincipen är att du har ett "referensobjekt", i ditt fall marken som jag förstod det?
Sen har du en punkt på denna som är din referenspunkt, lämpligtvis den punkt du roterar runt om du har en sån punkt som är fix.
Det första du måste göra är att ge båda objekten samma rotation i alla tre axlarna.Sv: Pitch and roll
Problemet ligger i att när den åker upp för en kulle så ser det ut som den åker hiss.
Vad jag vill är att den ska luta sig som marken gör helt enkelt (fast helt enkelt är det inte :)).
Det du sa är ju bra å så, men funkar det så bra på mark? då roterar man ju inte ett objekt på samma sätt som annars.
I morron är det fredag... igen // R-musSv: Pitch and roll
Sv: Pitch and roll
Nu är det dax att sössa, natti natti // R-musSv: Pitch and roll
Det första du måste bestämma är hur noggrann du vill vara. Ju noggrannare, desto svårare och längre exekveringstid, men det blir snyggare.
En rimlig förenkling är att bara bry sig om de fyra "bottenpunkterna" på tanken, och säga att bottenplattan är helt slät.
Tänk dig nu att du gör upp på ett litet gupp. Först kommer vagnen vara helt horisontell, inga problem. Sen börjar den åka uppför guppet. Eftersom bakdelen på vagnen då är kvar på höjden 0, men framdelen är högre upp så kommer det bildas en vinkel alpha mot marken.
Därför kommer vagnen vara ovanför marken i mitten. Det är inget konstigt, så fungerar det ju.
Problemet är när vagnen har kört över det lilla guppet med framdelen. Det mest realistiska är naturligtvis att det då är en lite större vinkel, och att framdelen "skjuter ut" efter guppet. (Hade försökt mig på lite ASCII-art om jag hade kommit på ett vettigt sätt att göra det på.)
Om du väljer ett lite mindre realistiskt sätt så kan du kolla på hörnpunkterna, men då kan det se ut som tanken "kör igenom" gupp. Vill du göra det realistiskt så är det definitivt krångligare. Då får du bestämma en startpunkt och kolla hur marken ser ut. Sen bör du titta på tyngdpunkten för att räkna ut om vagnen faller åt något håll. Vet faktiskt inte hur de gör det i "riktiga" spel.
Den enklare metoden går till något sånt här (med ytterligare förenkling):
Kalla tankens längd L, och vinkeln mot planet alpha.
Börja med de två bakre punkterna och kolla sträckan L i körriktningen. Kalla de två punkterna A och B. Sen kollar du höjden på marken ovanför A och B.
Kolla hur stor höjdskillnaden är mellan den högsta höjden av A och B, och den högsta mellan de bakre punkterna. Om den skillnaden är liten i förhållande till L så får du fram vinkeln genom arctan({högsta höjden av A och B} - {högsta höjden på de bakre}).
(du får själv testa dig fram hur mycket det kan vara utan att va fult)
Kolla om du hajar nåt av det jag skrivit, och försök få det att fungera. Så jävla trött- orkar inte skriva fortsättningen. Om du får detta att fungera så kan jag skriva en fortsättning.Sv: Pitch and roll
Ända jag snurrar bort mig på är hur matematiken ska se ut, måste ju räkna ut vinkeln som ska avändas på nåt sätt. Blir till att använda sina trigometri kunskaper... :)
Snart är min server formaterad och klar *jippi* // R-mus