begin process at 2012 02 13 08:48:38
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Direct X

 > TERRAIN 3D AVEC COLLISION

TERRAIN 3D AVEC COLLISION


 Information sur la source

Note :
9,33 / 10 - par 3 personnes
9,33 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Direct X Source .NET ( DotNet ) Classé sous :directx, terrain, 3d, collision, shadowtzu Niveau :Initié Date de création :04/11/2006 Date de mise à jour :24/11/2009 15:17:02 Vu / téléchargé :15 464 / 27 379

Auteur : ShadowTzu

Ecrire un message privé
Site perso
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (38)
Ajouter un commentaire et/ou une note


 Description

Cliquez pour voir la capture en taille normale
Et bien voici comment générer un terrain en 3d à partir d'une texture en niveau de gris et obtenir la hauteur du terrain a partir d'une position donné.


 Conclusion

Afin de réduire la taille du zip les textures seront automatiquement télécharger à partir de mon site et sauvegardé dans le dossier de l'exe.

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

21 novembre 2006 13:36:24 :
Correction d'un bug avec les collisions lorsque le terrain est en qualité 1 Correction de la création des vertex/index buffer
24 novembre 2009 15:17:04 :
ajout de la classe mesh_static afin de placer un objet 3d sur le terrain.

 Sources du même auteur

Source avec Zip Source .NET (Dotnet) [VB.NET 2008] EXECUTION MULTITHREAD DE PLUSIEURS FONCTION À ...
Source avec Zip Source .NET (Dotnet) ARCHIVER PLUSIEURS FICHIER DANS UN SEUL
Source avec Zip Source avec une capture Source .NET (Dotnet) NORMAL MAPPING
Source avec Zip Source .NET (Dotnet) GETPIXEL TRÈS RAPIDE

 Sources de la même categorie

Source avec une capture HAPPY LAND - 3D VB6 GAME - OPEN SOURCE CODE par ZaidMarkabi
Source avec une capture METAL GEAR SOLID - 3D VB6 GAME - OPEN SOURCE par ZaidMarkabi
Source avec une capture FIGHT COMBAT II - 3D VB GAME - OPEN SOURCE par ZaidMarkabi
Source avec Zip Source avec une capture UTILISER LA CAMERA POUR DIRECTX par zulrigh
Source avec une capture STREET FIGHTER - 3D VB GAME - OPEN-SOURCE par ZaidMarkabi

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture UN ECRAN DE VEILLE AVEC DES TRIANGLES par zulrigh
Source avec Zip Source avec une capture UTILISER LA CAMERA POUR DIRECTX par zulrigh
Source avec Zip Source avec une capture EXEMPLE D'UTILISATION DE DIRECTX - DES BOULES "TOURNOYANTE" par zulrigh
Source avec Zip Source avec une capture BASE POUR UTILISER DIRECTX SUR VISUAL BASIC par zulrigh
Source avec Zip Source avec une capture ENVIRONEMENT 3D A LA PREMIÈRE PERSONNE. DIRECTX8 par djine

Commentaires et avis

Commentaire de survcopt le 05/11/2006 08:40:05

Super ça marche nickel (vb2005)

Commentaire de survcopt le 05/11/2006 08:52:05

Une petite question est-ce que tu peux m'expliquer comment utiliser ton bout de code pour l'afficher dans une picturebox Merci

Commentaire de ShadowTzu le 05/11/2006 11:09:27

il suffit de changer me.handle (form1) par ton picturebox, du genre:
T3D = New Engine(picture1.Handle, False)

Commentaire de survcopt le 05/11/2006 13:30:58

Super ca marche , par contre pourquoi l'image de fond que tu affiches l'image elle apparait à l'envers (la gauche est à doite) , l'images est collée par dessous ?

Commentaire de ShadowTzu le 05/11/2006 13:38:33

j'ai pas compris t'as question, quel image de fond?
sinon, non rien n'est à l'envers tout est bien à ça place :)

Commentaire de survcopt le 05/11/2006 14:32:34

l'image qu tu utilises pour ta texture "map_test_TX.jpg" ,si tu la remplaces par une image avec du texte tu verras que le texte à un effet miroir il se lit à l'envers .

Commentaire de bizzard4 le 06/11/2006 05:46:23

Moi j'ai 2 erreurs apparente :S

Premierement qunad je ferme la fenêtre l'erreur suivante se produit :

Microsoft.DirectX.Direct3D.DriverInternalErrorException was unhandled
  ErrorCode=-2005530585
  ErrorString="D3DERR_DRIVERINTERNALERROR"
  LastError=0
  Message="Error in the application."
  Source="Microsoft.DirectX.Direct3D"
  ...
Sur la ligne :  mdev.Present()

Et aussi qunad j'ouvres je vois tout simplement rien. Si je bouge beaucoup je fini par voir un petit carré du plancher mais c'est comme si je verait pas plus qu'un pied devant moi.

Je suis vraiment interessé à cette source alors j'aurais de besoin d'aide pour corriger les 2 petits bugues. MErci !

Commentaire de survcopt le 06/11/2006 08:09:46

As-tu le dernier SDK , celui d'octobre ?

Commentaire de ShadowTzu le 06/11/2006 12:54:35

pour fermer la fênetre il faut appuyer sur la touche Escape, ou sinon dans l'événement "FormClosing" de form1 ajoute ça:
If OnRender = True Then
OnRender = False
e.Cancel = True
End If

pour l'autre bug, quel version du Sdk et carte graphique as-tu?

Commentaire de bizzard4 le 06/11/2006 14:04:08

Bon ! J'ai tester le même programme sur mon gros ordi avec une meilleur carte 3d et il marche a merveille !!

Ici j'ai une : Mobil Intel 945GM Express Chipset Family
Sur mon gros j'ai : GeForce 5700

Ici j'ai la SDK d'august et sur mon gros aussi.

Commentaire de cuq le 07/11/2006 11:41:06

Bonjour,
J'ai une question un peu en marge du code. Est-il possible de compiler le projet avec VB2005 Express.

Quand je charge le projet sous Express j'ai un problème de référence sur Microsoft.DirectX.Direct3D est-ce une limitation de la version VB2005 Express ? ou un problème de config sur mon pc ?

Commentaire de scottmat le 07/11/2006 13:16:52

Salut CUQ,
non avec VB Express no problème ! Si les erreurs que tu nous dis s'affiche c'est que le pack SDK n'est pas installer :) va sur le site de Microsoft pour le télécharger

Commentaire de bizzard4 le 07/11/2006 18:20:49

Pour mon problème la carte 3d pourait t'elle être le problème ?

Commentaire de scottmat le 07/11/2006 23:58:10

Bin écoute d'après ta configuration ce sont deux très bonne carte graphique. Sur le 'petit' tu as tous de même 128 Mo et de bon composants qui l'entour. Je ne vois pas le souci dans ta configuration matériel !

Personnellement je pense plutôt logiciel, je ne vois que ca. Je l'ai testé que sur l'un de mes pc qui est équipé d'une MSI GeForce4 MX 460 VTP et cela marche à merveille mais quand je ferme l'application il m'affiche que le programme à planter par un message classique de Windows (Envoyer les infos à Billou ou pas :) )

Bonne source, bravo ShadowTzu, sa m'hérite un bon petit 8/10
En plus source 3D rester assez compliquer pour des programmeurs débutants. Voila un bon petit exemple :)

Commentaire de bizzard4 le 08/11/2006 04:57:50

Après avoir télécharger la nouvelle SDK j'ai encore le même problème. C'est vraiment domage car j'étais dans la conception d'un jeu et ta source serait telement utile pour la gestion des collisions. Si tu peux me l'expliquer je serais vrm content Merci !!

Commentaire de tinux le 11/11/2006 23:38:56

Pour ma part très bon fps (> 180) sur X850@XTPE@570/600 Donc pas de soucis ^^ mais je suis sûr qu'avec une simple petite 8800GTX ça devrait tourner :>)

Commentaire de ShadowTzu le 21/11/2006 13:38:46

j'ai corrigé la taille des tableaux vertices et indices qui ne correspondaient pas avec la taille des vertex/index buffer. C'est peut-être ça qui provoquait ton problème bizzard4.

Commentaire de bizzard4 le 21/11/2006 16:57:32

Je vois maintenant à 2 pied devant moi !! ca avance ! :P :P C'Est peux ête les drivers de ma carte 3d qui sont pas à jour. Je regarde sa et je ten reparle !

Commentaire de Children le 06/11/2007 12:07:27

Bonjours, j'essaie de comprendre le code... Ce n'est pas gagner, mais est-ce que -si quelqu'un passe par ici- quelqu'un pour m'expliqué quel est le fichier à modifié pour créer, par exemple, un terrain plat. Est-ce directement dans le code généré pr la form "affichage", ou dans les classes?
La source marche très bien, mais manque par fois de commentaires....
Merci pour toute réponse fournit ^^.

Commentaire de ShadowTzu le 06/11/2007 22:21:00

Dans la classe terrain, regarde à partir de la création du vertex buffer et particulièrement cette ligne:

vertices(x + (y * Width)).Position.Y = Terrain(x, y)

le tableau Terrain à été créé à partir de la texture en niveau de gris donc donne la hauteur pour suivant x et y.
Pour avoir un terrain plat, il suffit donc de modifier cette ligne en:
vertices(x + (y * Width)).Position.Y = 0

(ou toute autres valeurs)

Commentaire de Children le 11/11/2007 19:07:58 10/10

Merci beaucoup de ton aide ShadowTzu ;). J'essaie de repéré quoi coorespond à quoi dans la source à fin de mieux m'y repéré. Sur ce, a+

Commentaire de juliengj le 23/11/2009 22:11:09

Bonjour a tous. Je viens de regarder votre source et je la trouve super.
Je voudrai savoir comment insérer un objet 3D dans se monde ?

Merci d'avance

Commentaire de ShadowTzu le 24/11/2009 00:16:31

coucou, je vous recommandes de jeter un oeil sur l'une de mes autres sources: NORMAL MAPPING, et plus précisément la classe: Mesh_static

Commentaire de juliengj le 24/11/2009 07:21:47

Ok merci de votre réponse. Je regarde votre source ! (Je ne l'avais pas vue !)

Commentaire de juliengj le 24/11/2009 13:04:53

Bonjour. ShadowTzu  je viens d'explorer votre source sur l'objet 3D. Je ne trouve pas le boue de code qui définie la position, hauteur ext... d'un pilier.(objet)

Merci d'avance.

Commentaire de ShadowTzu le 24/11/2009 15:18:37

je viens de mettre la source à jours. J'ai ajouté la classe mesh_static afin de charger/placer un objet 3d sur le terrain.

Commentaire de juliengj le 24/11/2009 16:51:35

Merci beaucoup ! Je teste.

Commentaire de juliengj le 24/11/2009 21:57:05

Merci pour l'objet mais je voudrai savoirs comment modifier la forme de l'objet. Grandeur,largeur,hauteur ext...
Merci d'avance.

Commentaire de ShadowTzu le 25/11/2009 12:25:22

c'est la propriété Scale = (1,1,1): la taille "normal", = (0.5,0.5,0.5): taille diminué de moitié, etc..

Commentaire de juliengj le 25/11/2009 13:19:22

Merci je vais tester. C'est aussi ça pour la forme arrondie de l'objet ? Si je veux faire un carrer 3D en modifiant ses fonctions je pourrai ?

Commentaire de ShadowTzu le 25/11/2009 17:03:46

non, pour avoir un cube il faut... charger le modèle 3d d'un cube. Vous devriez regarder plus attentivement le code source et comprendre comment DirectX fonctionne.

Commentaire de juliengj le 26/11/2009 12:13:44

Ok merci. Tout se passe au chargemen de l'objet 3D pour la forme. Apres pour la dimenssion
X Y Z c'est Scale.

Commentaire de juliengj le 26/11/2009 12:50:39

Je viens de trouver pour modifier la forme de l'objet. Jais regardé le fichier X, "lenternred_mesh.X". Par contre y a énormément de nombre. En modifier 1 ligne jais modifier la forme du pied.

Commentaire de juliengj le 26/11/2009 18:15:32

salut. Avec le logiciel Metasequoia je fait mes objet 3D mais le probleme c'est qu'il n'y a pas de couleur. L'objet reste blanc.
Pouvez-vous m'aider ?

Commentaire de ShadowTzu le 26/11/2009 18:40:44

si c'est tout blanc c'est qu'il manque la texture. Pour utiliser les couleur défini dans le model, ajoutez cette ligne dans la fonction Render de la classe mesh_static:
mdev.Material = Mat(i)

Commentaire de juliengj le 27/11/2009 12:10:12

Marche pas.
Voila se que jais mis :

Public Sub Render()
        Set_MatrixWorld(PosChanged, Matrice, pv_Position, pv_Scale, pv_Rotation)
        Dim i As Integer
        For i = 0 To NumX
            mdev.SetTexture(0, Tex(i))
            mdev.Material = Mat(i)
            Mon_Mesh.DrawSubset(i)
        Next
    End Sub

Mon objet 3D est de couleur verte (pas d'image), l'objet 3D reste blanc.
Aussi quand je place un objet 3D sur le terrain on peut le transpercer. Une possibilité de s'arrêter juste devant l'objet ? comme un mur.

Commentaire de ShadowTzu le 27/11/2009 18:33:16

il faut activer la lumière pour que les matériaux fonctionnent. Et pour les collisions il faut savoir utiliser DirectX et avoir quelque notion de trigonométrie.

Commentaire de juliengj le 27/11/2009 20:05:25

Ok merci. Comment activer la lumière ?

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Detection de collision en 3D [ par John Patrick Mason ] Salutmon probleme est le suivant : j'aurais besoin de connaitre le point dintersection entre un plan et une droite le tout dans un espace en 3D. J'en creation d'un terrain 3d à partir d'une carte [ par survcopt ] Je suis à la recherche d'info pour faire un affichage en mode fenêtre d'une carte , connaissant les coordonnées XYZ de chaque point de la carte . DirectX 3D [ par raphblanchard ] Je cherche a selectionner une facette sur un objet 3D (attention ce n'est pas un mesh : j'y arrive deja avec les Mesh), est ce que quel'un a une idée? DIRECTX7, aidez moi sil vous plait [ par Guyom38 ] Je tente de comprendre ce systeme, mais c pas evident, alors si qq un voulez bien maider sa serez cool !!!Je veux faire une sorte de jeux RPG, en 3d I comment du text en 3d avec directx [ par badine ] je cherche a ecrire un modul qui me permetrqi de fqir du text en 3d avec des effet genre du feux explosionou motion blur please si kelkun peut m aide DirectX 3D : qualité [ par raphblanchard ] Je cherche à améliorer la qualité de ma scène 3D (elle est pixeliser à mort)Exisrte-il un moyen de regler la résolution de DIrectX?????Merci d'avance Direct 3d [ par abdoulax ] Bon b voila je voudrai essayé de faire une application en direct 3d mais le problème c'est que lorsque je compile ça me di kil ne trouve pas la dll di Tuto pour DirectX 9 3D [ par cybergob ] Bonjour a tousquelqu'un aurai un bon tutorial pour utilisé le 3D avec DirectX9 ???CyberGob ! cube 3d en rotation [ par bobo91 ] bonjour tous le mondecomme je connais pas le monde de directx sous vb6je m'adresse a vous pour m'aidera declarer directx et a construire les instrucio Recherche person pour projet de Moteur 3D sous VB6+DirectX 8 [ par Tellurian ] SalutJe cherche des personnes qui voudraient créé un moteur 3D sous forme de DLL avec VB6 et DirectX 8.J'ai deja créé pa mal de moteur protoype mais l


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 5,491 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales