Physikproblem[gelöst]

Übersicht BlitzBasic Blitz3D

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen

 

TwentyEight28

Betreff: Physikproblem[gelöst]

BeitragSa, März 21, 2009 17:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Mahlzeit an alle. Mein erster Besuch hier im Forum freut mich euch kennen zu lernen Wink .

Folgendes Szenario.
Ich hab ein Plane erstellt und habe im grunde 3 Würfel. den einen würfel kann ich mit der Maus und den Pfeiltasten bewegen einwandfrei. Kamera passt auch (Danke an die Tut Leute sind echt gute Anregungen drin) .

So jetzt würd ich gern das:
(1) mein Klotz am Boden bleibt (mache alles mit Klötzen um erst mal hinter das Prinzip zu steigen Wink ) und nicht fliegt wie ein Ufo und
(2) ein anderer Klotz auf einen weiteren Klotz aus der Luft nach unten fällt...

hab da auch schonmal was vorbereitet.. Ich habs durch 2 geteilt weils mit diesem integrierten Physik Ding für den runterfallenden Klotz nicht funktioniert aber ohne..


EDIT___________________

Für alle dies interessiert. Hier ein Prog mit freundlicher Hilfe von hectic, noobody und nicht zuletzt toeb =) . Besonderen Dank für der Erklärungen und Verbesserungen..

Ist ein Generator der Kugeln generiert welche auf eine Platte fallen, hochspringen und schließlich gelöscht werden... wers brauch guten hunger...


Code: [AUSKLAPPEN]

Graphics3D  800,600,32,2


SetBuffer BackBuffer()
timer = CreateTimer(50)




;Physik_______________
Global counter

Global camera_damping#=0.5
Const time# = 0.8
Const gravity_x#=0
Const gravity_y#=-0.1
Const gravity_z#=0


lane=CreatePlane()
MoveEntity lane,0,0,0
EntityColor lane,0,0,128
EntityType lane,2


camera=CreateCamera()

   
light=CreateLight()
RotateEntity light,90,0,0

cube=CreateCube()
MoveEntity cube,3,3,10
camera_pivot=CreatePivot(cube)
PositionEntity camera_pivot,0,0,-15


Type ball

 Field farbe#
 Field grosse#
 Field speed_x#
 Field speed_y#
 Field speed_z#
 Field ball_x#
 Field ball_y#
 Field ball_z#
 Field acc_x#
 Field acc_y#
 Field acc_z#
 Field mesh
 Field prall

End Type


;main  schleife -------------------------
While Not KeyHit(1)
   Cls
   
 
cam_x#=EntityX(camera)
cam_y#=EntityY(camera)
cam_z#=EntityZ(camera)
cube_x#=EntityX(cube)
cube_y#=EntityY(cube)
cube_z#=EntityZ(cube)
piv_x#=EntityX(camera_pivot,1)
piv_y#=EntityY(camera_pivot,1)
piv_z#=EntityZ(camera_pivot,1)
move_x#=(piv_x#-cam_x#)*camera_damping#
move_y#=(piv_y#-cam_y#)*camera_damping#
move_z#=(piv_z#-cam_z#)*camera_damping#
   
mxs=MouseXSpeed()
mys=MouseYSpeed()
 
TurnEntity cube,mys/5,-mxs/5,0
RotateEntity cube,EntityPitch(cube),EntityYaw(cube),0
   
TranslateEntity camera,move_x#,move_y#,move_z#
AlignToVector camera,cube_x#-cam_x#,cube_y#-cam_y#,cube_z#-cam_z#,3,camera_damping#
RotateEntity camera,EntityPitch(camera),EntityYaw(camera),0

If KeyDown(205) MoveEntity cube,0.05,0,0
If KeyDown(203) MoveEntity cube,-0.05,0,0
If KeyDown(200) MoveEntity cube,0,0,0.05
If KeyDown(208) MoveEntity cube,0,0,-0.05

   

   balle_erstellen()
   gravity()
   
   Collisions 1,2,2,2
   UpdateWorld()
   RenderWorld()
   WaitTimer timer
   Flip 0




Wend
End

;---------------------------------------


Function balle_erstellen()

 counter = counter +1
   
       If counter >= 10 Then
          counter = 1
 
            info.ball = New ball                   
               info\farbe# = Rnd(0,255)           
               info\ball_x# = Rnd(-10,10)
               info\ball_y# = Rnd(100,150)
            info\ball_z# = Rnd(50,100)
            info\speed_x# = Rnd(-1,1)*0.05
            info\speed_z# = Rnd(-1,1)*0.05

         info\mesh = CreateSphere(6)
         PositionEntity info\mesh,info\ball_x,info\ball_y,info\ball_z
       EntityType info\mesh,1
      
        End If
End Function



Function gravity()
For info.ball = Each ball

info\acc_x# = gravity_x#
info\acc_y# = gravity_y#
info\acc_z# = gravity_z#
info\speed_y# = info\speed_y# + 0.5*info\acc_y#*time#*time#
info\ball_y# = info\ball_y# + info\speed_y#
info\ball_x# = info\ball_x# + info\speed_x#
info\ball_z# = info\ball_z# + info\speed_z#


PositionEntity info\mesh,info\ball_x,info\ball_y,info\ball_z

If info\ball_y# < 0 Then
   info\speed_y = info\speed_Y * -0.75
   info\prall = info\prall + 1
EndIf       
If info\prall > 10 FreeEntity info\mesh : Delete info.ball



Next
End Function
Crying or Very sad
  • Zuletzt bearbeitet von TwentyEight28 am So, März 22, 2009 22:53, insgesamt 4-mal bearbeitet

hectic

Sieger des IS Talentwettbewerb 2006

BeitragSa, März 21, 2009 17:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Bei 3D-Sachen musst du auch Graphics3D schreiben. Wink

Zu den fallenden Sachen kannst du zum Beispiel TranslateEntity (objektwinkelunabhängiges Bewegen) benutzen. Allerdings wird sich da nichts wirklich physikalisch korrekt bewegen. Daher kann man hier wirklich nur eine gescheite Physikengine anwenden. Wenn es aber deine allerersten Versuche sind, dann würde ich dir empfehlen erst mit den Blitzeigenen Befehlen zu hantieren. Denn das einbinden externer Bibliotheken kann für den Anfang schnell zuviel werden.
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D
 

TwentyEight28

BeitragSa, März 21, 2009 17:45
Antworten mit Zitat
Benutzer-Profile anzeigen
wollte im grunde keine externen einbinden Wink . Da es ja die ersten Versuche sind und ich glaube das man mit etwas schreibaufwand auch in Blitz etwas vertretbares hinbekommt ohne Dinge zu klauen ^^ . Hab hier schon paar Algoritmen rumliegen die ich mit einbinden will aber das bringt nix wenn der klotz nichma fällt ^^.

Kann ich den Quellcode wie er ist in die Tonne drücken oder is da was machbar ? Shocked

hectic

Sieger des IS Talentwettbewerb 2006

BeitragSa, März 21, 2009 20:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Die einfachste art echte Physik in sein Spiel zu bekommen ist die der Verletintegration. Diese ist sehr realistisch, hat aber auch so einige Einschränkungen. Jedes Objekt muß dann wie in echt ''konstruiert'' werden. Jeder Körper besteht dann auch (ich nenne sie) Knotenpunkte, welche jede für sich eine eigene Position und Geschwindigkeit hat. Damit aus diesen Knotenpunkten dann ein ''Körper'' entsteht, müssen die ganzen Knotenpunkte miteinander verbuden werden. Die Verbindungen sind wie Federn (welche ich Verklingungen nannte).

Beispiele:

https://www.blitzforum.de/foru...ght=physik

https://www.blitzforum.de/foru...ght=physik

Tutorial:

https://www.blitzforum.de/foru...hp?t=29286
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D
 

TwentyEight28

BeitragSa, März 21, 2009 20:34
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke erst mal. Isn schönes tut aufjedenfall habs auch schon seid mindestens 4 Stunden vor der Nase. An sich ne ziemlich logische Sache obwohl ich mich doch paar Dinge frage:

- wo kommt die Gravity her ? is die engine intern ?

- auch in 3d möglich ? (müsste ja eigentlich wenn man den unteren Punkt mit einbezieht und den Teil des Codes rauslöscht in dem der User eingreift, und die z koordinate hinzufügt)

- Kann ich der Engine sagen das sie die Objekte auf Polygone untersuchen soll und diese dann reinlädt und ihre Berechnungen durchführt ? (im Prinzip die Werte der Eckpunkte ausgibt) Wäre doch eigentlich viel einfacher da die meisten Objekte sowieso aus zusammengesetzten Dreiecken bestehen. die sind also statisch bestimmt.. -> kein zusammenfallen (wenn ich nen runterfallenden quader haben möchte)
da die Polygone miteinander verbunden sind müsste die Engine deine Federn auch nicht mehr selbst einzeichnen da die ja im Grund vorhanden sind (wenn man sich das ganze Gittermäßig vorstellt).

--> wenn das geht kannste die engine so wie sie ist für Fahrzeuge jeder Art benutzen Smile

Noobody

BeitragSa, März 21, 2009 20:44
Antworten mit Zitat
Benutzer-Profile anzeigen
TwentyEight28 hat Folgendes geschrieben:
- wo kommt die Gravity her ? is die engine intern ?

Die Gravitation wird über die beiden Konstanten GRAVITY_X bzw. GRAVITY_Y geregelt und wird in UpdateVerlet zur Geschwindigkeit dazugerechnet.

TwentyEight28 hat Folgendes geschrieben:
- auch in 3d möglich ?

Ja, ist es - hectics Buggy zeigt das ja sehr schön. Allerdings wird dann die Kollision relativ kompliziert (hier nachzulesen (zweiter Beitrag von oben)).

TwentyEight28 hat Folgendes geschrieben:
- Kann ich der Engine sagen das sie die Objekte auf Polygone untersuchen soll und diese dann reinlädt und ihre Berechnungen durchführt ? (im Prinzip die Werte der Eckpunkte ausgibt) Wäre doch eigentlich viel einfacher da die meisten Objekte sowieso aus zusammengesetzten Dreiecken bestehen. die sind also statisch bestimmt.. -> kein zusammenfallen (wenn ich nen runterfallenden quader haben möchte)

Verstehe jetzt leider nicht ganz, was du da meinst Razz
Man is the best computer we can put aboard a spacecraft ... and the only one that can be mass produced with unskilled labor. -- Wernher von Braun
 

TwentyEight28

BeitragSa, März 21, 2009 20:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Okay ^^ .
Pass auf

Ich hab ne 3 dimensionale Box. Die ich bspw in 3ds max modele. Dann hat die Box 4 Eckpunkte allerdings 12 "Federn" . Was aus den Diagonalen in der Box noch resultiert. Ich arbeite wenn nur mit gemodelten Objekten und da sind die eigentlich immer drin. So jetzt möcht ich die Eckpunkte vom Programm auslesen lassen und die Verbindungsstücke um dann im Grunde diese einfach in die Engine einzusetzen. Ich schau mir den buggy mal an vielleicht isses das ja ^^

Grüße David

und danke =)

kommt sicher noch was von mir heute also ni wegrennen ihr lieben xD


EDIT:

Mit der Physik Engine kann man arbeiten Wink . Werde mich mal dort reinfitzen sieht gut aus.. mal sehn vielleicht bekomm ich was zustande..

Ich frag mich aber trotzdem wie du auf die ganzen Klinken gekommen bist. Und das is das was ich mit Analysieren meine. Der Rechner erkennt die Klinken --> kein auflisten weil er sie in den Speicher schreibt fertig =)

Grüße

EDIT.:

Alles gefunden... geht mit dem Vertex Befehl..

Noobody

BeitragSa, März 21, 2009 22:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn deine Objekte nicht sehr komplex sind, kannst du den einfachen Ansatz nehmen, jeden Punkt mit jedem zu verbinden.
Einfach noch darauf achten, dass du keine Verbindungen doppelt erstellst - kann zu unerwarteten Ergebnissen führen Razz

Und auf die Verbindungen kommt man mit ein wenig Vorstellungskraft eigentlich recht schnell. Für 3D habe ich mir aber sicherheitshalber nochmal eine Skizze gemacht, da man bei komplexeren Objekten schnell mal mit den Indizes durcheinandergerät.
Man is the best computer we can put aboard a spacecraft ... and the only one that can be mass produced with unskilled labor. -- Wernher von Braun

hectic

Sieger des IS Talentwettbewerb 2006

BeitragSa, März 21, 2009 22:23
Antworten mit Zitat
Benutzer-Profile anzeigen
Das Problem mit dem Verbinden jedes Polygones ist, dass es schnell zu rechenaufwendig wird. Es soll möglichst versucht werden, nur an tatsächlich strategisch wichtigen Punkten einen Verbindungspunkt zu erzeugen. Zudem werden die Konstruktionen sehr schnell ''lapping'' wenn zu viele Verbindungen vorhanden sind, was dann wiederrum nur durch noch mehr Rechenloops stabilisiert werden kann.

Also alles in allem schon eine aufwendige Technik, wenn es ums konstruieren geht. Außerdem besteht ein Würfel mit 8 Eckpunkten minimal aus 16 Verbindungen. Mit 12 Verbidungen würde der Würfel in Scherenform zusammen fallen. Also zu einen Parallelogramm werden bis es kompeltt platt wäre. Das fordert also nicht nur das Wissen und der Vorstellungskraft beim konstruieren im dreidimensionalem Raum, sondern auch das Wissen über Mechanik von 3D-Körpern. Vor allem dann, wenn noch Federungen und ähnliches noch eingebaut werden müssen.
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D
 

TwentyEight28

BeitragSa, März 21, 2009 22:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Naja jeder mit jedem ist sicher nicht das optimale. Ich werd von vorn schreiben und das ganze mit dem guten statischen Ansatz machen Wink . (stichwort statische bestimmtheit etc..) und dann nur von den objekten jeden Vertex berechnen lassen, welche statisch unbestimmt bzw instabil sind.. Der Rest bekommt eine Mittelpunktszuweisung oder wird gar nicht einbezogen. Müsste eigentlich gehen oder ? Also das ich bei Quadern bsp den Mittelpunkt nehme als Bezug für die Physik..

@Hectic.. jo hast recht verzählt (peinlich...) .

Grüße David

danke für die Antworten

hectic

Sieger des IS Talentwettbewerb 2006

BeitragSa, März 21, 2009 22:46
Antworten mit Zitat
Benutzer-Profile anzeigen
Die Verletphysik funktioniert aber nur weil die Eckpunkte mit Masse versehen werden und jeweils ihre eigene Position und Geschwindigkeit haben. Eine Mittelpunktberechnung wäre meiner Meinung nach dann unangebracht. Allerdings kann es auch sein, dass ich dich hier falsch verstehe, indem was du vor hast. Generell kann man auch eine andere Methode verwenden, wenn man viele Verbindungspunkte benötigt, aber Rechenzeit sparen möchte: Man verbindet die Punkte nicht untereinander, sondern über ein Eckgitter, welches immer größer als das Objekt selbst ist und aus 3 oder 4 Knotenpunkten besteht. Das Eckgitter wird dann komplett verbunden, also bei 3 eckpunkten auch 3 Verbidungen, und bei 4 Eckpunkten 6 Verbidungen. An diesen 3 oder 4 Eckpunkten werden dann alle Knotenpunkte verbunden. Somit werden immer nur das dreifache oder vierfache von Verbindungen +3 bzw. +6 benötigt, als Knotenpunkte vorhanden sind. Das Eckgitter kollidiert dann natürlich nicht mit der Umgebung, und diehnt nur als Stütze für die gesamte Konstruktion. Dieses Vorgehen hat auch den Vorteil, dass die Kontruktion nicht ''gesprengt'' werden kann, oder dass die Konstruktions nach großer Beanspruchung auf ewig deformiert (eingedrückt) werden kann. Nachteil ist, dass jegliche Beanspruchung immer ein Frame später auf die übrige Konstruktion reagieren kann. Das bedeutet, etwas nachlassende Festigkeit der Konstruktion. Dafür unkaputtbar. Sonst schwer zu erklären. Am besten selbst mal ausprobieren.
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D
 

TwentyEight28

BeitragSa, März 21, 2009 23:20
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich hab genau in die andere Richtung gedacht... nicht mit umschlossener Hülle bzw einer Platte durch den Mesh sondern mit einem Punkt an den alle triangles des meshs gehen. weis nich ob das läuft bin wie gesagt neueinsteiger in der materie ^^

danke an alle und evtl gute nacht

hectic

Sieger des IS Talentwettbewerb 2006

BeitragSa, März 21, 2009 23:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Problem bei einer jeder-mit-jedem -Verbindung ist, dass sie bei einer Überbeanspruchung komplett deformiert werden kann. Blödestes Beispiel: Ein Konstrukt mit den Dimensionen von max. 20 mit einer Geschwindigkeit von 20 gegen eine Wand. Bei der Kollision werden alle Knotenpunkte auf einer Ebene gebracht. Jegliche Tiefeninformation geht verloren. Das Gitterobjekt floppt dann in irgend eine Richtung, jedoch meistens ins negative. Es ist dann als in allen drei Achsen gespiegelt.

Mit einer Verbindung in der Mitte, müssten die äusseren wieder miteinander verbunden werden. Bei einem Aufprall wieder das gleiche Problem. Auch dann, wenn das Zentrum keine Kollision hat.

Baut man ein ''Rahmen'', dann erhält das Objekt immer die Grundform. Geht also nie was kaputt. Macht aber die ganze Konstruktion etwas weniger fest.
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D
 

TwentyEight28

BeitragSa, März 21, 2009 23:50
Antworten mit Zitat
Benutzer-Profile anzeigen
hm klingt irgendwo logisch.. Sieht ein Rahmen dann in etwa so aus ? musst sicher mit der cam bissl drehen, ich mein die grüne fläche (als rahmen) die durch den cube geht. habs mit triangles gemacht. Gibts noch was anderes ?

Code: [AUSKLAPPEN]

Graphics3D 1024,768,32,2

SetBuffer BackBuffer()
Global camera_damping#=0.5

;verschiedene Meshes

platte=CreateCube()
platte_text=LoadTexture("boden.jpg")
EntityTexture platte,platte_text
EntityType platte,2
MoveEntity platte, 3,1,10
EntityColor platte,30,144,255
ScaleMesh platte,10,0.5,10

brush = CreateBrush(0,255,0)
mesh = CreateMesh()
surface = CreateSurface(mesh,brush)
p1 = AddVertex(surface,3,13,10)
p2 = AddVertex(surface,0,8,10)
p3 = AddVertex(surface,6,8,10)
p4 = AddVertex(surface,-4,12,10)
AddTriangle(surface,p1,p2,p3)
AddTriangle(surface,p4,p2,p1)
UpdateNormals mesh



kpr=CreateCube()
EntityColor kpr,0,144,255
MoveEntity kpr, 3,10,10
EntityType kpr,2
surface1 = GetSurface(kpr,1)
vertex = CountVertices(surface1)

cube1=CreateCube()
EntityColor cube1,0,0,128
EntityType cube1,2
ScaleMesh cube1,0.5,0.5,0.5
MoveEntity cube1 ,3,3,10

flr=CreatePlane()
EntityColor flr,30,144,255
EntityAlpha flr,0.9
EntityType flr,2

physik=CreateCube()
EntityColor physik,120,20,120
lane=CreatePlane
EntityType physik ,1
MoveEntity physik,3,15,10


;cam (1)

camera=CreateCamera()
light=CreateLight()
RotateEntity light,90,0,0

;player

cube=CreateCube()
camera_pivot=CreatePivot(cube)
PositionEntity camera_pivot,0,0,-15
EntityType cube,1
EntityRadius cube,1
MoveEntity cube,3,5,10

;while



;__________________________________________________________________________________________________


While Not KeyDown(1)


;cam (1) (thx 2 camera tut aus diesem Forum)

cam_x#=EntityX(camera)
cam_y#=EntityY(camera)
cam_z#=EntityZ(camera)
cube_x#=EntityX(cube)
cube_y#=EntityY(cube)
cube_z#=EntityZ(cube)
piv_x#=EntityX(camera_pivot,1)
piv_y#=EntityY(camera_pivot,1)
piv_z#=EntityZ(camera_pivot,1)
move_x#=(piv_x#-cam_x#)*camera_damping#
move_y#=(piv_y#-cam_y#)*camera_damping#
move_z#=(piv_z#-cam_z#)*camera_damping#
   
mxs=MouseXSpeed()
mys=MouseYSpeed()
 
TurnEntity cube,mys/5,-mxs/5,0
RotateEntity cube,EntityPitch(cube),EntityYaw(cube),0
   
TranslateEntity camera,move_x#,move_y#,move_z#
AlignToVector camera,cube_x#-cam_x#,cube_y#-cam_y#,cube_z#-cam_z#,3,camera_damping#
RotateEntity camera,EntityPitch(camera),EntityYaw(camera),0

;Tastaturbelegung


If KeyDown(205) MoveEntity cube,0.05,0,0
If KeyDown(203) MoveEntity cube,-0.05,0,0
If KeyDown(200) MoveEntity cube,0,0,0.05
If KeyDown(208) MoveEntity cube,0,0,-0.05



;Kollision

Collisions 1,2,2,2


col=CountCollisions(cube)
Text 0,0,"cols:"
For i=1 To col
Text 000,i*20,"ent="+CollisionEntity(cube,1)
Next

For i = 0 To vertex - 1
Text 000,i * 15,"vertex" + i
Text 150,i * 15, VertexX#(surface1, i)
Text 300,i * 15, VertexY#(surface1, i)
Text 450,i * 15, VertexZ#(surface1, i)
Next






Flip 0

UpdateWorld
RenderWorld
Wend
End



Ich muss auch ganz ehrlich sein und sagen das ich nicht weis wie du die Verbindungen in deinem 2D Teil gemacht hast. also zwischen den Punkten. Weil triangles warns mal nicht...

hectic

Sieger des IS Talentwettbewerb 2006

BeitragSa, März 21, 2009 23:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Bei volumösen Objekten würde ich das Rahmenkonstrukt über die eines Tetraeders machen.

Beachte allerdings, dass nur die Eckpunkte mit der Umgebung kollidieren können. Das ist eines der Nachteile die die Verletintegration in der Form mit sich bringt. Eine zusätzliche Flächenkollision wird erheblich komplizierter und rechenintensiver. Auch der ''Trick'' die Eckpunktradien einfach zu vergrößern verfälscht das Drehmoment eines Körpers, da die Kraft immer nur im Zentrum eines Radiuses berechnet wird, die Kollision aber am Rande des Radius statt findet.
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D
 

TwentyEight28

BeitragSo, März 22, 2009 0:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Okay dann mach ich das gleich mal. Und die eck-Punkte meines schönen cube meshs verbinde ich dann mit den eckpunkten dieses tetraeders wenn ich mich nicht irre? und wenn ja ist die frage wie ich das mache. ich brauch dazu ja im grunde kein triangle sondern einfach eine art stange wie es bei statischen gebilde der fall ist (ich mein die diagonalen bei einem 4eck bspw). wie mach ich dann so eine stange ?

vielen dank übrigens das du dir Zeit nimmst hier so intensive hilfeleistung zu geben... ich bin david,19, und komm aus Leipzig ^^ siehs als potenziellen händedruck. hab dich mal bei icq geaddet. weis nich wie deine kapazitäten sind und deine muse ist aber wenn du mal Zeit hast könnten wer uns auch darüber verständigen wenn das ginge.

grüße david

hectic

Sieger des IS Talentwettbewerb 2006

BeitragSo, März 22, 2009 0:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Also ICQ habe ich eher selten an. Mache ich sogar meisten nur nach Aufforderung an.

Zu dem Gebilde.

Verbinde deine nicht kollidierenden Tetraeder alle Punkte miteinander. Dann alle deine Objektpunkte an den vier des Tetraeders, sollte genügen. Wenn nun jeder Ecktpunkt (auch die des Tetraeders) mit eigenen Positionsangaben und Geschwindigkeit berechnet werden, kommt eine Physik schon ganz von selbst zu stande.
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D
 

TwentyEight28

BeitragSo, März 22, 2009 0:11
Antworten mit Zitat
Benutzer-Profile anzeigen
auch verständlich wollen sicher 100e von leuten was. ja wie verbinde ich die punkte denn dann ^^ . das is das was mich grad schon seid 3 stunden wurmt. und der tetraeder soll also im Grunde größer sein als das objekt was fallen soll. also das er es einschließt ?

hectic

Sieger des IS Talentwettbewerb 2006

BeitragSo, März 22, 2009 0:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Er soll nicht gigantisch größer sein als das Objekt, denn dann wird das Objektdrehmoment unrealistisch groß sein. Es soll nur etwas größer sein (von mir aus fast gleich groß wie das Objekt an seinen Außenmassen), um genügend seitliche Kräfte ausgleichen zu können.

Bei den Verbindungen gibt es ein Problem, wenn man es über Types regeln möchte. Diese sind in erster Linie die schnellste Wahl, was die Performance an geht. Aber dadurch das zwei Types benötigt werden, die per ID auf den anderen zugreifen, muß man schon etwas mehr über Types wissen, als dessen erste Grundlagen.

Du kannst dir diesbezüglich eine Nachfolgerversion meiner 2D-Integration ansehen. Dazu klicke mal auch meine Signatur auf Draw3D V.3.2 und schaue dir mal die Physikbeispiele an. Wink
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D
 

TwentyEight28

BeitragSo, März 22, 2009 0:22
Antworten mit Zitat
Benutzer-Profile anzeigen
Okay vielen Dank werd ich mal machen. Runtergeladen isses schon. Dann wünsch ich dir nen schönen Abend falls ich fragen hab post ich alles hier rein. Wie lange machsten das eigentlich schon alles ?

achso das physix is von interesse so wies aussieht :O halleluja

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group