IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

XNA/Monogame Discussion :

comment ajouté l'effet de lumiere sur ma scene ?


Sujet :

XNA/Monogame

  1. #1
    Membre régulier

    Inscrit en
    Février 2009
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 106
    Points : 71
    Points
    71
    Billets dans le blog
    1
    Par défaut comment ajouté l'effet de lumiere sur ma scene ?
    Bonjour.
    j'ai réussi a afficher une chambre dans ma scène (elle est nul mais bon ) a l'aide de certaines membres bien sur, tous vas bien sauf que l'effet de lumière na pas été appliqué sur ma scène, je m'explique :
    dans 3dsmax j'ai déjà ajouté un effet de lumière comme une lampe, et quand j'exporte en FBX puis l'importe sur C#, cette lumière disparait et mon model deviens sombre, j'ai cherché d'ici là mais j'ai trouvé que du code pour l'effet de lumière via une espèce de "shader" ou un truc comme ça .
    y a t-il pas un moyen d'afficher les même lumières présentes sur mon model dans mon application ?, un truc du genre prendre en considération l'effet lumière déjà présent.
    si non, j'aimerai bien qu'on me montre d'où commencer par un tutoriel s.v.p

    j'utilise c'est lignes dans mon application, et quand je les supprime rien ne change, j'aimerai bien savoir a quoi ça sert lol
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    effect.EnableDefaultLighting();
    effect.PreferPerPixelLighting = true;
    en sachon que je veux juste que mon jeux ai de la lumière plus intense que celle fournie par défaut, je veux pas d'effet de lumière ni d'ambre, alors si il y a un truc facile j'opte pour
    merci d'avance

  2. #2
    Membre régulier

    Inscrit en
    Février 2009
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 106
    Points : 71
    Points
    71
    Billets dans le blog
    1
    Par défaut
    Désolé pour le up les mecs, mais ça fait une journée que je suis stagné
    je veux juste que ma scène deviens un peut plus allumé (sans ambre pour ne pas compliquer les choses si on veux), ai-je besoin de coder mon propre shader pour cela ?

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 59
    Points : 50
    Points
    50
    Par défaut
    Yop,

    Alors en fait la classe BasicEffect remplace les Shaders (Vertex & Pixel Shader) pour des scènes simples ou tu n'as pas envie / le temps de faire des vrais "shaders".

    Alors à mon avis ton fichier FBX contient à la fois la géométrie de ta scène + les shaders mais je n'en suis pas sur...

    Donc tu peux déjà commencer par regarder les tutoriels xna sur MSDN qui sont bien fait je trouve : http://msdn.microsoft.com/en-us/library/bb203926.aspx

    Tu en as pour BasicEffect mais aussi pour plein d'autres domaines de XNA.

    Après si tu veux aller plus loin et faire du "vrais shader" essaye du coté de HLSL de microsoft qui s'intègre bien à XNA. Une bonne série de tutos : http://forums.xna.com/forums/t/27849.aspx

    Sa te permettra de faire des effets de reliefs (Normal Mapping, Parallax Mapping, etc) des effets de réflection (Eau, etc) et bien d'autres.

    Voila, en attendant que les "pros" te répondent

  4. #4
    Membre régulier

    Inscrit en
    Février 2009
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 106
    Points : 71
    Points
    71
    Billets dans le blog
    1
    Par défaut
    salut
    merci pour ta réponse mais mon problème persiste encore
    j'ai cherché sur le net des cours du Shader mais au bout du compte ils affiches un truc pas éclairé et plutôt tout blanc ou rouge
    moi j'ai un model texturé, je veux garder ces couleurs, je veux juste ajouter de la lumière d'ambiance se qui s'avère difficile a se que je vois.
    je veux pas apprendre a coder avec HLSL (mon propre shader), c'est pas encore mon niveau, mais comme même y a surement un "exemple" qui train quelque part et qui donne de la lumière, il suffit juste de le télécharger ce xxx fichier .fx et du copier coller ici et la pour passer au choses sérieuses comme les collisions (ca me fait peur déjà en le disons)
    Maidé Maidé ici GameX entrain de se fondre a vous

  5. #5
    Membre régulier Avatar de LeonardL
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    57
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 57
    Points : 71
    Points
    71
    Par défaut
    Tu actives la lumière :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    effect.LightingEnabled = true;
    Puis, pour la lumière ambiante, tu définis son intensité. Ici on utilisera une lumière blanche.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    effect.AmbientLightColor = new Vector3(1, 1, 1);
    Si tu ne voulais pas de lumière ambiante (ou plutôt devrais-je dire, une lumière ambiante noire), tu définis le vecteur uniquement avec des zéro. Tu comprendras donc que les valeurs doivent varier de 0 à 1

  6. #6
    Membre régulier

    Inscrit en
    Février 2009
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 106
    Points : 71
    Points
    71
    Billets dans le blog
    1
    Par défaut
    Merci infiniment LeonardL tu ma sauvé pour la 2éme fois maintenat
    c'était plaint dans le mile, bon sang j'aurai juste essaiyé de faire un "effet." j'aurai trouvé la réponse mais bon
    cette commande ma sauvé man
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    effect.AmbientLightColor = new Vector3(1, 1, 1);
    au lieu de coder un shader ou ché pas quoi.
    didon j'aimerai savoir autre chose.
    cela concerne la programmation C#.
    j'ai plusieurs chambres,et dans chaque chambre contien des models,
    a chaque fois que je veux afficher cette chambre j'aimerai acceder a un truc comme une fonction la ou je trouverai le nom du model a charger, et pouvoir trouvé d'autre informations comme (la génération de X objet N fois).
    bref comme accéder a un truc qui contiens des infos concernant une chambre nommé chambre 1 et pour la chambre 2 il y a le même truc avec son nom.
    je veux pas utiliser des classes ou structure pars que les donnée peuvent variés d'une chambre.
    j'utilise pour l'instant une fonction pour chaque chambre, mais des fois j'aimerai acceder a des donnée specifique dans cette fonction se qui est impossible a se que je pense, voici ma fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
            public void Draw_room_01()
            {
                parket_01_chambre_01 = Content.Load<Model>("chambre01\\models\\room_01");
                transforms = new Matrix[parket_01_chambre_01.Bones.Count];
                parket_01_chambre_01.CopyAbsoluteBoneTransformsTo(transforms);
            }
    le problem c'est que y a des fois que j'aimerai initialiser des variables et des fois executer des traitements mais pas le tout a la fois.
    comme par exemple j'aimerai initialiser un variable je fait "chambre_01.func1" ou func1 contiens se que je veux, des fois j'aimerai exécuter un bout de code comme "chambre_01.func2" d'ou func2 contiens des traitement.
    cela reviens a créer une fonction mère appelé "chambre_01" et des sous fonction appelé "func1"-"func2".
    comment pourrai-je y remédier pour organiser mon travaille.
    merci infiniment pour tous

  7. #7
    Membre régulier Avatar de LeonardL
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    57
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 57
    Points : 71
    Points
    71
    Par défaut
    Tu peux très bien le faire avec des classes que tu sérialises. Je te renvoies vers un article sur le blog du Gulix :
    http://www.gulix.fr/blog/spip.php?article142

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 11/09/2008, 15h21
  2. Comment ajouter une zone de texte sur excel?
    Par devlopassion dans le forum Excel
    Réponses: 2
    Dernier message: 03/09/2006, 13h12
  3. Réponses: 2
    Dernier message: 07/08/2006, 21h21
  4. Réponses: 8
    Dernier message: 26/03/2006, 15h09
  5. Débutant : Comment ajouter une ligne à un DataGrid sur VB ?
    Par gamool dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 23/11/2005, 23h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo