Skip to content
jarllarsson edited this page Nov 21, 2012 · 5 revisions

preview

Styrningsprototypen visar styrningsegenskaper, kamerakontrollering samt kollisionshantering.

Styrning

Styrningen av skeppet har sk. "six degrees of freedom", där alla rörelser och rotationer hanteras av fysikmotorn. 6dof

Skeppkollision

Skeppet använder sig förslagsvis av en simpel kollisionssfär med minimal rullning vid krock. Rullning ska undvikas då det ger jobbiga effekter med kameran.

Kamerahantering

Kameran är separat från skeppets hierarki. Relativt till skeppet finns däremot en camera goal samt en camera target. Kameran rör sig kontinuerligt mot sitt goal och roterar mot dess rotation. Som komplement för rotationen appliceras även en lookat mot camera target, detta är mestadels till fördel vid kollision. Kan här antagligen vara möjligt att lösa rotationen på annat sätt.

Kamerakollision

Utifrån kamerans target till kameran så castas ett antal strålar, uppradade längs ett grid.

side

Kamerakollision sett från sidan, med vinklat skepp. Vit stråle är godkänd träff, gul är icke-godkänd träff och röd är miss.

Flera strålar används för att minska clipping i kanter av near view plane, samt för att ha möjlighet att evaluera kollisionen. För nuvarande ignoreras en träff om den endast träffar en 1/8 av strålarna, detta räknas då som ett för litet objekt. Detta för att små objekt mellan kamera och skepp ger upphov till kameratwitchningar när kameran rör på sig och om de inte ignoreras. Dock så kan här komma att behövas fler krav för att korrekt kunna hantera små objekt mellan skepp och kamera, som t.ex. avståndsbedömning och avståndsgrupper(för träffar).

top

Strålarna sett ovanifrån.

Kameran flyttas inåt mot skeppet vid kollision. För att undvika att kameran åker in i skeppets geometri, så har skeppet en kollisionssfär som sträcker sig en bit bakom skeppet och som kameran kan röra sig in i en liten bit. Skeppet stoppas således innan kamerans near plane genomskär dess geometri.

rays

Exempel på hur min-avstånd kameran få ha från skeppet. Notera hur skeppets sfär tar i väggen så att kameran kan undvika att flytta sig närmare.

I prototypen används skeppets vanliga kollisionssfär för detta, men det kan komma att behövas en separat för just denna funktionalitet beroende på hur stor skillnad det blir på hur man vill hantera skeppets och kamerans kollision med omvärlden.

ortho

Vy av kamerakollision

Clone this wiki locally