Annonce

Réduire
Aucune annonce.

Besoin d'aide, placement objet

Réduire
X
 
  • Filtre
  • Heure
  • Afficher
Tout nettoyer
nouveaux messages

  • Besoin d'aide, placement objet

    Bonjour à tous,

    Je galère pas mal en ce moment sur une évolution pour osm2xp.
    Le but : utiliser des objets 3D pour les bâtiments à la place des façades dans certains cas.

    Si un bâtiment est un simple rectangle, je considère qu'il est possible d'utiliser un objet 3D.
    Je calcule donc sa largeur / longueur , l'angle du vecteur le plus grand, et à partir de la je choisit un objet 3D qui "rentre" dans ces dimensions (j'ai fait évoluer les "règles" osm2xp pour spécifier la largeur/longueur d'un objet3D).

    Dans un premier temps j'ai naïvement pensé qu'en déclarant dans le dsf un objet en utilisant le centre du polygone et l'angle, tout serait bien positionné, mais ça à l'air bien plus tordu que ça.
    J'ai fait un autre test en utilisant comme point de déclaration de l'objet le centre du vecteur le plus long, mais la encore ce n'est pas bon (et puis quel coté prendre etc).
    De plus l'angle du bâtiment n'est pas bon dans xplane (alors que le chiffre à l'air tout à fait correct lors du calcul).

    Bref voici deux images:

    Les 3 batiments dans JOSM:


    Le resultat dans xplane:




    J'ai mis un objet openSceneryx (windSleeve) à chaque point des rectangles+ au "centre" utilisé pour déclaration dans le dsf, ça permet de voir l'empreinte d'origine du polygone.
    A noter que le batiment 3D est un peu plus petit que l'empreinte, c'est normal et voulu.

    Je continue à tester mais je manque vraiment de temps en ce moment, donc si quelqu'un passe par la et connait un peu ce domaine, ça m’intéresse grandement , ça permettrait pas mal de trucs (placer une petite église ou cathédrale selon la taille du polygone, bien orientée, placer des hangars, des stades, bref un paquet d'objets openSceneryX plus complexes qu’éoliennes et châteaux d'eau)

    Merci

    Ben

  • #1
    Alors vite fait avec un simple cou d'oeil,
    je dirais que ton objet n'a pas son ORIGINE en son centre "géographique" d'une part.
    je dirais que ton objet n'a pas ses murs alignés sur les axes de son origine d'autre part.
    Et enfin je dirais que sur le 3° placement "celui qui à un angle autre que 90°, tu as fait un 180° en plus ou en moins....

    Bon maintenant je n'ai jeter qu'un cou d'oeil rapide, mais c'est ce qui me viens à l'esprit tout de suite....

    andertal

    PS : ah oui... ton positionnement sur ton image est bien faite sur un des cotés de la forme rectangulaire (le 4 si je ne me trompe pas) et non au centre n'est ce pas?
    Dernière modification par andertal, 30 mai 2012, 22h21.

    Commentaire


    • #1
      Je dirais que tu va devoir si tu veux bien positionner tes objets, connaitre parfaitement leur géométrie vis a vis de leur origine qui est le point que tu contrôles dans ton DSF
      L'objet qui est dans le OBJ, peut avoir été "dessiné" n'importe où et dans n'importe quel sens par rapport au repaire servant pour X-Plane...

      A noter que d'un objet à l'autre, la règle va changée... un cou avec l'objet A, il faudra rajouter un offset de 17° en plus de ce que tu aurra calculer et te caller sur sa façade avant, mais l'objet B lui aurra un offset angulaire de -5° et serra caler avec un décalage suivant l'axe X de 20m.... et je ne te parle pas de l'objet C qui en plus était prévus pour ne pas être poser sur terrain plat et s'enfonce donc dans le sol....

      andertal

      Commentaire


      • #1
        Le point de pivot de l'objet a l'air effectivement excentré.
        Une des rotations (à droite) semble s'être fait du mauvais coté.
        A savoir que pour les rotations, X-Plane utilise beaucoup -180 / 180° au lieu de 0/360°.
        Je pense que tu sais que les coordonnés des polygones (dans le format .obj) correspondent à un sens précis (début en haut à gauche puis sens des aiguilles d'une montre si je me souviens bien).

        Pas facile de répondre, désolé...
        Win10 64b / IntelXeon 3.7 GHZ / 8 Go ram / NVIDIA Quadro K2000 2Go
        XPFR

        Commentaire


        • #1
          Le pivot dépend de la façon dont on a construit l'objet dans un logiciel 3D (Blender par exemple).

          Ainsi pour une tour de contrôle, je trouve pratique de placer le point pivot de l'objet sur le centre de la tour de contrôle. Ce qui permet de la superposer facilement avec le "tower viewpoint" de WED en utilisant le "magnétisme du point" pour caler deux éléments.
          La plupart du temps on va donc placer le pivot au centre de la face avant la plus caractéristique (entrée d'un hangar, calandre d'un véhicule, façade ayant la porte d'entrée d'une maison, etc...). Parfois ce sera une autre partie qui sera privilégiée pour faciliter son placement (un coin d'un bâtiment, l'axe vertical d'une antenne ou d'un château d'eau ou d'une éolienne, le centre de l'objet, etc...).

          Sans compter que chaque auteur va poser sa propre "règle" pour placer son pivot. Bref, pas de règle absolue.
          OpenSceneryX essaie d'instituer une règle (pas toujours respectée) pour les objets de sa bibliothèque.
          Pour les objets de la bibliothèque d'X-Plane, il ne semble pas y avoir de règle (place différents objets avec WED et tu verras où se trouve le pivot de chaque objet).

          Enfin l'axe nord/sud qui va servir dans la rotation de l'objet, lui non plus n'est pas immuablement fixé (je crois que c'est l'axe des X dans Blender). Chaque auteur utilisera l'axe de son choix (quand il suit un axe, ce qui n'est pas toujours le cas !). Là aussi en plaçant un objet avec WED, tu te rendras compte que chaque objet a son propre "nord"...

          Encore un aspect particulier : certains auteurs associent plusieurs bâtiments pour ne faire qu'un seul objet, mais le pivot est celui d'un bâtiment "caractéristique". Et si le mesh d'X-Plane l'exige, il va placer des objets en "lévitation" afin que le rendu final dans X-Plane soit correct...

          Pas facile de placer, dans ces conditions, un objet en mode automatique...

          Quant aux objets génériques qui donnent à X-Plane 10 son aspect "vraisemblable", Ben a probablement institué une règle, mais laquelle ?

          Commentaire


          • #1
            Ok merci pour vos réponses c'est plus clair désormais.
            Je vais regarder dans les fichier .obj s'il est possible de trouver ce point de pivot en analysant le contenu du fichier, afin de determiner le placement dans xplane.

            Ben

            Commentaire


            • #1
              Le point pivot n'est pas à proprement parlé déclarer dans le fichier OBJ.
              En fait, il est le centre du monde de cet objet et donc implicite, toutes les définitions de coordonnées de chaque point de l'objet sont données de façon relative à ce centre ou point pivot ou origine....
              Si tu veux donc le retrouver à partir de l'objet, il te faudra donc faire le raisonnement inverse.... et plus l'objet sera complexe, plus il sera difficile de déterminer simplement sa position relative à l'objet par le simple calcule. Une visualisation dans un logiciel 3D est beaucoup plus simple puisqu'il va y être redessiner l'objet à partir du point pivot comme centre du monde aussi dans le logiciel. Il ne suffis alors que de "regarder" où il est et comment ce positionne l'objet vis à vis de lui...

              Chai pas si chui clair

              andertal

              Commentaire


              • #1
                uep je pense comprendre, je dois construire un polygone (ou x polygones) à partir de toutes les déclarations de points dans le .obj, et à partir de la calculer le centre de ce(s) polygone pour avoir le point de rotation, c'est bien ça?

                Commentaire


                • #1
                  Salut,

                  Une petite idée en passant.
                  Si aucun polygone n'a de point de référence bien défini, tu peux aussi décider que ce sera systématiquement le premier point de ton polygone qui servira de référence.
                  Tu retranches ses valeurs de coordonnées à tous les autres points et ce premier point deviendra ton point (0,0).
                  Il ne restera plus qu'à déterminer la rotation à appliquer pour placer correctement ton objet.
                  Christophe
                  WXP-Pro/P4-3.2GHz/Ram 2Go/GeForce6800GT PCI-e/VRam 256 Mo/Logitech WMForce/Palo ChProd

                  Commentaire


                  • #1
                    En fait, tous les coordonnés des polygones de l'objet sont calculés à partir de ce point. Et les coordonnées sont rangés dans un ordre répétitif: point en haut à gauche / en haut à droite / en bas à droite / en bas à gauche, etc... pour chaque polygone.
                    Ce point de pivot peut se trouver hors de l'objet. Il peut même être n'importe où en fait (suivant la façon dont l'objet à été construit).
                    Win10 64b / IntelXeon 3.7 GHZ / 8 Go ram / NVIDIA Quadro K2000 2Go
                    XPFR

                    Commentaire


                    • #1
                      J'ai effectivement pas dut être très clair :/
                      Pour simplifier, j'ai construis une structure, l'angle 1 de la structure est à 15 mètres au nord et 5 est du lampadaire dans la rue, l'angle 2 à 14 mètres nord et 20 mètres est, l'angle 3 à 16 mètre nord et 3 mètre est et enfin l'angle 4 est à 18 mètres au nord et 17 mètres à l'est de ce lampadaire. tu ne sais pas où est le lampadaire et pourtant tu es capable de dessiner la structure.
                      Maintenant disons que sur une scène tu veux placer ta structure... tu ne dispose que d'une position et un angle pour ce faire. Et bien cette position correspond à la position du lampadaire. Ce lampadaire, jamais tu ne le dessinera, il n'était là que pour donner les positions relative de la structure. Il nous fallait bien un point de référence, non?
                      Et tu fait pivoter ensuite ta structure suivant l'angle donnée, un point c'est tout, tu ne choisi pas l'angle d'un des cotés de la structure, mais la rotation de l'ensemble de la structure une fois poser par rapport au lampadaire.

                      j’espère être un peut plus clair cette fois

                      J'ai choisi le lampadaire dans la rue, j'aurais tout aussi bien put choisir la cuvette des chiottes ou le centre géométrique de la structure...
                      la structure aurait toujours eu la même forme, mais les distances par rapport au trône ou au centre géométrique n'aurait pas été les mêmes...
                      andertal
                      Dernière modification par andertal, 31 mai 2012, 12h14.

                      Commentaire


                      • #1
                        On retrouve le même principe sur les aéronef... et pas uniquement sur les OBJ mais aussi dans l'ACF.
                        Des fois ce sera le nez de l'avion, d'autres fois le centre de gravité, ou bien un point choisi par ce que il correspond a un repaire sur un plan...

                        andertal

                        Commentaire

                        Chargement...
                        X