Page 1 sur 1

Moteur physique *** Nouvelle source ***

Publié : lun. 18/avr./2011 23:09
par Azur
Salut à tous.
J'ai créé une scène 3d avec un sol en staticbody
et
100 cubes avec boxbody, masse et gravité, que je place pour former un mur de 10 ligne sur 10 colonnes

Je m'amuse à faire apparaitre ce mur plus ou moins au dessus du sol de façon à ce que l'ensemble percute le sol et se disloque en jouant sur la friction et choses de ce style.

Dans certains cas le mur ne tombe pas de très haut et une grande partie de ce dernier reste verticale bien que déformée.

Voilà mon soucis:

Dans certains cas, certaines parties du mur sont quasiment immobiles mais on voit bien qu'elles bougent un peu et vont s'effondrer, mais d'un coup tout se fige.
Ceci n'arrive que quand les mouvement sont très faibles.

Par contre si la friction est faible, l'ensemble des cubes se répand sur mon sol et glisse durant de longues secondes jusqu'à ce que le mouvement s'atténue et se fige d'un coup.

C'est comme si quand les mouvements deviennent trop faible, alors le calcule de la physique s'arrêtait

---------------

On constate ce comportement quand le mur reste pratiquement stable mais menace de s'effondrer.

Code : Tout sélectionner

EnableExplicit

InitSprite()
InitEngine3D()

OpenWindow(0,0,0,800,600,"3d",#PB_Window_ScreenCentered|#PB_Window_SystemMenu)
OpenWindowedScreen(WindowID(0),0,0,800,600,0,0,0)

WorldShadows(#PB_Shadow_Additive)

CreateCube(0,1)
CreateCube(1,20)

Define i
Define x.f
Define y.f=0.7

For i=0 To 99
  CreateEntity(i,MeshID(0),#PB_Material_None)
  EntityLocate(i,x,y,0)
  EntityPhysicBody(i,#PB_Entity_BoxBody,2,0,1)
  x+1
  If x>=10
    x=0
    y+1
  EndIf
Next i

CreateCamera(0,0,0,800,600)
CameraLocate(0,5,5,-20)
CameraLookAt(0,5,5,0)
CreateLight(0,RGB(255,255,255),0,50,-20)

CreateEntity(100,MeshID(1),#PB_Material_None)
EntityLocate(100,5,-10,-5)
EntityPhysicBody(i,#PB_Entity_StaticBody,2,0,2)

Repeat
  Delay(1)
  RenderWorld()
  FlipBuffers()
Until WindowEvent()=#PB_Event_CloseWindow




Re: Moteur physique *** Nouvelle source ***

Publié : mer. 20/avr./2011 10:58
par Atomo
C'est un problème connu de l'équipe, ils sont en train d'examiner ça.