SPH a écrit :
Une altitude de 150, c'est pour que le mapping soit bien a la bonne taille ? (ou 150, c'est une valeur quelconque ?)
change la valeur en l'augmentant ou diminuant un peu tu verra
Ar-S nous montrait une piece style tetris mais en 3D. Est ce que ton carré actuel est en fait un cube qu'on peux gonffler en epaisseur ?
non puisqu'au dépars tu voulais un carré !!
donc là c'est un carré a 2 dimensions ..
sinon faut mettre un cube a la place
voici le code qui utilise un cube et le met a la bonne taille , et le texture
j'ai viré la procédure qui créait le carré du coup elle ne sert pas
Code : Tout sélectionner
; ------------------------------------------------------------
; DreaMotion3D
;
; Exemple : create mesh
; Historique :
; 18/09/06 00:00 DreaMotion3D Team
; 01/12/06 19:16 TMyke
;
; ------------------------------------------------------------
; Include files
IncludePath "Include" : IncludeFile "dreamotion3d.pbi"
EnableExplicit
; Globales
Global anglex.f, angley.f, flagXDown.w
Global mox.f, omx.f, moy.l, omy.l
Global Quit.b
Global *camera.CEntity
Global *land.CEntity
Global *mesh.CMesh
Global *brush.CBrush
Global *texture.CTexture
Global *font.CFont
Global *Cub.CEntity
Global *bb.CEntity
; Init PB modules
If InitSprite() = 0 Or InitKeyboard() = 0 Or InitMouse() = 0
End
EndIf
; set graphic window 3D
DM_Graphics3D(800, 600, 32, 0, 1)
; load font
*font = DM_LoadFont( "Tahoma",9 , 0)
DM_TextColor(*font, 198,198,198,255)
; change directory for media
SetCurrentDirectory("../media/")
; Set ambiant color
;DM_AmbientLight(150, 150, 150)
; ---------------------------------------
; Create and custom mesh
; ---------------------------------------
*Cub=DM_CreateCube() ; on creer un cube
DM_ScaleEntity (*Cub,10,2,10,#False)
; -------------------------------
; create little Brush
; -------------------------------
*bb = DM_CreateBrush("cube")
DM_BrushAmbient(*bb, 255,128,0,255)
DM_BrushDiffuse(*bb, 255,128,0,255)
; -------------------------------
; create a texture
; -------------------------------
*texture = DM_GetTexture(*bb, 0)
DM_LoadTexture( "tex64.bmp", *texture)
DM_BrushRenderState(#STATE_ADD, *bb, #D3DRS_CULLMODE, #D3DCULL_NONE)
DM_BrushRenderState(#STATE_RESTORE, *bb, #D3DRS_CULLMODE, #D3DCULL_CCW)
; set brush with this texture
DM_PaintEntity(*Cub, *bb, 0)
; ---------------------------------------
; create camera
; ---------------------------------------
*camera = DM_CreateCamera()
DM_MoveEntity(*camera, 0,150,0) ;<--- Y= altitude
DM_CameraClsColor(*camera, 125, 125, 125)
DM_TurnEntity(*camera, 90,0,0) ; on tourne la camera de 90 degres sur laxe des X
; ---------------------------------------
; main loop
; ---------------------------------------
; if fullscreen, must do it for keep mouse cursor
;change_curseur( #IDC_ARROW )
Repeat
ExamineKeyboard()
ExamineMouse()
ShowCursor_(1)
; if Escape Key, exit
If KeyboardReleased(#PB_Key_Escape) Or WindowEvent()=#PB_Event_CloseWindow
Quit=1
EndIf
; move camera with dir key and mouse (left click)
If KeyboardPushed(#PB_Key_Up)
DM_MoveEntity(*camera, 0,0,2)
ElseIf KeyboardPushed(#PB_Key_Down)
DM_MoveEntity(*camera, 0,0,-2)
EndIf
If MouseButton(#PB_MouseButton_Left)
If flagXDown=0
omx = WindowMouseX(0)
omy = WindowMouseY(0)
flagXDown=11
Else
moy = MouseY()-omy
angley=(moy/5.0)
omy= MouseY()
mox = MouseX()-omx
anglex=(mox/5.0)
omx= MouseX()
DM_TurnEntity(*camera, angley,anglex,0)
EndIf
Else
flagXDown=0
EndIf
; ---------------
; Render
; ---------------
DM_BeginScene()
DM_RenderWorld(*camera)
; draw text
DM_DrawText(*font, 10, 15, "FPS : "+Str(DM_FPS()))
DM_EndScene()
Until Quit=1
DM_ClearGraphics()
End
; IDE Options = PureBasic 4.10 Beta 4 (Windows - x86)
; CursorPosition = 161
; FirstLine = 131
ben disons que j'ai fait mon pureGolo qui marche maintenant en 2D/3D
mais je vais être très pris a partir du 18 Aout (passage de la Fimo poids lourd) , donc je ne préfère pas me lancer dans un projet ..
