Bonjour.
J'ai utilisé l'exemple suivant :
http://irrlichtnetcp.sourceforge.net/in … _:_Terrain
Mais je ne sais pas comment utiliser le Selector.
Je m'explique :
Mon but est de permettre à l'utilisateur de modifier le terrain : par exemple, on applique une texture ou on creuse là où il clique.
J'imagine que pour savoir où l'utilisateur clique, il faut utiliser le Selector, mais je ne sais pas faire...
Voilà, merci,
@+
Hors ligne
Pour plus de détails sur les triangle selector : http://irrlichtnetcp.sourceforge.net/in … _Collision
Mais personnellement, je ne procèderais pas comme ça.
Je lancerais un rayon depuis le centre de la caméra passant par la position de la souris et récupèrerais le point où ce rayon entre en collision avec le terrain.
Ainsi j'aurais plus qu'a convertir cette position 3D en position 2D et je pourrais éditer directement la heightmap.
C'est la méthode du "picking"
Hors ligne
lol bah oui biensur...
J'ai pas fait math sup moi hein ;-)
Hors ligne
Bien alors premièrement il nous faut créer une droite qui représentera ce qui est pointé par la souris.
Pour cela, se servir de SceneManager.SceneCollisionManager.GetRayFromScreenCoordinates
Tu lui passe en paramètre la position de ta souris (retournée via la classe IrrlichtDevice), et la caméra utilisée.
Avec ça tu as ta droite (enfin ta ligne mais dans notre cas on la gèrera comme une droite).
Puis, tu es un utilisateur sérieux d'Irrlicht .NET CP donc tu as utilisé le SVN et téléchargé la version que je viens d'uploader à l'instant même, tu parcours ton terrain (enfin ses triangles plutôt) et pour chaque triangle tu fais Triangle.GetIntersectWithLine(rayon retourné tout à l'heure), s'il te retourne true, c'est que c'est ce triangle qui est sélectionné et là bingo.
Maintenant tu te heurtes sûrement à un problème : le TerrainSceneNode d'Irrlicht est très mauvais, lourd, lent et inmodifiable.
Est-ce la fin du monde ? Nenni, je te conseille d'étudier en détail l'exemple CustomSceneNode du SDK du fameux wrapper, et d'essayer de t'en inspirer pour créer ta propre SceneNode de terrain. Si tu as un peu de courage tu obtiendras un résultat plus rapide, plus efficace et beaucoup plus sympatique qu'à essayer de trifouiller le TerrainSceneNode.
Hors ligne
Options | Liens officiels | Caractéristiques | Statistiques | Communauté |
---|---|---|---|---|
Corrections |
|
xhtml 1.0 css 2.1 Propulsé par FluxBB Traduit par FluxBB.fr |
882 membres 1429 sujets 11119 messages |
Dernier membre inscrit: LiseBuisson96 40 invités en ligne Aucun membre connecté RSS Feed |