Tokamak - abprall eigenschaften ändern

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

skey-z

Betreff: Tokamak - abprall eigenschaften ändern

BeitragMo, Mai 15, 2006 21:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Hy Leutz,

muss mal wieder ne Frage stellen, ich arbeite mich in die Tokamak Physik engine ein, weil ich diese für mein spiel benötige.

zu meinem Problem:

ich habe eine platte erstellt(Boden) und lasse auf Knopfdruck Bälle runterfallen, das funktioniert auch soweit, nur möchte ich , dass die Bälle nach dem aufprallen höher abprallen, als es derzeit der fall ist, also zb wie bei einem Flummy.

Habe schon hier im Forum geschaut, ob die Frage schon einmal aufgekommen ist, aber nichts derartiges gefunden.

und nach stundenlangem ausprobieren weiß ich auch nicht, mit welchen Funktionen ich es noch hinbekommen könnte.

Hier mal die relevanten Codestücke

Boden:
Code: [AUSKLAPPEN]

ground = CreateCube()
      EntityColor ground,50,50,150
      ScaleEntity ground,10,.1,10
      PositionEntity ground,0,0,0
      abground = TOKAB_Create()
         TOKRB_AddBox(abground,20.0,.1,20.0)
         TOKRB_SetPosition(abground,0.0,0,0.0)


Bälle:
Code: [AUSKLAPPEN]

Function NewBall()

   anz_balls = CountBalls()
   
   x_rand = Rnd(-5,5)
   z_rand = Rnd(-5,5)
   
   x_rot = Rnd(360)
   y_rot = Rnd(360)
   z_rot = Rnd(360)

   If (anz_balls < max_balls) Then
      b.ball = New ball
         b\obj = CreateSphere(32)
         b\rb = TOKRB_Create()

         PositionEntity b\obj, x_rand, 10, z_Rand
         TurnEntity b\obj, x_rot, y_rot, z_rot

         TOKRB_AddSphere b\rb,2
         TOKRB_SetPosition b\rb,x_rand,10,z_Rand
         TOKRB_SetRotation b\rb, x_rot, y_rot, z_rot
         TOKRB_SetAngularDamping b\rb, 0.00001
         TOKRB_SetLinearDamping b\rb, 0.005
         TOKRB_SetMass b\rb, 2.0
         TOKRB_SetSphereInertiaTensor b\rb,2,2.0
         
         EntityColor b\obj,Rnd(100,230),Rnd(100,230),Rnd(100,230)
         
         EntityFX b\obj, 4
   EndIf
End Function


und die aktualiesierung der Bälle:
Code: [AUSKLAPPEN]

Function UpdateBalls()

   For b.ball = Each ball
      
      PositionEntity b\obj,TOKRB_GetX#(b\rb),TOKRB_GetY#(b\rb),TOKRB_GetZ#(b\rb)
       RotateEntity b\obj,TOKRB_GetPitch#(b\rb),TOKRB_GetYaw#(b\rb),TOKRB_GetRoll#(b\rb),False

      If EntityY(b\obj) < -10 Then
         FreeEntity b\obj
         Delete b.ball
      EndIf
   Next
End Function


Hoffe jemand kann mir mit dem problem helfen


eine überlegung wäre, wenn ich bei Kollision mit dem Boden den VelocityY-Wert auslesen würde und einen entegengesetzten impuls einleiten würde, aber es wäre hilfreicher, wenn man es mit einem Befehl ändern könnte, sodass man einfach verschiedene Eigenschaften hinzufügen könnte.
Awards:
Coffee's Monatswettbewerb Feb. 08: 1. Platz
BAC#57: 2. Platz
Twitter
 

coldie

BeitragMo, Mai 15, 2006 22:37
Antworten mit Zitat
Benutzer-Profile anzeigen
ich denke mal es geht mit

TOKSIM_SetMaterial(Index%,Friction#,Restitution#)

aber wie man genau diese material benutzt kA

skey-z

BeitragDi, Mai 16, 2006 8:09
Antworten mit Zitat
Benutzer-Profile anzeigen
ne, mit dem Material habe ich es ja schon probiert, dies ändert jedoch nur die Reibung
Awards:
Coffee's Monatswettbewerb Feb. 08: 1. Platz
BAC#57: 2. Platz
Twitter
 

coldie

BeitragDi, Mai 16, 2006 12:06
Antworten mit Zitat
Benutzer-Profile anzeigen
Friction heisst reibung, ok. Aber restitution heisst wörtlich übersetzt "Rückgabe". Zitat Tokamak Command Reference:

Zitat:
Restitution# = The restitution coefficient of the material. The greater this number is, the more an the thing bounces. From 0-1

skey-z

BeitragDi, Mai 16, 2006 18:45
Antworten mit Zitat
Benutzer-Profile anzeigen
das habe ich mir ja auch gedacht, aber es funtioniert nicht wirklich, hab damit auch schon herum experimentiert.
Awards:
Coffee's Monatswettbewerb Feb. 08: 1. Platz
BAC#57: 2. Platz
Twitter

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group