OGRE BUG?

Fragen zu Grafik- & Soundproblemen und zur Spieleprogrammierung haben hier ihren Platz.
Hendrik_King1234
Beiträge: 2
Registriert: 14.06.2014 14:20

OGRE BUG?

Beitrag von Hendrik_King1234 »

Ich will derzeit ein kleines Spiel programmieren, kenne mich mit Ogre und PureBasic eigentlich sehr gut aus, aber wenn ich ein Entity bewegen möchte, und es kollidiert, fängt es merk würdig an herumzuspringen... die Friction ist auf 0

Hier der code

Code: Alles auswählen


InitEngine3D()
InitSprite()
OpenScreen(1920,1080,32,"RG32bit DX0")
CreateTexture(0,20,20)
StartDrawing(TextureOutput(0))
Box(0,0,20,20,RGB(0,255,0))
StopDrawing()
CreateMaterial(0,TextureID(0))

CreateTexture(1,20,20)
StartDrawing(TextureOutput(1))
Box(0,0,20,20,RGB(0,0,255))
StopDrawing()
CreateMaterial(1,TextureID(1))


Add3DArchive("skybox.zip",#PB_3DArchive_Zip)
InitKeyboard()
SkyBox("stevecube.jpg")
CreateCamera(0,0,0,100,100)
CreateCube(0,5)
Y=0
X=40

;MaterialBlendingMode(0,#PB_Material_AlphaBlend)
CreateEntity(1,MeshID(0),MaterialID(1),0,10,10)
MoveCamera(0,EntityX(1),EntityY(1),EntityZ(1),#PB_Absolute)
ENTITYID = 10
Repeat
  CreateEntity(ENTITYID,MeshID(0),MaterialID(0),X,0,Y)
  EntityPhysicBody(ENTITYID,#PB_Entity_StaticBody)
  ;SetEntityAttribute(ENTITYID,#PB_Entity_Friction,0)
  X + 5
  If X = 100
    Y + 5
    X = 0
  EndIf
  ENTITYID + 1
Until Y = 20


EnableWorldCollisions(1)
EnableWorldPhysics(1)
EntityPhysicBody(1,#PB_Entity_BoxBody)
SetEntityAttribute(1,#PB_Entity_Friction,0)
SetEntityAttribute(1,#PB_Entity_Restitution,0)
MoveEntity(1,10,0,0)
Repeat
  ExamineKeyboard()
  CameraLookAt(0,EntityX(1),EntityY(1),EntityZ(1))
  ;MoveCamera(0,EntityX(1),EntityY(1),EntityZ(1),#PB_Absolute)
  ;RotateCamera(0,0,EntityYaw(1),0,#PB_Absolute)
  If KeyboardPushed(#PB_Key_W)
  
EndIf
             >>MoveEntity(1,1,0,0,#PB_Relative|#PB_Local)
  RenderWorld()
  FlipBuffers()
  If KeyboardPushed(#PB_Key_Escape)
  End
  EndIf
ForEver  

Das passiert egal welche Parameter ich eingebe, habe schon ungefähr 100h mit OGRE unter PureBasic verbracht und noch nie ist solch ein Problem aufgetreten...
Benutzeravatar
Chimorin
Beiträge: 451
Registriert: 30.01.2013 16:11
Computerausstattung: MSI GTX 660 OC mit TwinFrozr III
6Gb DDR 3 RAM
AMD Phenom II X4 B55 @ 3,6GHz
Windows 7 Home Premium 64-bit

Re: OGRE BUG?

Beitrag von Chimorin »

Hi,

wo ist der Ursprung des Meshes? Du solltest den Koordinatenursprung deines Objektes in das Zentrum der Masse legen, da um dieses Zentrum alle Gleichungen angelegt werden.

Ich bin gerade nicht am PC, deshalb kann ich nur mutmaßen.
Bild

- formerly known as Bananenfreak -
Benutzeravatar
Chimorin
Beiträge: 451
Registriert: 30.01.2013 16:11
Computerausstattung: MSI GTX 660 OC mit TwinFrozr III
6Gb DDR 3 RAM
AMD Phenom II X4 B55 @ 3,6GHz
Windows 7 Home Premium 64-bit

Re: OGRE BUG?

Beitrag von Chimorin »

Mein Ursprungsgedanke hatte nichts mit deinem Problem zu tun, sry.

Du sagst doch schon, dass du die Friction=0 setzt. Friction ist die Reibung. Wo soll die Energie hin, wenn die Reibung auf 0 ist?
Leider kann ich aus deinem Beispiel nicht all zu viel nachvollziehen, die Kamera bewegt sich mit dem Objekt und wird anfangs mit dem Objekt bewegt. Nutze bitte EnableExplicit.
Bild

- formerly known as Bananenfreak -
Antworten