Merci pour vos remarques
Lors de la création de l'objet (avant que les objets 3D commencent à être affichés), je définis effectivement les coordonnées de mes sommets. Le problème est qu'une fois que mon objet est créé, il devient "solide". Je peux le déplacer, le faire tourner, changer sa texture, mais je ne sais pas comment toucher à ses sommets. De même, je ne sais pas ajouter des sommets à un objet créé. En gros, si j'ai modélisé mon mur comme un cube de 8 sommets, je ne sais pas ajouter des sommets au centre pour l'impact.
Si quelqu'un connaissait un moyen de faire cela via l'API, ça m'intéresserait.
Oui, je rapproche cette solution de la solution (2) : tu prévois la manière dont l'objet va se casser. Une fois que le mur est modélisé comme un ensemble de briques, je sais les déplacer indépendamment les unes des autres.
L'inconvénient est quand on ne peut pas prévoir la manière dont l'objet va se casser.
Oui, c'est le cas à la création.
C'est vrai, mais ce terme "objet" peut porter à confusion. Disons qu'il y a deux types d'objets, les "Object" (de Java) et les "Shape3D" (de Java3D). Même si mon WallObject est le même "Object" avant et après impact, je crains qu'il ne faille créer deux "Shape3D" différentes. Mon problème est que je ne suis pas sûre que Java3D gère des "Shape3D" qui changent, ou du moins je ne sais pas le faire.
Un autre élément pour aller dans ce sens : à la construction d'une Shape3D, on spécifie le nombre de sommets. Ce nombre est immuable.
PS : J'ai aussi vu qu'il y avait des SwitchableShape, mais je les ai écartées car je pense qu'il s'agit d'une technique permettant de faciliter les échanges de formes précalculées (comme dans la solution (1)). A étudier.
(26-07-2010, 12:59 PM)Globe a écrit : Si tu pouvais utiliser les vertex de ton objet 3D tu devrais pouvoir les renfoncer à l'intérieur de l'objet
Lors de la création de l'objet (avant que les objets 3D commencent à être affichés), je définis effectivement les coordonnées de mes sommets. Le problème est qu'une fois que mon objet est créé, il devient "solide". Je peux le déplacer, le faire tourner, changer sa texture, mais je ne sais pas comment toucher à ses sommets. De même, je ne sais pas ajouter des sommets à un objet créé. En gros, si j'ai modélisé mon mur comme un cube de 8 sommets, je ne sais pas ajouter des sommets au centre pour l'impact.
Si quelqu'un connaissait un moyen de faire cela via l'API, ça m'intéresserait.
(26-07-2010, 12:59 PM)Globe a écrit : Sinon si seulement certains de tes murs sont destructibles tu peux toujours les construire brique par brique et les désassembler dans une explosion ou autre de manière assez simple.
Oui, je rapproche cette solution de la solution (2) : tu prévois la manière dont l'objet va se casser. Une fois que le mur est modélisé comme un ensemble de briques, je sais les déplacer indépendamment les unes des autres.
L'inconvénient est quand on ne peut pas prévoir la manière dont l'objet va se casser.
(26-07-2010, 01:27 PM)NicoMSEvent a écrit : pour moi, chaque objet serait une liste de triangles (texturés, ...).
Oui, c'est le cas à la création.
(26-07-2010, 01:27 PM)NicoMSEvent a écrit : Donc, pour moi ça reste le même objet.
C'est vrai, mais ce terme "objet" peut porter à confusion. Disons qu'il y a deux types d'objets, les "Object" (de Java) et les "Shape3D" (de Java3D). Même si mon WallObject est le même "Object" avant et après impact, je crains qu'il ne faille créer deux "Shape3D" différentes. Mon problème est que je ne suis pas sûre que Java3D gère des "Shape3D" qui changent, ou du moins je ne sais pas le faire.
Un autre élément pour aller dans ce sens : à la construction d'une Shape3D, on spécifie le nombre de sommets. Ce nombre est immuable.
PS : J'ai aussi vu qu'il y avait des SwitchableShape, mais je les ai écartées car je pense qu'il s'agit d'une technique permettant de faciliter les échanges de formes précalculées (comme dans la solution (1)). A étudier.