Champ de vision

Signaler
Messages postés
48
Date d'inscription
jeudi 20 janvier 2005
Statut
Membre
Dernière intervention
11 mai 2005
-
Messages postés
50
Date d'inscription
mardi 30 mars 2004
Statut
Membre
Dernière intervention
5 août 2009
-
Hello!


J'ai crée une scene en java3d, dans laquelle je navigue en bougeant la vue. J'y ai ajouté quelques objets.


Mon probleme est le suivant: Lorsque je me déplace, par exemple lordqe
je recule, les objet s'éloignet, mais au bout d'un moment ils
disparaissent, ce qui semble normal car ya bien un moment ou ils
deviennent trop petit pour qu'on le voient... mais la ils disparaissent
trop vite, lors qu'ils ont une taille encore suffisament grande pour
qu'on puisse les voire...


J'aimerai savoir si c'est possible d'agrandir le champ de viion, et si oui comment faire?


Meric ;)

9 réponses

Messages postés
2835
Date d'inscription
lundi 11 août 2003
Statut
Modérateur
Dernière intervention
16 décembre 2006
10
Salut

C'est tout à fait normal, c'est ce que l'on appel le clipping et c'est vrai pour n'impporte quelle librairie 3D (OpenGL, Direct3D? ...). En fait ce que tu affiches à l'écran est contenu dans un cube, tout ce qui est en dehors de cuibe virtuel n'est pas dessiné. En revanche mes connaissances en Java3D ne sont plus ce qu'elles étaient, mais je pense que tu devrais chercher vers la classe Bound (dont dérive BoudingBox et SphereBox ...) qui te permet de spécifier justement ce cube ou cette sphère de clipping. y a plus qu'à savoir quel objet s'en sert maintenant ... je pesne qu'il ne reste pas beaucoup de boulot pour que cela marche comme tu le veux.
Attention plus ton volume est grand, plus le nombre d'objets qui seront affichés à l'écran ou du moins pas retiré immédiatement sera très important, par conséquent ne met pas un volume trop important si tu ne veux pas que cela rame ...
;-)

@+
Messages postés
2835
Date d'inscription
lundi 11 août 2003
Statut
Modérateur
Dernière intervention
16 décembre 2006
10
Salut

Regarde la javadoc du CLip et tu verras que la classe View est également utilisée pour cela. Lis bien la description de Clip, je pense que cela t'aidera !!! ;-)

@+
Messages postés
48
Date d'inscription
jeudi 20 janvier 2005
Statut
Membre
Dernière intervention
11 mai 2005

merci je vai essayer de voir tout ca :)
Messages postés
48
Date d'inscription
jeudi 20 janvier 2005
Statut
Membre
Dernière intervention
11 mai 2005

ms c grave pas facile.... Ya aucun tutorial ou article ou autre truc en
francais qui peuvent vraiment aider a créer un prncogramme un peu avaé
en java3D ... ils abordent tous les base genre création d'objet
animaton mais ca va jamais plus loin... Alors je commence déja a
m'aracher les cheveux, et quand je pense que je vai devoir commencer a
gérer les collisions (aucun tuto sur le net a ce propo dailleur, en
francais j'entend ^^ ) jai déja mal au crane :(
Messages postés
2835
Date d'inscription
lundi 11 août 2003
Statut
Modérateur
Dernière intervention
16 décembre 2006
10
Salut

As-tu essayer le site www.eteks.com ???? Si tu veux trouver de la bonne doc tu n'auras pas le choix, en informatique tout est en anglais, c'est la langue de l'informatique !!!! Parce que les tutoriaux dispo sur le site de SUN sont assez avancés mais évidemment en anglais, je pense que tu y aurais trouvé ce que tu cherchais ...

@+
Messages postés
48
Date d'inscription
jeudi 20 janvier 2005
Statut
Membre
Dernière intervention
11 mai 2005

bah meme le tutorial de sun aborde pas les collisions lol j'en ai
trouvé qu'un seul qui aborde le sujet sur java.org ms ya pas mal de
truc vagues et pas expliqué dessu, et comme c en anglais c encore moin
facile...
Messages postés
2835
Date d'inscription
lundi 11 août 2003
Statut
Modérateur
Dernière intervention
16 décembre 2006
10
Salut

Pourtant je l'ai vu dedans c'est avec celui-ci que j'ai appris ... je crois que c'estd ans le chapitre 4 : interaction non ???

Va falloir que tu te mettes à l'anglais c'est vraiment indispensable en infotrmatique ça je te l'assure !!!!

@+
Messages postés
48
Date d'inscription
jeudi 20 janvier 2005
Statut
Membre
Dernière intervention
11 mai 2005

lol t'inquiete je fai des étude en info, et je parle bien anglais, mais
c toujours plus difficile et plus long d'apprendre sur un tuto en
anglais que sur un fr ^^

pr le tuto sun, il me semble pas qu'il traite les collisions, ou en tout cas ya ucun exemple... a vérifier ;)
Messages postés
50
Date d'inscription
mardi 30 mars 2004
Statut
Membre
Dernière intervention
5 août 2009

// Pour afficher ton monde juste sous tes yeux :

final double near_clipping_plane = 0.001;

// Pour le voir assez loin jusqu'à l'horizon :

final double far_clipping_plane = 800.0;

// Le type d'aténuation aux frontières du cube de vision ainsi formé :

final double FOV = 90./180. * Math.PI ;

// Pour appliquer ces paramètres à ta vue 3D :

View view = simpleUniverse.getViewer().getView();

view.setFieldOfView( FOV );

view.setFrontClipPolicy( View.VIRTUAL_EYE );

view.setFrontClipDistance( near_clipping_plane );

view.setBackClipPolicy( View.VIRTUAL_EYE );

view.setBackClipDistance( far_clipping_plane )



L'extrait ci-dessus provient du code suivant :

http://www.cs.utexas.edu/users/naylor/courses/GameTech/Spring05/Java3DFramework.java

Les valeurs de clippings étaient à 0,5 pour 10 ce qui était suffisant
pour les objets de la scène, mais pas pour le scaling d'un landscape
Vistapro...

Avec ces valeurs, plus de problème...