Seite 2 von 2

Re: Ogre: Entitys haben kein lokales Koordinatensystem?

Verfasst: 17.09.2009 08:36
von johann.boehme
okay ^^ die Demos hab ich zum laufen gekriegt.
Sehen auch auch echt gut aus ;)
Aber gibts ne Doku zu der Engine?
Die Examples sind ja ganz okay, ich würd aber schon ganz gerne wissen, was so mancher Parameter macht..

Re: Ogre: Entitys haben kein lokales Koordinatensystem?

Verfasst: 17.09.2009 09:52
von Vermilion
Meines Wissens gibt es wie bei Dreamotion3D schon keine Dokumentation, die auf PureBasic bezogen ist. Vielleicht kommt das noch. Ich wäre daran auch interessiert. Denn ansonsten könnte man sich nur an den Referenzen die in den Beispielen enthalten sind bedienen.

Re: Ogre: Entitys haben kein lokales Koordinatensystem?

Verfasst: 17.09.2009 10:51
von super_castle
die Help die dabei ist, ist ja leider für C++ ^^
Anhand der Help C++ kann man die Aufgaben der Werte gut rauslesen.
Der Leadwerks Wrap ist ja leider auch noch nicht fertig..
Beschäftige dich doch erstmal mit dem angebotenen, dann siehst du auch ohne "Leadwerks Wrap"
die wunderbaren Dinge, die man recht einfach und kurz programmieren kann.

mfg

Re: Ogre: Entitys haben kein lokales Koordinatensystem?

Verfasst: 20.09.2009 18:14
von captain_hesse
Hallo.

@johann.boehme
Das was du gerne möchtest geht mit PointPick() und den pick() befehlen.

Code: Alles auswählen

 InitEngine3D()

  Add3DArchive("3d-Test", #PB_3DArchive_FileSystem)
  
  
  InitSprite()
  InitKeyboard()
  InitMouse()

  OpenWindow(0, 0, 0, 1024, 768, "")
  OpenWindowedScreen(WindowID(0), 0, 0, 1024, 768, 0, 0, 0)
  SetFrameRate(200)
 
  EnableWorldPhysics(1)
  EnableWorldCollisions(1)
  
  LoadMesh   (0, "kamera.mesh")
  LoadMesh   (1, "boden.mesh")
  LoadMesh   (2, "haus.mesh")
  
  LoadTexture(0, "kamera-texture.jpg")
  LoadTexture(1, "boden-texture.jpg")
  LoadTexture(2, "haus-texture.jpg")
  
  CreateMaterial(0, TextureID(0))
  CreateMaterial(1, TextureID(1))
  CreateMaterial(2, TextureID(2))
  
  CreateEntity(0, MeshID(0), MaterialID(0))
  CreateEntity(1, MeshID(1), MaterialID(1))
  CreateEntity(2, MeshID(2), MaterialID(2))

    
  RotateEntity(1, 90, 0, 0)  
  EntityLocate(1,0,-100,0)  
  ScaleEntity(1,5,5,5)   
  ScaleEntity(0,0.3,0.3,0.3)   
  EntityLocate(0,-1000,0,0)  
  EntityLocate(2,0,30,0)  
  
  
  
    CreateCamera(0, 0, 0, 100, 100)
    CameraLocate(0,0,0,0)
    RotateCamera(0,-0,0,0)
    CameraBackColor(0, RGB(0, 0, 255))
    
    CreateCamera(1, 50, 50, 50, 50)
    CameraLocate(1,0,1500,00)
    RotateCamera(1,-55,0,0)
    
        
    EntityPhysicBody(0, #PB_Entity_BoxBody,#PB_Entity_AbsoluteBodyMove)
    EntityPhysicBody(1, #PB_Entity_StaticBody )
    EntityPhysicBody(2, #PB_Entity_StaticBody  )
    
    CreateLight(0, RGB(255,255,255), 0, 1000, 0)
    
        
    speed.f=400
    
        
    Repeat
      
      
      If ExamineWorldCollisions()
         Debug "crash"
         col= NextWorldCollision()
         Debug col
      EndIf   
      
            
      If ExamineKeyboard()
      
        If KeyboardPushed(#PB_Key_A)
           KeyX.f = -speed/2
        ElseIf KeyboardPushed(#PB_Key_D)
          KeyX.f = speed/2
        Else
         KeyX = 0
        EndIf
        
        If KeyboardPushed(#PB_Key_W)
          KeyY.f = -speed
        ElseIf KeyboardPushed(#PB_Key_S)
          KeyY.f = speed
        Else
          KeyY = 0
        EndIf
      EndIf
      
      If ExamineMouse()
        MouseX.f = -MouseDeltaX()/10
        MouseY.f = -MouseDeltaY()/10
        mousex1.f+mousex
        mousey1.f+mousey
      EndIf
      
      If mousey1.f>55 
         mousey1.f=55 
      EndIf     
      If mousey1.f<-55 
          mousey1.f=-55 
      EndIf  
 
      If mousex1>=360 Or mousex1<=-360
      Mousex1=0
      EndIf
 
 
     
      PointPick(0, 1024/2, 768/2)
      rix.f=PickX()
      riy.f=PickY()
      riz.f=PickZ()
      x.f= -Keyy*rix-Keyx*riz
      y.f= -KeyY*riz+Keyx*rix
     
     
        
      RotateCamera(0, MouseY1, MouseX1, 0, #PB_Absolute)
      RotateEntity(0, 0, MouseX1, 0, #PB_Absolute)
      EntityLocate(0,EntityX(0),EntityY(1)+100,EntityZ(0))
      MoveEntity(0, x, 0, y)
      CameraLocate(0,EntityX(0),EntityY(0),EntityZ(0))
       
            
      CameraLookAt(1,EntityX(0),EntityY(0),EntityZ(0))
    
     ;Delay(20)
     RenderWorld()
     
     
     
     FlipBuffers()
      
    Until KeyboardPushed(#PB_Key_Escape) 
    
    
musste da auch ein bißchen dran rum experimentiert bis ich das hatte. Komme jetz aber leider nicht mehr weiter weil die Collisionsabfrage mit statischen Objekten immer noch nicht funktioniert und weil der Parameter #PB_Entity_AbsoluteBodyMove offenbar einen Fehler veruhrsacht.
Hier gibts das 3D Archiv
Vieleicht kannst du ja mit dem Code was anfangen.

MfG.
Captain_hesse