
Labyrinthe 3D - début d'un nouveau projet
Re: Labyrinthe 3D - début d'un nouveau projet
THE commande pour du Hack n Slash 

~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Re: Labyrinthe 3D - début d'un nouveau projet
C'est quoi ça "Hack n Slash" ?
Bon avant que mon programme ne soit dépassé par la 4.6, je poste le projet d'éditeur de monde 3D sur lequel je bosse.
Il manque encore beaucoup de choses...
- Il n'y a qu'un seul type de mesh
- je dois ajouter un magnétisme pour que les meshs se collent parfaitement les uns aux autres
- ...and more
Le principe de mon éditeur :
1 - on construit les décors avec des mesh qui ne sont pas texturés
Ces mesh ont cependant un volume qui servira pour les collisions
2 - on pourra mapper toutes ou certaines faces des mesh
3- je vais recréer des meshs (avec textures) à partir des faces texturées
Mais avant de commencer les points 2 & 3, j'attends un peu la version 4.6...
En attendant, je travaille sur l'ergonomie et l'interface de mon éditeur qui avouons-le, sont pas terrible
Déplacement avec les touches gauche-droite et la souris
Quand on pointe sur un mesh, celui-ci devient rouge
En cliquant sur le bouton gauche et en restant appuyé dessus on entre en mode déplacement du mesh.
Là, tout en gardant le doigts sur le bouton gauche (le mesh reste rouge) on clique de F2 à F7 et vous pouvez déplacer ou faire tourner le mesh avec les touches du clavier (haut-bas pour aller vite) (gauche-droite pour de la précision).
Il est clair que le magnétisme est indispensable pour que les jonctions soient clean.
F1 = affiche les boites englobantes
F2 = modifie pos x du mesh
F3 = modifie pos y du mesh
F4 = modifie pos z du mesh
F5 = modifie angle x du mesh
F6 = modifie angle y du mesh
F7 = modifie angle z du mesh
F8 = ajoute un nouveau mesh
F9 = supprime le mesh sélectionné
F10 = mets à 0,00 les valeurs en cours de modification (F2 à F7)
ESC = Quitte le programme
NB = le programme enregistre automatiquement le map avant de quitter.
Si vous avez des suggestions pour améliorer l'ergonomie, je prends !!!
Merci d'avance
http://xdji.free.fr/Telechargement/Mad%20Fire%20II.zip
Bon avant que mon programme ne soit dépassé par la 4.6, je poste le projet d'éditeur de monde 3D sur lequel je bosse.
Il manque encore beaucoup de choses...
- Il n'y a qu'un seul type de mesh
- je dois ajouter un magnétisme pour que les meshs se collent parfaitement les uns aux autres
- ...and more
Le principe de mon éditeur :
1 - on construit les décors avec des mesh qui ne sont pas texturés
Ces mesh ont cependant un volume qui servira pour les collisions
2 - on pourra mapper toutes ou certaines faces des mesh
3- je vais recréer des meshs (avec textures) à partir des faces texturées
Mais avant de commencer les points 2 & 3, j'attends un peu la version 4.6...
En attendant, je travaille sur l'ergonomie et l'interface de mon éditeur qui avouons-le, sont pas terrible

Déplacement avec les touches gauche-droite et la souris
Quand on pointe sur un mesh, celui-ci devient rouge

En cliquant sur le bouton gauche et en restant appuyé dessus on entre en mode déplacement du mesh.
Là, tout en gardant le doigts sur le bouton gauche (le mesh reste rouge) on clique de F2 à F7 et vous pouvez déplacer ou faire tourner le mesh avec les touches du clavier (haut-bas pour aller vite) (gauche-droite pour de la précision).
Il est clair que le magnétisme est indispensable pour que les jonctions soient clean.
F1 = affiche les boites englobantes
F2 = modifie pos x du mesh
F3 = modifie pos y du mesh
F4 = modifie pos z du mesh
F5 = modifie angle x du mesh
F6 = modifie angle y du mesh
F7 = modifie angle z du mesh
F8 = ajoute un nouveau mesh
F9 = supprime le mesh sélectionné
F10 = mets à 0,00 les valeurs en cours de modification (F2 à F7)
ESC = Quitte le programme
NB = le programme enregistre automatiquement le map avant de quitter.
Si vous avez des suggestions pour améliorer l'ergonomie, je prends !!!
Merci d'avance
http://xdji.free.fr/Telechargement/Mad%20Fire%20II.zip
Only PureBasic makes it possible
Re: Labyrinthe 3D - début d'un nouveau projet
Hello,
Retour de vacances, j'ai lamentablement égaré ma clé USB
avec la plupart de mes dernières sources...
Heureusement, j'ai retrouvé 2, 3 codes sur le forum
A fond la 3D avec la 4.60 beta 4 et la StaticGeometry pour un modeste CreateWorld
Retour de vacances, j'ai lamentablement égaré ma clé USB

Heureusement, j'ai retrouvé 2, 3 codes sur le forum

A fond la 3D avec la 4.60 beta 4 et la StaticGeometry pour un modeste CreateWorld
Only PureBasic makes it possible
Re: Labyrinthe 3D - début d'un nouveau projet
La misère ^^j'ai lamentablement égaré ma clé USBavec la plupart de mes dernières sources...
ça te motive à tâter de la 4.60 comme ça

courage ! Nul doute que tu vas nous pondre de "impressionnant"
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Re: Labyrinthe 3D - début d'un nouveau projet
C'est la version 4.6 qui est impressionnante 
Je suis dans les codes de G-Rom pour essayer de comprendre et pas mal sur le forum anglais : trop nul pour parler mais pas trop non plus pour comprendre !!
J'avance doucement sur une structure commune pour le Map Editor, les collisions et l'affichage d'un monde en 3D.

Je suis dans les codes de G-Rom pour essayer de comprendre et pas mal sur le forum anglais : trop nul pour parler mais pas trop non plus pour comprendre !!
J'avance doucement sur une structure commune pour le Map Editor, les collisions et l'affichage d'un monde en 3D.
Only PureBasic makes it possible
Re: Labyrinthe 3D - début d'un nouveau projet
Hop,
Petite mais heureuse avancée en 3D avec la 4.60 beta 4
grâce aux codes de G-Rom et Comtois repris sur les forums français et anglais
C'est pas joli, j'en conviens mais suis content de mes colonnes...
Deux images à télécharger :
http://xdji.free.fr/Telechargement/Colonne.jpg
http://xdji.free.fr/Telechargement/Sol00.jpg
Avec le code ci-dessous
Petite mais heureuse avancée en 3D avec la 4.60 beta 4
grâce aux codes de G-Rom et Comtois repris sur les forums français et anglais
C'est pas joli, j'en conviens mais suis content de mes colonnes...
Deux images à télécharger :
http://xdji.free.fr/Telechargement/Colonne.jpg
http://xdji.free.fr/Telechargement/Sol00.jpg
Avec le code ci-dessous
Code : Tout sélectionner
; Xdji, Aout 2011
; Pb 4.6 beta 4
; Special Greatings to Comtois & G-Rom for their Work
#CameraSpeed =0.05
#Hauteur = 1
#PB_Engine_Relative_Rotation=16
#PB_Engine_Euler_Rotation=64
Define.f x, y, z, u, v
Define.l Co
Define.w t1, t2, t3
InitEngine3D()
InitSprite()
InitSprite3D()
InitKeyboard()
InitMouse()
ExamineDesktops()
OpenScreen(DesktopWidth(0), DesktopHeight(0), DesktopDepth(0), "char")
;- Génération de la police de caractère
LoadImage(0,"Data/police.bmp")
For j =0 To 46:GrabImage(0,1,j*6,0,6,7)
CreateSprite(j,6,7,#PB_Sprite_Texture):TransparentSpriteColor(j, 0)
StartDrawing(SpriteOutput(j)):DrawImage(ImageID(1),0,0): StopDrawing()
CreateSprite3D(j, j):Next
AntialiasingMode(#PB_AntialiasingMode_x6)
;WorldDebug(#PB_World_DebugEntity)
Add3DArchive("/Data/", #PB_3DArchive_FileSystem)
Add3DArchive("/", #PB_3DArchive_FileSystem)
;---- Matière
LoadTexture(0,"Sol00.jpg")
LoadTexture(1,"Colonne.jpg")
CreateMaterial(0, TextureID(0))
CreateMaterial(1, TextureID(1))
;---- Mesh
CreateMesh(0)
Restore Sommet_carre
For i=0 To 3
Read.f x : Read.f y : Read.f z
Read.l Co
Read.f u : Read.f v
AddMeshVertex(x, y, z)
MeshVertexColor(Co)
MeshVertexTextureCoordinate(u, v)
Next i
For i=0 To 1
Read.w t1 : Read.w t2 : Read.w t3
AddMeshFace(t1, t2, t3)
Next i
FinishMesh()
;-- Creation d'une face rectangulaire
CreateMesh(1)
Restore Sommet_rectangle
For i=0 To 3
Read.f x : Read.f y : Read.f z
Read.l Co
Read.f u : Read.f v
AddMeshVertex(x, y, z)
MeshVertexColor(Co)
MeshVertexTextureCoordinate(u, v)
Next i
For i=0 To 1
Read.w t1 : Read.w t2 : Read.w t3
AddMeshFace(t1, t2, t3)
Next i
FinishMesh()
;-- Creation d'une facette de colonne
CreateMesh(2)
Restore Sommet_colonne
For i=0 To 3
Read.f x : Read.f y : Read.f z
Read.l Co
Read.f u : Read.f v
AddMeshVertex(x, y, z)
MeshVertexColor(Co)
MeshVertexTextureCoordinate(u, v)
Next i
For i=0 To 1
Read.w t1 : Read.w t2 : Read.w t3
AddMeshFace(t1, t2, t3)
Next i
FinishMesh()
;---- Entity
;-- creation de 6 entity pour chacune des 6 faces d'un cube
CreateEntity(0,MeshID(0), MaterialID(0)) ; devant
CreateEntity(1,MeshID(0), MaterialID(0)) ; bas
CreateEntity(2,MeshID(0), MaterialID(0)) ; droite
CreateEntity(3,MeshID(0), MaterialID(0)) ; haut
CreateEntity(4,MeshID(0), MaterialID(0)) ; gauche
CreateEntity(5,MeshID(0), MaterialID(0)) ; derriere
;-- positionne chaque entity pour former les 6 faces du cube
RotateEntity(0,0,0,-90) ; devant
RotateEntity(1,90,0,0) ; face du bas
RotateEntity(2,0,90,0) ; coté à droite
RotateEntity(3,270,0,0) ; haut
RotateEntity(4,0,270,0) ; coté à gauche
RotateEntity(5,180,0,-90) ; face arrière
;-- creation de 6 entity pour chacune des 6 faces d'un pavé
CreateEntity(6,MeshID(1), MaterialID(0),-5,0,0) ; devant
CreateEntity(7,MeshID(0), MaterialID(0),-5,0,0) ; bas
CreateEntity(8,MeshID(1), MaterialID(0),-5,0,0) ; droite
CreateEntity(9,MeshID(0), MaterialID(0),-5,0,0) ; haut
CreateEntity(10,MeshID(1), MaterialID(0),-5,0,0) ; gauche
CreateEntity(11,MeshID(1), MaterialID(0),-5,0,0) ; derriere
;-- positionne chaque entity pour former les 6 faces du pavé
RotateEntity(6,0,0,0) ; devant
RotateEntity(7,90,0,0) ; face du bas
RotateEntity(8,0,90,0) ; coté à droite
RotateEntity(9,90,0,0) ; haut
RotateEntity(10,0,270,0) ; coté à gauche
RotateEntity(11,180,0,180) ; face arrière
;-- creation d'une colonne
x.f=0
y.f=0
angle=0
rayon=1
For j = 1 To 72
x=rayon*Cos(Radian(Angle))
y=rayon*Sin(Radian(Angle))
CreateEntity(12+j,MeshID(2), MaterialID(1),10+x,0,10+y) ; derriere
RotateEntity(12+j,0,90-angle,0) ; devant
angle=angle+5
Next
; Create Static geometry
StaticGeometry = CreateStaticGeometry(#PB_Any, 100000, 100000, 100000, #False)
;-- Création d'un sol
For j = 1 To 200
For i = 1 To 200
AddStaticGeometryEntity(StaticGeometry, 3, j, 0, i)
Next i
Next j
;-- Création d'un plafond
For j = 1 To 200
For i = 1 To 200
AddStaticGeometryEntity(StaticGeometry, 1, j, 5, i)
Next i
Next j
For j = 1 To 100
x=Random(200)
y=Random(5)+1
z=Random(200)
AddStaticGeometryEntity(StaticGeometry, 0, x, y, z)
AddStaticGeometryEntity(StaticGeometry, 1, x, y, z)
AddStaticGeometryEntity(StaticGeometry, 2, x, y, z)
AddStaticGeometryEntity(StaticGeometry, 3, x, y, z)
AddStaticGeometryEntity(StaticGeometry, 4, x, y, z)
AddStaticGeometryEntity(StaticGeometry, 5, x, y, z)
Next
For i = 1 To 20
x=Random(200)
z=Random(200)
angle=0
For j = 1 To 72
AddStaticGeometryEntity(StaticGeometry, 12+j, x+(rayon*Cos(Radian(angle))), 0, z+(rayon*Sin(Radian(angle))))
angle=angle+5
Next
Next
; Build the Static geometry
BuildStaticGeometry(StaticGeometry)
CreateCamera(0, 0, 0, 100, 100)
CameraLocate(0,-10,0,0)
CameraLookAt(0,0, 0, 0)
CameraFOV(0,45)
Deltaz.i=#Hauteur*2
;-
;-- Gestion des textes
;Chaine qui indique l'ordre des lettres contenues dans l'image
Global Strig$ = "ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789-"
; Déclaration de la procédre qui affiche les textes
; (Texte à afficher, position Y, taille, n° de sprite, max aléatoire pour faire trembler la lettre)
Declare AffT(TextMenu01$,y.i,sz.i,sprite.i,rnd.i)
; le texte est automatiquement centré
; Text$ = TExt à afficher
; y =position y du text
; sz =Taille de la police (sert pour le zomm des lettres et de l'espacement)
; sp =Pointe sur le sprite A de la bonne police
; rnd =valeur de tremblement des lettres
Procedure AffT(Text$,y.i,sz.i,sp.i,rnd.i)
sx=0:For i=1 To Len(Text$):For j=1 To Len(Strig$)
If Mid(Text$,i,1)=Mid(Strig$,j,1):a=sz+2
DisplaySprite3D(sp+j-1,sx+Random(rnd)+400-(Len(Text$)*a)/2,y+Random(rnd),200)
sx=sx+sz+2:j=Len(Strig$):EndIf :Next:Next
EndProcedure
;-
;- BIG LOOP
Repeat
ExamineMouse()
ExamineKeyboard()
ClearScreen(0)
;--- Gère la camera Cavier et souris
If KeyboardPushed(#PB_Key_Up)
KeyY.f = -#CameraSpeed
ElseIf KeyboardPushed(#PB_Key_Down)
KeyY.f = #CameraSpeed
Else
KeyY = 0
EndIf
If KeyboardPushed(#PB_Key_Right)
BougeX.f = -#CameraSpeed/2
ElseIf KeyboardPushed(#PB_Key_Left)
BougeX = #CameraSpeed/2
Else
BougeX = 0
EndIf
Yaw.f = MouseDeltaX() / 10
Pitch.f = MouseDeltaY() / 10
RotateCamera(0, -Pitch, Yaw, 0, #PB_Engine_Relative_Rotation | #PB_Engine_Euler_Rotation)
MoveCamera (0, KeyX-BougeX, -CameraY(0)+Deltaz, KeyY)
RenderWorld()
Start3D()
AffT(Str(CountRenderedTriangles())+" TRIANGLES",0,6,0,0)
AffT(Str(Engine3DFrameRate(#PB_Engine3D_Current))+" FPS",10,6,0,0)
Stop3D()
FlipBuffers()
Until KeyboardPushed(#PB_Key_Escape) Or Quit = 1
End
;{ Définition des surfaces composées de 2 triangles chacune
DataSection
Sommet_carre:
Data.f -0.5,0.5,0.5
Data.l $00FF00
Data.f 0,0
Data.f 0.5,0.5,0.5
Data.l $00FF00
Data.f 0,1
Data.f 0.5,-0.5,0.5
Data.l $00FF00
Data.f 1,1
Data.f -0.5,-0.5,0.5
Data.l $00FF00
Data.f 1,0
;Face
Data.w 2,1,0
Data.w 0,3,2
Sommet_rectangle:
Data.f -0.5,1,0.5
Data.l $00FF00
Data.f 0,0
Data.f 0.5,1,0.5
Data.l $00FF00
Data.f 0,1
Data.f 0.5,-1,0.5
Data.l $00FF00
Data.f 1,1
Data.f -0.5,-1,0.5
Data.l $00FF00
Data.f 1,0
;Face
Data.w 2,1,0
Data.w 0,3,2
Sommet_colonne:
Data.f -0.1,4.5,0.1
Data.l $00FF00
Data.f 0,0
Data.f 0.1,4.5,0.1
Data.l $00FF00
Data.f 0,1
Data.f 0.1,0.5,0.1
Data.l $00FF00
Data.f 1,1
Data.f -0.1,0.5,0.1
Data.l $00FF00
Data.f 1,0
;Face
Data.w 2,1,0
Data.w 0,3,2
EndDataSection
;}
Only PureBasic makes it possible
Re: Labyrinthe 3D - début d'un nouveau projet
Arf j'attends la 4.60 qui doit pointer son nez en septembre.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Re: Labyrinthe 3D - début d'un nouveau projet
Un petit pas de plus !!
Well, avec la 4.6 RC1 et les posts du forum français et anglais de G-Rom et Comtois principalement que je remercie infiniment, j'ai consolidé mon avancée en 3D=> j'ai même fouillé très profond dans le forum et j'ai beaucoup appris
Je fais un éditeur de décor qui fonctionne par l'assemblage de dalles (rectangulaires pour l'instant), mais je pourrai intégrer d'autres formes géométriques pour des décors moins urbains et plus naturels et pour casser l'effet carré...
Comme les dalles sont indépendantes les unes des autres et pour assurer une jointure parfaite entre les dalles, j'ai programmé un magnétisme agissant entre chacun des points du mesh de l'entity que l'on est en train de positionner avec les autres meshs des entity déjà positionnés. Je peux copier-coller-supprimer les dalles...
C'est pas terrible à manipuler mais avec l'habitude et avec la grande tolérance du programmeur envers ses propres créations, j'arrive à construire des décors assez rapidement sans trop m'énerver
Voici un petit décor à visualiser : http://xdji.free.fr/Telechargement/PlayerWorld.zip
Déplacement => fleches clavier + souris + molette souris
En code, il n'y a que le player car l'éditeur est imbuvable => je posterai une version ergonomique
Il me reste à ajouter un grand nombre de fonctions pour enrichir le MapEditor.
- déformer légèrement une surface pour casser l'effet trop plat et trop parfait d'un sol
- mettre des dalles animées ou animables (portes) => qui ne seront pas dans la StaticGeometry
- éclairage
- and more
Je vais aussi enrichir ma bibliothèque de textures et de géométries des mesh
Well, avec la 4.6 RC1 et les posts du forum français et anglais de G-Rom et Comtois principalement que je remercie infiniment, j'ai consolidé mon avancée en 3D=> j'ai même fouillé très profond dans le forum et j'ai beaucoup appris

Je fais un éditeur de décor qui fonctionne par l'assemblage de dalles (rectangulaires pour l'instant), mais je pourrai intégrer d'autres formes géométriques pour des décors moins urbains et plus naturels et pour casser l'effet carré...
Comme les dalles sont indépendantes les unes des autres et pour assurer une jointure parfaite entre les dalles, j'ai programmé un magnétisme agissant entre chacun des points du mesh de l'entity que l'on est en train de positionner avec les autres meshs des entity déjà positionnés. Je peux copier-coller-supprimer les dalles...
C'est pas terrible à manipuler mais avec l'habitude et avec la grande tolérance du programmeur envers ses propres créations, j'arrive à construire des décors assez rapidement sans trop m'énerver

Voici un petit décor à visualiser : http://xdji.free.fr/Telechargement/PlayerWorld.zip
Déplacement => fleches clavier + souris + molette souris
En code, il n'y a que le player car l'éditeur est imbuvable => je posterai une version ergonomique
Il me reste à ajouter un grand nombre de fonctions pour enrichir le MapEditor.
- déformer légèrement une surface pour casser l'effet trop plat et trop parfait d'un sol
- mettre des dalles animées ou animables (portes) => qui ne seront pas dans la StaticGeometry
- éclairage
- and more
Je vais aussi enrichir ma bibliothèque de textures et de géométries des mesh
Only PureBasic makes it possible
Re: Labyrinthe 3D - début d'un nouveau projet
Hi !
Ca tourne nickel sur mon pc en carton
.
Le mur est magnifique !
les tiles sont bien jointes.
Si j'avais un chien, je suis sûr qu'il apprécierait
!
En tout cas, c'est très prometteur !
Hasta la vista !
Ca tourne nickel sur mon pc en carton

Le mur est magnifique !
les tiles sont bien jointes.
Si j'avais un chien, je suis sûr qu'il apprécierait

En tout cas, c'est très prometteur !
Hasta la vista !
Elevé au MSX !
Re: Labyrinthe 3D - début d'un nouveau projet
Merci Huitbit & Hi aussi,
J'ai pensé à ton futur chien, je lui ai posé un tas de mur (en métal, ça se nettoie plus facilement
).
Evolution du zinzin, j'ai perdu tout mon décor précédent car j'ai du modifier le format des mesh et j'ai refais un niveau de test avec les collisions sur le sol et les murs.
J'ai réussi des collisions sur des murs avec une orientation libre => c'est pas encore un peu rugueux mais j'en suis déjà bien content !
http://xdji.free.fr/Telechargement/PlayerWorld.zip
Prochain objectif, mettre en place des rampes avec différents étages...et surtout refaire un décor un peu plus grand.
ça me permettra de mettre en place un système de zone, style Quadtree, qui évite de tester les collisions avec toutes les dalles mais uniquement les plus proches... puis insérer des entitys dynamiques (portes, sas...), mesh transparent (fenetre), lampes et ombres (j'ai pas trop réussi, je sais pas si c'est la RC1 qui bug ou moi => enfin si je sais, c'est forcément moi !!!).
J'ai pensé à ton futur chien, je lui ai posé un tas de mur (en métal, ça se nettoie plus facilement

Evolution du zinzin, j'ai perdu tout mon décor précédent car j'ai du modifier le format des mesh et j'ai refais un niveau de test avec les collisions sur le sol et les murs.
J'ai réussi des collisions sur des murs avec une orientation libre => c'est pas encore un peu rugueux mais j'en suis déjà bien content !
http://xdji.free.fr/Telechargement/PlayerWorld.zip
Prochain objectif, mettre en place des rampes avec différents étages...et surtout refaire un décor un peu plus grand.
ça me permettra de mettre en place un système de zone, style Quadtree, qui évite de tester les collisions avec toutes les dalles mais uniquement les plus proches... puis insérer des entitys dynamiques (portes, sas...), mesh transparent (fenetre), lampes et ombres (j'ai pas trop réussi, je sais pas si c'est la RC1 qui bug ou moi => enfin si je sais, c'est forcément moi !!!).
Only PureBasic makes it possible
Re: Labyrinthe 3D - début d'un nouveau projet
tu peux compiler un petit exe que je test ^^
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Re: Labyrinthe 3D - début d'un nouveau projet
oki,
J'ai ajouté la nouvelle Engine3D.dll + 1 exe dans le zip précédent...
J'avais retravaillé le code entre temps. Ce n'est donc plus la même version.
En plus ya des tuilages à la rapide et j'ai du bouger la souris en meme temps => des trous dans le mur...
J'ai commencé à poser des dalles inclinées pour le sol pour tester les collisions mais la technique utilisée n'est pas terrible, je vais utiliser celle que j'utilise pour les murs, elle sera plus précise. Normalement, avec je pourrai intégrer des rampes, des escaliers, des ascenseurs, des étages, des falaises...
Pour l'affichage, j'utilise la staticgeometry, nouvelle fonction de la 4.6 qui permet de gerer un tres grand paquet d'entity statiques. Je pourrai ajouter des entitys indépendantes pour les élements mobiles. je vais essayer de mettre une porte coulissante automatique un de ces soirs.
J'ai ajouté la nouvelle Engine3D.dll + 1 exe dans le zip précédent...
J'avais retravaillé le code entre temps. Ce n'est donc plus la même version.
En plus ya des tuilages à la rapide et j'ai du bouger la souris en meme temps => des trous dans le mur...
J'ai commencé à poser des dalles inclinées pour le sol pour tester les collisions mais la technique utilisée n'est pas terrible, je vais utiliser celle que j'utilise pour les murs, elle sera plus précise. Normalement, avec je pourrai intégrer des rampes, des escaliers, des ascenseurs, des étages, des falaises...
Pour l'affichage, j'utilise la staticgeometry, nouvelle fonction de la 4.6 qui permet de gerer un tres grand paquet d'entity statiques. Je pourrai ajouter des entitys indépendantes pour les élements mobiles. je vais essayer de mettre une porte coulissante automatique un de ces soirs.
Only PureBasic makes it possible
Re: Labyrinthe 3D - début d'un nouveau projet
Hop,
Petite actualisation du player...
http://xdji.free.fr/Telechargement/PlayerWorld.zip
Collisions latérales et horizontales, escalier...
Demain : samedi après-midi quartier libre (ma douce et les enfants vont chez une copine), donc 4 heures pour avancer comme un malade sur le projet
Je vais blinder les tests de collisions avant optimisation
Petite actualisation du player...
http://xdji.free.fr/Telechargement/PlayerWorld.zip
Collisions latérales et horizontales, escalier...
Demain : samedi après-midi quartier libre (ma douce et les enfants vont chez une copine), donc 4 heures pour avancer comme un malade sur le projet

Je vais blinder les tests de collisions avant optimisation
Only PureBasic makes it possible
Re: Labyrinthe 3D - début d'un nouveau projet
Je viens de testé sur windows 7 64
Recherche un post avec Comtois comme auteur et "collision avec axe séparateur" et inspire toi en, je l'avais fait jadis avec mon engine3D perso :
http://www.dailymotion.com/video/x4w7y7 ... ic-3d_tech
ca marchais plutôt bien

Recherche un post avec Comtois comme auteur et "collision avec axe séparateur" et inspire toi en, je l'avais fait jadis avec mon engine3D perso :
http://www.dailymotion.com/video/x4w7y7 ... ic-3d_tech
ca marchais plutôt bien

Re: Labyrinthe 3D - début d'un nouveau projet
Ok merci G-rom pour les liens.
Jolie la demo
C'est la mort assurée W 7 64 !!
J'ai vu le test de Comtois, j'analyse...
Jolie la demo
C'est la mort assurée W 7 64 !!
J'ai vu le test de Comtois, j'analyse...
Only PureBasic makes it possible