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

Algorithmes et structures de données Discussion :

"UV Mapping" : modèle 3D (Polycubes) vers texture 2D


Sujet :

Algorithmes et structures de données

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2017
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2017
    Messages : 1
    Points : 1
    Points
    1
    Par défaut "UV Mapping" : modèle 3D (Polycubes) vers texture 2D
    Bonjour à tous ^^ ceci est mon 1er message sur le forum. J'avais l'habitude de trainer sur des fofo anglais, donc n'hésitez pas à me signaler si quelque chose ne va pas dans mon message.

    J'ai un petit problème d'algorithmie, et je cherche une solution optimale.

    Origine du problème:
    Je developpe un editeur de modèle 3D à base de voxel pour mon moteur de jeu.
    Ces modèles 3D sont construits à partir de voxel cubique.
    En gros, un modèle c'est un tableau à 3 dimensions de blocks, à partir desquelles je genère la mesh qui corresponds.
    J'aimerai bien pouvoir assigner différents 'skins' à mes modèles. Donc j'utilise une texture sur laquelle les triangles de ma mesh sont mappés.
    Le problème: comment mapper au mieux les vertex de ma mesh.

    Problème (allez voir l'image d'exemple que j'ai mise à la fin du post, ce sera plus clair):
    Etant donnée: une liste de plans, ou chaque plan est contient par un doublet (largeur, hauteur)

    Je souhaite:
    1) obtenir la plus petite dimension d'une texture pouvant contenir tous ces plans, sans chauvechement
    2) obtenir la 'position', et l'orientation des plans, de sorte à ce qu'il soit tous présent sur cette texture, sans chevauchement. La 'position' (x, y) et 'l'orientation' (0 ou 1 si renversé ou non) indique comment mon plan est mappé sur la texture:
    Des pixels (x, y) à (x + largeur, y + hauteur) s'il n'est pas renversé
    Des pixels (x, y) à (x + hauteur, y + largeur) s'il est renversé

    IMPORTANT: Il y a, à priori, plusieurs solutions optimales possibles (voir exemple). Je voudrais juste un algorithme autre que du brute forcing, qui permettent d'obtenir une solution acceptable 'rapidement'.
    Quand à l'exemple donnée, la partie "extraction des plans" est déjà implementer (voir code source)

    Merci d'avance pour votre temps!

    Source code: https://github.com/rpereira-dev/Voxe...esherCull.java
    Example: ("LEFT" est renversé une fois mappé ici) Nom : sample.png
Affichages : 502
Taille : 116,0 Ko
    Screenshot: Nom : modelEditor.png
Affichages : 382
Taille : 624,7 Ko

  2. #2
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 081
    Points
    16 081
    Par défaut
    Bonsoir,

    J'avoue ne pas avoir compris le sens caché derrière "obtenir la plus petite dimension ...".
    S'agit-il d'avoir un rectangle englobant de surface minimale ? ou le plus carré possible ? ou avec le moins de trou ?

    Quoi qu'il en soit, je pense que tu cherches à faire du packing 2D.

    comme cela: http://codeincomplete.com/posts/bin-packing/demo
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  3. #3
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 054
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4 054
    Points : 9 394
    Points
    9 394
    Par défaut
    J'ai fait un effort, mais arrivé ici : comment mapper au mieux les vertex de ma mesh, je dois avouer que j'ai décroché.

    A propos des vertex de ma mesh, faut pas que j'oublie de prendre rendez-vous avec mon coiffeur.
    N'oubliez pas le bouton Résolu si vous avez obtenu une réponse à votre question.

Discussions similaires

  1. mapping de l'uml vers la modélisation multidimensionnelle
    Par ds_ryo dans le forum Conception/Modélisation
    Réponses: 6
    Dernier message: 11/01/2011, 22h41
  2. Techniques de transformations de modèles de java vers .net ?
    Par omda22 dans le forum Général Dotnet
    Réponses: 1
    Dernier message: 19/12/2007, 19h59
  3. [Entité-Association] passage du modéle entité association vers le modele relationnel
    Par hunter99 dans le forum Schéma
    Réponses: 1
    Dernier message: 24/11/2007, 13h10
  4. Mapping many 2 many vers une list
    Par breezer911 dans le forum Hibernate
    Réponses: 1
    Dernier message: 14/08/2007, 16h21

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