Bonjour à tous !
Je suis sur l'élaboration d'un moteur 3D et je rencontre quelques petits soucis.
J'ai une carte (heightmap), de l'eau avec reflet (depuis 2 plans de la carte), et des models (.x "petit canard"). Lorsque je lance le tout, cela fonctionne très bien mais lorsque je crée un model (un canard). il s'affiche, il rentre bien en collision avec ma carte. Il se pose sur le terrain mais aussi sur l'eau (alors qu'il est physiquement dessous). Au niveau de l'échelle, en montant ou en descendant l'eau, je vois bien que le canard tombe bien dans l'eau mais il est affiché dessus (vérifié en mode filaire pour la position du canard)
Mon second soucis c'est que si je met plusieurs canards, ceux du fond sont parfois affichés par dessus ceux de devant (ce qui est illogique).Au début, je n'arrivais pas du tout à poser mes canard, j'ai du utiliseravant le rendu du model (de chaque canard) puis
Code : Sélectionner tout - Visualiser dans une fenêtre à part Moteur.GraphicsDevice.RenderState.DepthBufferEnable = false;
Si je ne met pas ça, le canard s'affiche pas du tout...
Code : Sélectionner tout - Visualiser dans une fenêtre à part Moteur.GraphicsDevice.RenderState.DepthBufferEnable = true;
J'aimerais comprendre comment gérer ça car le terrain qui contient l'eau, le ciel et la heightmap sont dans une même classe et le modèle dans une autre. J'ai crée un ordre d'affichage et j'ai bien le terrain qui s'affiche avant le(s) canard(s).
Merci
Partager