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

3D Java Discussion :

Un objet disparait dans java3d


Sujet :

3D Java

  1. #1
    Candidat au Club
    Inscrit en
    Mars 2010
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 4
    Points : 4
    Points
    4
    Par défaut Un objet disparait dans java3d
    Bonjour,

    J'ai fait une scène assez simple sous java3d.

    Sur cette image, vous pouvez voir les 3 boites censées apparaire.
    http://img84.imageshack.us/img84/101...ththirdbox.png

    Les boites sont en fait une classe perso dérivée d'un BranchGroup.
    Ici, j'en ai instancié 3 que j'ai passé ensuite à une autre classe perso, Box3dCreator, qui crée l'univers, les canvas... et qui permet de positionner les boites.

    Si je place la 3e boite à une position de 0,999 en z, elle apparait comme ci dessus, mais si je la place en 1, elle disparait, comme ci dessous.
    http://img687.imageshack.us/img687/4...utthirdbox.png

    Remarquez que le texte, qui fait parti de la boite, continu d'apparaitre.
    Avez vous une idée de là où ça peut venir ?

    Je peux poster le code, mais il y en a pas mal...
    Merci d'avance
    Pac

    <config>Ubuntu / Chrome</config>

  2. #2
    Expert confirmé
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Points : 4 539
    Points
    4 539
    Par défaut
    Citation Envoyé par pacgyver Voir le message
    Si je place la 3e boite à une position de 0,999 en z, elle apparait comme ci dessus, mais si je la place en 1, elle disparait[/url]
    est ce que tu obtiens le même résultat avec les autre boites ?

  3. #3
    Candidat au Club
    Inscrit en
    Mars 2010
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 4
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par slim_java Voir le message
    est ce que tu obtiens le même résultat avec les autre boites ?
    Oui, en reculant la boite #2 en -0,99 sur Z, elle est encore visible, et si je la recule de 1, elle disparait.

    Par contre, si je redimensionne la boite 1 pour qu'elle mesure 1,5 en Z, et donc qu'elle dépasse la "limite", on la voit en entier.
    Je sais pas si c'est très clair ?

    Edit : je me rend compte que si je les bouge vers la droite (en Y), ça a le même effet :
    <1 pas de soucis
    >= 1 disparait

    J'ai une boundingsphere, mais elle a un diamètre de 100...

    Edit : un élément en plus, j'ai essayé avec plusieurs boites dans toutes les directions, il semblerait que quand une extrémité d'une boite dépasse la valeur 2 sur n'importe quel axe, la boite disparait.
    Dans le premier cas, du premier post, la taille en Z de la boite 3 était de 1.
    Si je la raccourci à 0,5 je peux la déplacer jusqu'en 1,499.

  4. #4
    Expert confirmé
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Points : 4 539
    Points
    4 539
    Par défaut
    bonjour.
    je pense que ton problème tourne autour du champ de vision en java3D.

    Par défaut, ce champ s'étend jusqu'à Z = -10,et donc tous les objets situés au delà du plan vertical situé à la coordonnée Z = -10 seront invisibles.

    pour modifié ce champ on peut utiliser la méthode setBackClipDistance() de la classe View :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    double distanceVue=1000;
    View view = univers.getViewer().getView();
    view.setBackClipDistance(distanceVue);

Discussions similaires

  1. [VB.NET] Objet .Tag dans une ListView
    Par Lois dans le forum Windows Forms
    Réponses: 7
    Dernier message: 12/10/2004, 16h35
  2. Transmission d'un objet crée dans une fonction
    Par EvilAngel dans le forum ASP
    Réponses: 2
    Dernier message: 10/05/2004, 20h19
  3. [VB6] Modification objet OLE dans Word sous VB
    Par zworg dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 23/02/2004, 08h20
  4. [Vb.net] Indexé un objet crée dans une boucle
    Par picpic dans le forum Windows Forms
    Réponses: 10
    Dernier message: 17/12/2003, 14h37
  5. Réponses: 3
    Dernier message: 09/02/2003, 01h09

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