mein wasserball und die physik
Übersicht

![]() |
PlasmaBetreff: mein wasserball und die physik |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 ![]() 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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ö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/ |
![]() |
PlasmaBetreff: ähm |
![]() Antworten mit Zitat ![]() |
---|---|---|
es kann ruhig gefakt sein hauptsache der effekt stimmt ![]() |
||
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
ql:ScaleEntity sinnvoll einsetzen? | ||
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D |
![]() |
PlasmaBetreff: ja hectic |
![]() Antworten mit Zitat ![]() |
---|---|---|
hab ich schon nur sieht es milde gesagt mies aus
jedenfalls meine routine |
||
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() |
PlasmaBetreff: oh ja ... |
![]() Antworten mit Zitat ![]() |
---|---|---|
sieht gut aus danke (erstmal) | ||
![]() |
darth |
![]() Antworten mit Zitat ![]() |
---|---|---|
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. |
![]() |
PlasmaBetreff: yap |
![]() Antworten mit Zitat ![]() |
---|---|---|
![]() teilt euch den !!!! und danke nochmal |
||
![]() |
darth |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 ![]() |
||
Diese Signatur ist leer. |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group