Bug ou pas bug : node et collision entity

Généralités sur la programmation 3D
Avatar de l’utilisateur
Cool Dji
Messages : 1126
Inscription : ven. 05/sept./2008 11:42
Localisation : Besançon
Contact :

Bug ou pas bug : node et collision entity

Message par Cool Dji »

Hello,

Je ne suis pas certain que ce soit un bug de PureBasic donc, avant de poster sur le forum anglais (que j'ai consulté sans rien trouver) j'aimerais votre avis.

Je créé une plaque avec 2 barres latérales que je colle dans un node.
Je balance des balles par dessus => les collisions fonctionnent bien.

Mais lorsque le node rotate (avec la touche espace), les balles semblent conserver la position initiale de l'entity pour les collisions et ne prennent pas en compte le nouvelle angle de la plaque...
Si on fait uniquement un rotateentity de la plaque seule, les balles suivaient bien le nouvel angle et tombaient en roulant...

Vous voyez de quoi ça peut venir ?

Merci

Code : Tout sélectionner

InitEngine3D()
InitKeyboard()
InitMouse()
InitSprite()

#CameraSpeed = 1

Define.f KeyX, KeyY


 ; Ouvre un écran
OpenScreen(1024,768,32,"X")
AntialiasingMode(#PB_AntialiasingMode_x6)

CreateTexture(0,512,512)
StartDrawing(TextureOutput(0))
Box(0,0,512,512,RGB(255,0,255))
Circle(256,256,80,RGB(0,255,0))
StopDrawing()
CreateMaterial(0,TextureID(0))

CreatePlane(0,100,100,100,100,10,10)
CreateEntity(1,MeshID(0),#PB_Material_None ,50,0,50)
EntityPhysicBody(1,#PB_Entity_StaticBody)

CreateCube(1,100)
CreateEntity(2,MeshID(1),#PB_Material_None ,50,5,0)
ScaleEntity(2,1,0.1,0.1)
EntityPhysicBody(2,#PB_Entity_StaticBody)

CreateEntity(3,MeshID(1),#PB_Material_None ,50,5,100)
ScaleEntity(3,1,0.1,0.1)
EntityPhysicBody(3,#PB_Entity_StaticBody)

CreateNode(0)
AttachNodeObject(0,EntityID(1))
AttachNodeObject(0,EntityID(2))
AttachNodeObject(0,EntityID(3))

CreateSphere(2,2)
For j=1 To 100
  CreateEntity(j+100,MeshID(2),MaterialID(0),Random(100),50+Random(100),Random(100))
  EntityPhysicBody(j+100,#PB_Entity_SphereBody,1,1,1)
Next

CreateCamera(0, 0, 0, 100, 100)
MoveCamera(0, 200, 50, 200,#PB_Absolute)
CameraLookAt(0, 10, 10, 10)
EnableWorldPhysics(1)



Repeat  

      If ExamineMouse()
        MouseX = -MouseDeltaX() * #CameraSpeed * 0.05
        MouseY = -MouseDeltaY() * #CameraSpeed * 0.05
      EndIf
      
      If ExamineKeyboard()
        
        If KeyboardPushed(#PB_Key_Left)
          KeyX = -#CameraSpeed
        ElseIf KeyboardPushed(#PB_Key_Right)
          KeyX = #CameraSpeed
        Else
          KeyX = 0
        EndIf
        
        If KeyboardPushed(#PB_Key_Up)
          KeyY = -#CameraSpeed
        ElseIf KeyboardPushed(#PB_Key_Down)
          KeyY = #CameraSpeed
        Else
          KeyY = 0
        EndIf    
        
        If KeyboardPushed(#PB_Key_Space)
          
          RotateNode(0,0.1,0,0,#PB_Relative)
       EndIf
      
      EndIf
  
      RotateCamera(0, MouseY, MouseX, 0, #PB_Relative)
      MoveCamera  (0, KeyX, 0, KeyY)

RenderWorld()
FlipBuffers()
   
Until KeyboardPushed(#PB_Key_Escape)
End
 
Only PureBasic makes it possible
G-Rom
Messages : 3627
Inscription : dim. 10/janv./2010 5:29

Re: Bug ou pas bug : node et collision entity

Message par G-Rom »

c'est pas un bug d'ogre3d ou de pb, mais un manque du coté de l'implémentation a priori.
j'ai lâché prise pour le moment avec le moteur , je ne saurais dire se qu'il faut faire , même si j'ai une petite idée
comtois est la personne à contacté ;)

edit:

en "rotatant" directement la plaque ca marche , à voir donc pour les rotation de node à updaté la partie physique ?
Avatar de l’utilisateur
Cool Dji
Messages : 1126
Inscription : ven. 05/sept./2008 11:42
Localisation : Besançon
Contact :

Re: Bug ou pas bug : node et collision entity

Message par Cool Dji »

Hello G-Rom,

Ok je poste sur le forum anglais.
A +
Only PureBasic makes it possible
G-Rom
Messages : 3627
Inscription : dim. 10/janv./2010 5:29

Re: Bug ou pas bug : node et collision entity

Message par G-Rom »

Te casse pas la tête. Le bug est pris en compte
Répondre