mein wasserball und die physik

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

Plasma

Betreff: mein wasserball und die physik

BeitragSo, Dez 09, 2007 22:32
Antworten mit Zitat
Benutzer-Profile anzeigen
vor einigen jahrhunderten hatte ich mal ein spiel in der mache welches nie zum abschluss kam
dies lag unter anderem auch an einem visuellen problem .

ein wasserball sollte wenn er vom hüpfen auf den boden zurück kommt halbwegs vernünftig schwabbeln
das bekam ich nie richtig hin so gab ich es auf und verlor den spass an de sache

wer hat ne lösung mit b3d boardmitteln (nicht physx)


da ist mein ball , die beste lösung kriegt nen keks Wink

ps. beim vertexmanipulieren oder beim scalen muss der anfangsball genau die selben dimensionen wie der endball haben


viel spass


Code: [AUSKLAPPEN]

Graphics3D 800,600,32,3

l = CreateLight()
c = CreateCamera()
ball = CreateSphere(32)
PositionEntity c,0,0,5
PointEntity c,ball

tex = CreateTexture(256,256)
s= 100102
SetBuffer TextureBuffer(tex)
For r = 0 To 256 Step 44
Color s*r,s*r,s*r
Rect r,0,256,256,1

Next

SetBuffer BackBuffer()
EntityTexture ball,tex


While Not KeyHit(1)

TurnEntity ball,-1,0,0

RenderWorld()
Flip(1)

Wend
End

peacemaker

BeitragSo, Dez 09, 2007 22:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Öhh...

Also du müsstest irgendwie herausfinden wie jeder einzelne Vertex verschiebt werden muss, damit es wabbelt, wenns das iss was du meinst.

Das dürfte sehr schwer werden... und denke ich auch langsam, wegen dem VertexCoords...

Bisher war die PhysX-Engine wirklich die einzige Engine die solche Deformierbare Rigidbodys ermöglichte. (Also in Hinblick auf Blitz3D)

MfG
~Tehadon~
www.tehadon.de
http://www.blitzforum.de/worklogs/14/

Plasma

Betreff: ähm

BeitragSo, Dez 09, 2007 22:42
Antworten mit Zitat
Benutzer-Profile anzeigen
es kann ruhig gefakt sein hauptsache der effekt stimmt Laughing

hectic

Sieger des IS Talentwettbewerb 2006

BeitragSo, Dez 09, 2007 22:44
Antworten mit Zitat
Benutzer-Profile anzeigen
ql:ScaleEntity sinnvoll einsetzen?
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D

Plasma

Betreff: ja hectic

BeitragSo, Dez 09, 2007 22:51
Antworten mit Zitat
Benutzer-Profile anzeigen
hab ich schon nur sieht es milde gesagt mies aus
jedenfalls meine routine

hectic

Sieger des IS Talentwettbewerb 2006

BeitragSo, Dez 09, 2007 23:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Wichtig ist, dass das Gesamtvolumen des Balles dabei nicht verändert wird. Dabei kann man sich der Sinusfunktion bediehnen und diese dann mit jweils 120° Verschiebung auf die drei Achsen verteilen.

Code: [AUSKLAPPEN]
Graphics3D 800,600,32,3
SetBuffer BackBuffer()
Local Timer=CreateTimer(60)

Local L = CreateLight()
Local C = CreateCamera()
Local Ball = CreateSphere(32)
PositionEntity C,0,0,5
PointEntity C,Ball

Local Tex = CreateTexture(256,256)
Local S = 100102
SetBuffer TextureBuffer(Tex)
For r = 0 To 256 Step 44
   Color S*r,S*r,S*r
   Rect r,0,256,256,1
Next

SetBuffer BackBuffer()
EntityTexture Ball,Tex

Local Schwabel#=0
Local Winkel#=0


While Not KeyHit(1)
   
   If KeyHit(57) Then Schwabel=Rnd(.2,.4)
   If Schwabel>0 Then Schwabel=Schwabel-.01:Winkel=Winkel+30
   
   ScaleEntity Ball,1+Sin(Winkel)*Schwabel,1+Sin(Winkel+120)*Schwabel,1+Sin(Winkel+240)*Schwabel
   
   TurnEntity Ball,-1,0,0
   
   WaitTimer(Timer)
   RenderWorld()
   Flip 0
   
Wend
End


Mit SPACE den Ball schwabeln lassen.
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D

Plasma

Betreff: oh ja ...

BeitragSo, Dez 09, 2007 23:07
Antworten mit Zitat
Benutzer-Profile anzeigen
sieht gut aus danke (erstmal)

darth

BeitragSo, Dez 09, 2007 23:20
Antworten mit Zitat
Benutzer-Profile anzeigen
voila...

Code: [AUSKLAPPEN]
Graphics3D 800,600,32,3

l = CreateLight()
c = CreateCamera()
ball = CreateSphere(32)
controllball=CreateSphere(32) : PositionEntity controllball,1,0,0
PositionEntity c,0,0,10
PointEntity c,ball

tex = CreateTexture(256,256)
s= 100102
SetBuffer TextureBuffer(tex)
For r = 0 To 256 Step 44
Color s*r,s*r,s*r
Rect r,0,256,256,1

Next

SetBuffer BackBuffer()
EntityTexture ball,tex

While Not KeyHit(1)

If KeyHit(57) Then start=1 : vy#=-1 : form#=1
If start=1 Then
 If MilliSecs()-movetime>33 Then
  MoveEntity ball,0,vy#,0
  MoveEntity controllball,0,vy#,0
  vy#=vy#-.1
  If EntityY(ball)<=-3 Then
   form#=1 : vform#=-.1
   maxform#=-Abs(vy)*0.5/1.3+1.
   vy#=Abs(vy#+.2) : If Abs(vy-0.1)<0.1 Then vy=0
  EndIf
  ScaleEntity ball,1,form#,1
   If form#<=maxform# Then vform#=-vform#
   form#=form#+vform# : If form#>=1 Then form#=1
  movetime=MilliSecs()
 EndIf
EndIf

RenderWorld()
Flip(1)

Wend
End


keks?
Diese Signatur ist leer.

Plasma

Betreff: yap

BeitragSo, Dez 09, 2007 23:25
Antworten mit Zitat
Benutzer-Profile anzeigen
user posted image


teilt euch den !!!!

und danke nochmal

darth

BeitragSo, Dez 09, 2007 23:38
Antworten mit Zitat
Benutzer-Profile anzeigen
schönheits-voila...

Code: [AUSKLAPPEN]
Graphics3D 800,600,32,3

l = CreateLight()
c = CreateCamera()
ball = CreateSphere(32)
controllball=CreateSphere(32) : PositionEntity controllball,1,0,0
PositionEntity c,0,0,10
PointEntity c,ball

tex = CreateTexture(256,256)
s= 100102
SetBuffer TextureBuffer(tex)
For r = 0 To 256 Step 44
Color s*r,s*r,s*r
Rect r,0,256,256,1

Next

SetBuffer BackBuffer()
EntityTexture ball,tex

While Not KeyHit(1)

If KeyHit(57) Then start=1 : vy#=-1 : form#=1
If start=1 Then
 If MilliSecs()-movetime>100 Then

  If form#>=1 Then
   form#=1
   If Abs(vy-0.1)<0.1 Then vy=0

   MoveEntity ball,0,vy#,0
   MoveEntity controllball,0,vy#,0
   vy#=vy#-.1

   If EntityY(ball)<=-3 And vy<0 Then
    form#=0.9 : vform#=-.1
    maxform#=-Abs(vy)*0.5/1.3+1.
    vy#=Abs(vy#+.2)
   EndIf

  Else

   If form#<=maxform# Then vform#=-vform#
   form#=form#+vform#
   ScaleEntity ball,1,form#,1

   If form<1 Then MoveEntity ball,0,vform,0
  EndIf

  movetime=MilliSecs()
 EndIf
EndIf

RenderWorld()
Flip(1)

Wend
End


aufgrund physikalischer unsicherheit:
Code: [AUSKLAPPEN]
Graphics3D 800,600,32,3

l = CreateLight()
c = CreateCamera()
ball = CreateSphere(32)
controllball=CreateSphere(32) : PositionEntity controllball,1,0,0
PositionEntity c,0,0,10
PointEntity c,ball

tex = CreateTexture(256,256)
s= 100102
SetBuffer TextureBuffer(tex)
For r = 0 To 256 Step 44
Color s*r,s*r,s*r
Rect r,0,256,256,1

Next

SetBuffer BackBuffer()
EntityTexture ball,tex

While Not KeyHit(1)

If KeyHit(57) Then start=1 : vy#=-1 : form#=1
If start=1 Then
 If MilliSecs()-movetime>17 Then

  If vform#>=0 Then

   If Abs(vy-0.1)<0.1 Then
    vy=0
   Else
    form#=form#+vform#
    ScaleEntity ball,1,form#,1

    If form#<1 Then MoveEntity ball,0,vform#,0
    If form#>=1 Then form#=1 : ScaleEntity ball,1,1,1

    MoveEntity ball,0,vy#,0
    MoveEntity controllball,0,vy#,0
    vy#=vy#-.1

    If EntityY(ball)<=-3 And vy<0 Then
     form#=0.9 : vform#=-.1
     maxform#=-Abs(vy)*0.5/1.3+1.
     vy#=Abs(vy#+.2)
    EndIf

   EndIf

  Else

   If Abs(vy)>0.1 Then
    If form#<=maxform# Then vform#=-vform#
    form#=form#+vform#
    ScaleEntity ball,1,form#,1
    MoveEntity ball,0,vform,0
   EndIf

  EndIf

  movetime=MilliSecs()
 EndIf
EndIf

RenderWorld()
Flip(1)

Wend
End


hoffe es gefällt besser Razz
Diese Signatur ist leer.

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group