Page 2 sur 5

Crazy Sheep

Publié : dim. 31/août/2014 11:00
par MetalOS
Le problème avec Cheetah3D c'est qu'il n'existe pas de script pour convertir en *.mesh. Du coup j'importe mes créations dans blender pour les convertirent. Du moins j'essaye car pour le moment je n'y arrive pas.

Re: Crazy Sheep

Publié : dim. 31/août/2014 11:16
par Cool Dji
Salut MetalOS,

C'est vraiment joli :D , bravo

Pour convertir, il ya Deled Engine http://www.delgine.com/ qui convertit bien en .mesh ou .xml (je le trouve bien plus pratique que le convertisseur de Blender).
Deled Engine n'a pas de fonctions très poussées et le dev à l'air d'être stoppé mais il a beaucoup de formats d'imports disponible

Re: Crazy Sheep

Publié : dim. 31/août/2014 12:09
par MetalOS
Cool merci de l'info je vais tester ça.

Re: Crazy Sheep

Publié : dim. 31/août/2014 12:33
par microdevweb
Très joli , perso j'utilise C4D pour la mdélisation

Re: Crazy Sheep

Publié : dim. 31/août/2014 15:01
par MetalOS
C4D et déjà un peut plus complexe.

Grace au logiciel de Cool Dji j'ai réussi à convertir ma scène au format mesh, mais il m'a aussi généré un fichier en *.materiel et un fichier color.bmp. Je suppose que le fichier *.material sont les textures de la scène mais comment les charger dans PB ?

Re: Crazy Sheep

Publié : dim. 31/août/2014 15:16
par Cool Dji
ça se charge automatiquement en ne spécifiant pas de matériel dans l'entity que tu crée.

CreateEntity :
"Si la commande Parse3DScripts() a été utilisée, la constante #PB_Material_None peut être utilisée afin de prendre en compte les matières du script '.material' associé au mesh. "

C'est avec Deled qu'ont été réalisés les décors des exemples 3D de PB...

Re: Crazy Sheep

Publié : dim. 31/août/2014 15:33
par MetalOS
Ok merci Cool Dji

Re: Crazy Sheep

Publié : dim. 31/août/2014 15:50
par MetalOS
Je vient de faire un test rapide avec le code d'exemple SkyBox ou je charge mon fichier *.mesh

Code : Tout sélectionner

;
; ------------------------------------------------------------
;
;   PureBasic - SkyBox
;
;    (c) Fantaisie Software
;
; ------------------------------------------------------------
;
; Thanks to Steve 'Sinbad' Streeting for the nice SkyBox !
;

; Use [F2]/[F3] to change SkyBox's texture 
; Use [F4] to disable SkyBox

#CameraSpeed = 1

Enumeration
  #MainWindow 
  #Editor
EndEnumeration

IncludeFile #PB_Compiler_Home + "examples/3d/Screen3DRequester.pb"

Define.f KeyX, KeyY, MouseX, MouseY, RatioX, RatioY

If InitEngine3D()
  
  Add3DArchive(#PB_Compiler_Home + "examples/3d/Data/Textures", #PB_3DArchive_FileSystem)
  Add3DArchive(#PB_Compiler_Home + "examples/3d/Data/Models", #PB_3DArchive_FileSystem)
  Add3DArchive(#PB_Compiler_Home + "examples/3d/Data/Packs/desert.zip", #PB_3DArchive_Zip)
  Add3DArchive(#PB_Compiler_Home + "examples/3d/Data/Packs/skybox.zip", #PB_3DArchive_Zip)
  Add3DArchive(#PB_Compiler_Home + "examples/3d/Data/Scripts", #PB_3DArchive_FileSystem)
  Add3DArchive(#PB_Compiler_Home + "examples/3d/Data/GUI", #PB_3DArchive_FileSystem)
  Parse3DScripts()
  
  InitSprite()
  InitKeyboard()
  InitMouse()
  
  If Screen3DRequester()
    
    
    ;-Entity
    CreateEntity(0, LoadMesh(0, "Planete.mesh"), #PB_Material_None)
    
    ;-Camera 
    CreateCamera(0,0,0,100,100)
    MoveCamera(0,0,0,4, #PB_Absolute)
    CameraBackColor(0, RGB(19, 34, 49))
    
    ;-GUI
    RatioX = CameraViewWidth(0) / 1920
    RatioY = CameraViewHeight(0) / 1080
    
    OpenWindow3D(#MainWindow, 10, 10, 570 * RatioX, 180 * RatioY, "SkyBox")
    EditorGadget3D(#Editor, 10 * RatioX, 20 * RatioY, 530 * RatioX, 90 * RatioY, #PB_Editor3D_ReadOnly)
    SetGadgetText3D(#Editor, "[F2]/[F3] = Change SkyBox " + Chr(10) + "[F4] = Disable SkyBox")
    
    ShowGUI(155, 0)
    
    Repeat
      Screen3DEvents()
      
      If ExamineMouse()
        MouseX = -MouseDeltaX() * #CameraSpeed * 0.05
        MouseY = -MouseDeltaY() * #CameraSpeed * 0.05
      EndIf
      
      If ExamineKeyboard()
        
        If KeyboardReleased(#PB_Key_F2)
          SkyBox("stevecube.jpg")
        ElseIf KeyboardReleased(#PB_Key_F3) 
          SkyBox("desert07.jpg")
        ElseIf KeyboardReleased(#PB_Key_F4)
          SkyBox("")
        EndIf
        
        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

      EndIf
           
      RotateCamera(0, MouseY, MouseX, 0, #PB_Relative)
      MoveCamera  (0, KeyX, 0, KeyY)
      
      RenderWorld()

      FlipBuffers()
    Until KeyboardPushed(#PB_Key_Escape) Or Quit = 1
  EndIf
    
Else
  MessageRequester("Error", "The 3D Engine can't be initialized", 0)
EndIf
  
End
et voici ce que ca me donne, les textures ne sont pas chargées.

Image

Re: Crazy Sheep

Publié : dim. 31/août/2014 16:33
par falsam
Meme le ciel ne s'affiche pas !!

Peut tu essayer ce code ?

Code : Tout sélectionner

Enumeration
  #Mainform
EndEnumeration

Global Event

Global WindowStyle.i=#PB_Window_MinimizeGadget|#PB_Window_MaximizeGadget|#PB_Window_ScreenCentered

Procedure Open_MainForm(Width=#PB_Ignore, Height=#PB_Ignore)
  ExamineDesktops()
  If Width = #PB_Ignore : Width = DesktopWidth(0) : EndIf
  If Height = #PB_Ignore : Height = DesktopHeight(0) : EndIf
  OpenWindow(#Mainform,0,0,Width, Height, "", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
  OpenWindowedScreen(WindowID(#Mainform),0,0,Width,Height,0, 0, 0)
  
  KeyboardMode(#PB_Keyboard_International)
EndProcedure


Procedure Load_Scene()
  Add3DArchive(#PB_Compiler_Home + "Examples\3D\Data\Packs\desert.zip", #PB_3DArchive_Zip) 
  
  SkyBox("desert07.jpg")
  
  ;Lumiere et ombre
  AmbientColor(RGB(127, 127, 127))
  CreateLight(#PB_Any,RGB(151, 251, 151), -1.8, 10, 5)
  WorldShadows(#PB_Shadow_Additive)

  ; Une camera 
  Camera = CreateCamera(#PB_Any,0,0,100,100)
  CameraBackColor(Camera, RGB(145, 182, 201))

  MoveCamera(Camera, 2, 5, 15, #PB_Absolute)  
  CameraLookAt(Camera, 0,0,0)
EndProcedure


Procedure Start()
  If Not (InitEngine3D()=0 Or InitKeyboard()=0 Or InitSprite()=0 Or InitMouse()=0)
    Open_MainForm()
    Load_Scene()
  EndIf
EndProcedure

start()

Repeat
  Repeat
    Event  = WindowEvent()
    Select Event
      Case #PB_Event_CloseWindow
        End
        
    EndSelect
  Until Event = 0
  
  If ExamineKeyboard()
    
    If KeyboardPushed (#PB_Key_Escape)
      Break
    EndIf
  EndIf
  
  ; Affiche le rendu de la sc?ne
  ClearScreen(RGB(0, 0, 0))
  RenderWorld(80)
  FlipBuffers()    
ForEver

Re: Crazy Sheep

Publié : dim. 31/août/2014 17:26
par MetalOS
Le code fonction falsam. J'ai trouvé le problème il semblerais que le programme de CoolDji n'exporte pas les textures de ma scène. je vais tenter avec autre chose.

Re: Crazy Sheep

Publié : dim. 31/août/2014 17:38
par falsam
MetalOS a écrit :Le code fonction falsam. J'ai trouvé le problème il semblerais que le programme de CoolDji n'exporte pas les textures de ma scène. je vais tenter avec autre chose.
J'utilise depuis pas mal de temps Deled 2.45 et le plugin d'exportation vers Ogre 3D fonctionne bien.

Peut être que tu as mal paramétrer ce plugin.

j'ai testé un exemple et voila comment est paramétré ce plugin d'export pour ogre.

Image

Re: Crazy Sheep

Publié : dim. 31/août/2014 17:52
par MetalOS
Oui il est paramétré de la même façon mais le résultat et le même. Peut être une option oublier dans mon logiciel de modélisation.

Re: Crazy Sheep

Publié : dim. 31/août/2014 17:57
par falsam
je pense que tu exportes chacun de tes entités. Tu as au moins le mesh. Dans ce cas tu peux créer le matériel correspondant à chacun de tes entités.

Re: Crazy Sheep

Publié : dim. 31/août/2014 18:14
par MetalOS
Je vais faire quelques test.

Re: Crazy Sheep

Publié : lun. 01/sept./2014 16:22
par MetalOS
Ok j'ai refais un nouveau test en ajoutant cette fois un CreateLight et voici le résultat.

Image