Spill og fysikkmotorer

Fra Åpen sone for eksperimentell informatikk
Gå til: navigasjon, søk


Spill og fysikkmotorer
Bilde tekst
Bilde tekst
Tittel Spill og fysikkmotorer
Dato 09.03.12. Klokken 14:15
Sted Åpen Sone (Ada)
Ansvar Andreas Nakkerud

Spill og fysikkmotorer: Vordende virkelighet i vår virtuelle verden

Føler du at spillene dine mangler realisme? Da kan en god fysikkmotor være noe for deg! Lær hvordan fall, fjærkrefter og tyngdekraft enkelt kan simuleres i dine spill og opplev en eksplosjon av virkelighet utfolde seg i din virtuelle verden.

Kurset forutsetter at deltakerene behersker et valgfritt programmeringsspråk. Mulighet for enkel, live visualisering av resultater er en stor fordel. Processing er et godt alternativ. Kurset krever ingen bakgrunn i matematikk eller fysikk.

Eksempel kode

Etter foredraget ble det holdt en liten workshop, og da lagde kyrrehe dette lille programmet. Kopier koden og lim den inn i Processing.

int sw = 1600, sh = 1000, bw = 5, bh = 14;
void setup() {
  size(sw, sh);
  frameRate(60);
}
float dt = 1; 
float L = 0, C = 0.001, g = 0.05;
float x = 0, y = 5; 
float vx = 2, vy = 3;
 
void draw() {
  //background(1); legg til for å ikke lage en "stripe" av bokser
  float v = sqrt(vx*vx+vy*vy);    
  float ax = -C*L*v*vx;
  float ay = -C*L*v*vy - g;
  vx += ax * dt;
  vy += ay * dt;
  x += vx * dt;
  y += vy * dt;
  rect(x, ((sh - bh) - y), bw, bh);
 
  if(y < 0) {
    y = 0;
    vy *= -1.6;
  }
  if(y > sh) {
    y = 1000 - bh;
    vy = 3;
    vy *= -1.6;
  }
 
  if(x < 0) {
    x = 0;
    vx *= -1.6;
  }
  if(x > sw) {
    x =  sw - bw;
    vx *= -1.6;
  }
}

Filer

Spill og fysikkmotorer.pdf

Personlige verktøy

Varianter
Handlinger
Navigasjon
Kategorier
Verktøy