Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Hjälp med fysik motor till spel.. typ..

Postades av 2004-04-28 23:01:06 - Jon Wesström, i forum java, Tråden har 19 Kommentarer och lästs av 1719 personer

Har tänkt att göra ett spel som ska vara en slags blandning mellan The incredibly machine, elastomania och mulle meck typ :P.. Iaf så tänkte jag att mitt första steg skulle vara att göra en fysik motor.

Har tänkt att göra detta i java då jag har tänkt att använda det på flera olika slags os (linux och pocket pc.. kanske symbian t.o.m.).

Jag är inte så jätte high på java men skulle ändå tro att jag skulle kunna klara av att göra en fysik motor iaf.

Så här har jag tänkt mig den (går i nian så jag har aldrig läst någonting om matematisk fysik):

Man har en variabel (ett tag sedan jag programerade senast så jag kommer inte riktigt ihåg om det heter variabel. I Qbasic tror jag det heter sub nånting..)
som heter tex Gravity.

Gravitys uppgift är att leta efter rigidbodys och sedan få dom att åka neråt. Den gör detta genom att leta efter (jag kallar mitt rigidbody object för låda) lådans gravity parameter.
Under den så står det hur mycket tex en cm av lådans massa väger (detta för att göra det enkelt om man tex sträcker ut olika bilder osv)
När Gravity har hittat lådans gravity parameter så tar den dens vikt * dens massa. på så sätt så räknar den ut hår hårt den ska falla.

När väl lådan träffar en solid object så stannar den upp genom att stutsa (man får även ange saker som tex studs och friktion under lådans gravity parameter).

Det jag har skrivit hittils skulle jag nog kanske kunna klara av själv även om jag är säker på att man inte räknar ut hur fort en sak faller på det sättet.

Det svåra ligger i rotationen på saker. Är lådan lite sne när den faller så kommer den inte vara still för en den ligger med en hel kant mot marken.

Det är det som jag inte har någon aning om hur man ska göra.

Så frågan är alltså: hur låter det som jag beskrivit hittils skulle det fungera, hur fixar man rotationer på olika saker och nån som vet något bra exempel på nåt liknande? gärna nåt jag kan öppna och titta på i notepad då det är det jag kör med ;)..

Är det någon som vet nåt bra program att programera i java med förrsten?


Svara

Sv: Hjälp med fysik motor till spel.. typ..

Postades av 2004-04-29 00:28:49 - Oskar Johansson

Ujujuj, det där är avancerat ;) Jag har dock en känsla av att det här hör till Nicklas J:s favoritämne: matematik!

För det första är t.ex. en enkel rotation hyffsat jobbig, särskilt om den ska flyta på bra. Att sedan räkna ut en massa annan fysik på snurrande saker är ännu värre :)

Jag skulle nog tippa på att du sänker ambitionsnivån en aning, testa att skriva en motor utan något snurrande först. Det blir en himla massa annat att ta i beräkning sedan nämligen... :/


Svara

Sv: Hjälp med fysik motor till spel.. typ..

Postades av 2004-04-29 18:12:58 - Niklas Jansson

Ni<b>k</b>las, om jag får be! =)

Jo, jag är ganska övertygad om att du har tagit dig vatten över huvudet, inte för att jag inte tror på din förmåga, utan på att det är ett ganska tungt projekt att börja med om man varken är speciellt van vid mekanik (det är det du pratar om) eller programmering.

Med tanke på att du skriver "vikt*massa" så är det nog bäst att du skaffar en bra bok i nybörjarmekanik och lär dig det ordentligt först. Tyvärr är det inte så lätt, eftersom du troligtvis kommer behöva vektorer, och då måste du lära dig linjär algebra först...

Är grymt trött just nu, så jag orkar inte skriva någon förklaring, men om du verkligen är säker på att du vill försöka dig på det, så kan jag ge lite tips om vad du bör göra.


Svara

Sv: Hjälp med fysik motor till spel.. typ..

Postades av 2004-04-29 18:22:49 - Oskar Johansson

Förlåt, jag ska aldrig stava fel till Nikl<b>o</b>s igen :-)


Svara

Sv: Hjälp med fysik motor till spel.. typ..

Postades av 2004-04-29 18:30:28 - Jon Wesström

Okej, kan tänkta mig det. ambitionen är att göra en motor som ska fungera i ett incredible machine liknande spel (kom på att min första idee inte var så bra).
Kan tänka mig att rotationer är svårt då mina tidigare försök har vart rätt misslyckade. Men om man skippar rotationer och skulle göra ett enkelt flipper spel som test bara för fysiken (så att kulan studsar korrekt från olika vinklar) skulle det kunna vara rätt enkelt då?

EDIT: ifall nån undrade så ska den bara vara 2d


Svara

Sv: Hjälp med fysik motor till spel.. typ..

Postades av 2004-04-29 18:37:11 - Niklas Jansson

Då börjar du närma dig en lämpligare nivå, den mekaniken är förhållandevis lätt.
Det som är krångligt är
1. Mekaniken hos studsar (de kan nämligen vara olinjära, men det är nog ganska lugnt)
2. Kollisionsdetektering - inte så besvärligt, men det är lätt att tänka fel.
3. Eventuella "flipprar". Där har du den jobbigaste biten, men den delen kan du ju strunta i först.


Svara

Sv: Hjälp med fysik motor till spel.. typ..

Postades av 2004-04-29 18:40:49 - Oskar Johansson

Kollisionsdetektering är rätt intressant, teorin bakom är ju tämligen lätt men att få lite fart på det i praktiken verkar jobbigt. Så... Jag har en fundigering på om man inte gör så att man delar upp spelytan i ganska stora bitar och sedan varje gång ett objekt ändras på något sätt kontrollerar att objektet finns representerat i alla de bitar där objektet gör intrång. På så sätt borde ju man kunna begränsa sin sökning, eller hur? Eller tänker jag fel där?


Svara

Sv: Hjälp med fysik motor till spel.. typ..

Postades av 2004-04-29 18:57:38 - Niklas Jansson

Nej, det är den naturliga och vanligaste metoden.
Sen använder man en ganska enkel princip för att inte få "glapp" i rörelsen:
Man har hela tiden en vektor eller två tal som beskriver "nästa steg"; typ xstep, ystep. Sen kollar man vilka rutor kulan kan tänkas passera under detta enstaka steget (oftast bara en, därför kan man ha ganska små rutor).
Sen tar man reda på om en studs sker, och i så fall mot vilken yta.

När man är helt klar på det så kan man beräkna hur mycket kulan skulle ha rört sig utan hinder, och utifrån det räkna ut hur långt ut den ska åka.


Svara

Sv: Hjälp med fysik motor till spel.. typ..

Postades av 2004-04-29 18:58:51 - Jon Wesström

Japp, flipprarna kan man skita i bara man får själva fysiken.
Tex så skulle man ju kunna göra en liten kul bana eller liknande. Kollision är ganska svårt det med, har bara gjort det en gång i ett platforms spel jag gjorde i qbasic. Gjorde den med ascii och gick till såhär:

jag kallar gubben man står "G" och marken "."

Principen var att om "G" var på en punkt (kommer inte riktigt ihåg hur jag fick den att veta det) så gick den till den raden den var innan punkten.
Alltså ungefär såhär: If "G" = row "." then row $gammal (då gammal är vart han var steget innan)

Men nu är det ju java som gäller. Så är det någon som vet nån bra guide, eller nåt bra kod exempel på fysik eller kollitionsdektering (jag kommer att använda mig av sprites å inte vektorer)


Svara

Sv: Hjälp med fysik motor till spel.. typ..

Postades av 2004-04-29 19:09:19 - Niklas Jansson

>(jag kommer att använda mig av sprites å inte vektorer)
Du missförstår vad vektorer är, en vektor är ett av matematikens mest fundamentala begrepp, du kommer behöva det när du gör något mer avancerat.

Och angående kollisioner - som sagt, det är betydligt krångligare i en vettig grafisk miljö. Men jag orkar inte börja förklara hur kulan ska röra sig just nu. Jag kan säga så här; du behöver veta följande saker om kulan:
Kulans position
Kulans hastighet
Kulans acceleration, vanligtvis "g", men i datorvärlden spelar det ingen roll.

Sen måste du hålla reda på alla olika kanter kulan kan studsa mot, dvs slutpunkt och startpunkt.


Svara

Sv: Hjälp med fysik motor till spel.. typ..

Postades av 2004-04-29 19:31:17 - Jon Wesström

jo, man får ju ha vektorer som utför själva fysiken. Men sen borde man la kunna göra dom onsynliga och lägga en sprite över den.

Hastigheten på kulan är la ondödig om den inte ska studsa? accelration med va?
Men iaf nån som vet nån bra kod som man kan kika på för det? eller nån tutorial?

Sen så finns det något bra vertyg som förenklar att skriva i java eller är det bara notepad som gäller?


Svara

Sv: Hjälp med fysik motor till spel.. typ..

Postades av 2004-04-29 19:47:56 - Niklas Jansson

=)
Du missförstår fortfarande vad en vektor är. Du kan tänka på en vektor som ett tal, fast med riktning. Se det som en pil, t.ex.
Du kan beskriva en vektor antingen med en vinkel och längd (en vektor med längden 3 och vinkeln 35 grader), eller som en x- och en y-koordinat (en vektor med x-komponent 3 och y-komponent 4).

Man kan använda en vektor för att beskriva en position, eller en hastighet, etc.

Sen att du har en grafisk representation är en helt annan grej, det har inget med det att göra.

>Hastigheten på kulan är la ondödig om den inte ska studsa? accelration med va?
Nej, position och hastighet är direkt nödvändiga. Acceleration brukar vara konstant och bara riktad i y-riktningen.

>Sen så finns det något bra vertyg som förenklar att skriva i java eller är det bara notepad som gäller?
När jag gick en kurs i Java tipsades vi om "Grasp", men det finns förmodligen bättre. Sök på google eller download.com


Svara

Sv: Hjälp med fysik motor till spel.. typ..

Postades av 2004-04-29 20:40:53 - Robert Sky

>Tips på bra verktyg.

hela utvecklingsmiljöer:
Eclipse www.eclipse.org
Netbeans www.netbeans.org <- använder jag själv.
JBuilder www.borland.com

Enklare editors med highlightning:
EditPlus www.editplus.com
UltraEdit www.ultraedit.com
JpadPro http://www.modelworks.com


Svara

Sv: Hjälp med fysik motor till spel.. typ..

Postades av 2004-04-29 21:30:52 - Jon Wesström

Tack.. Men ingen som vet några exempel koder eller guider för fysik eller kollitioner?


Svara

Sv: Hjälp med fysik motor till spel.. typ..

Postades av 2004-04-29 21:58:02 - Niklas Jansson

Den här verkar vettig:
http://www.physicsclassroom.com/Class/1DKin/1DKinTOC.html

Här lär du ju hitta något:
http://www.google.se/search?q=collision+detection&ie=UTF-8&oe=UTF-8&hl=sv&btnG=Google-s%C3%B6kning&meta=

annars kan jag återkomma och förklara lite noggrannare.


Svara

Sv: Hjälp med fysik motor till spel.. typ..

Postades av 2004-04-30 17:05:38 - Jon Wesström

Ok tack, http://www.physicsclassroom.com var användbar men det första jag måste greja är ju kollitionsdektering vilket jag inte hittade nåt om..
Nån som vet nåt mer?


Svara

Sv: Hjälp med fysik motor till spel.. typ..

Postades av 2004-04-30 19:09:16 - Patrik Dahlén

Du kan ju börja med att kolla in google sökningen som Niklas skickade med och gå igenom de länkarna. Finns mycket där.

/pD
www.pdc.se
www.pdc.se/blog
www.patrik-dahlen.nu


Svara

Sv: Hjälp med fysik motor till spel.. typ..

Postades av 2004-05-01 12:56:18 - Jon Wesström

hittade dock inget på dom länkarna


Svara

Sv: Hjälp med fysik motor till spel.. typ..

Postades av 2004-05-01 16:30:00 - Niklas Jansson

Okej, men vi gör så här istället: börja du med att skriva programmet och återkom sen när du får problem. Jag har redan sagt vad det är du behöver. Vid varje tidssteg så sker följande:

1. Positionen förändras. x=gamla x + tidssteg*hastighet i x-led och motsvarande för y
2. Hastigheten förändras. Hastigheten i y-led=gamla hastigheten - gravitation*tidssteg.

Fixar du inte det tror jag att du bör satsa på lite mer grundläggande programmering först.


Svara

Sv: Hjälp med fysik motor till spel.. typ..

Postades av 2004-05-01 17:29:19 - Jon Wesström

ok..


Svara

Nyligen

  • 14:16 Indian online casino
  • 14:15 Indian online casino
  • 08:28 Butiksskyltar: Hur upplever utbude
  • 22:31 Slappna av
  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 844
27 961
271 763
606
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies