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

Unity Discussion :

assembler des cubes


Sujet :

Unity

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    165
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 165
    Points : 0
    Points
    0
    Par défaut assembler des cubes
    Salut à tous,

    Je suis confronté au problème suivant :

    Je crée 2 cubes posés sur un plan.

    J'affecte aux 2 cubes un code qui dit de déplacer un cube le long du plan lorsque l'on clique sur le cube.
    Je précise que les 2 cubes sont liés dans dans l'onglet hierarchy (il y'a un parent et un enfant cube).

    Lorsque je déplace le cube parent, cela marche les deux cubes se déplacent ensemble.
    Mais si je clique sur le deuxième cube (enfant), les cubes se séparent et le cube sur lequel on a cliqué se déplace tout seul.

    Ma question est la suivante : comment assembler (lier) deux ou trois cubes entre eux?

    Merci pour votre aide,

    a+

  2. #2
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 858
    Points : 218 575
    Points
    218 575
    Billets dans le blog
    120
    Par défaut
    Bonjour,

    La solution que je verrai est de faire un script, à associer à tous les cubes qui doivent partager la même position et qui définirai la position la position suivant les autres. Maintenant, la problématique, c'est de savoir comment faire pour déterminer quel cube à raison... (et qui doit donc forcer sa position aux autres).
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  3. #3
    Membre expérimenté Avatar de Tonton Nico
    Homme Profil pro
    Ingénieur
    Inscrit en
    Septembre 2017
    Messages
    398
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2017
    Messages : 398
    Points : 1 320
    Points
    1 320
    Par défaut
    Salut,

    La solution de LittleWhite avec un script qui référence tous les cubes à bouger avec un plus le fait de retirer le lien parent/enfant devrait résoudre ton problème
    TontonNico

    On me dit souvent que je ressemble à Einstein... mais plutôt à Frank que Albert

  4. #4
    Membre expérimenté Avatar de Tonton Nico
    Homme Profil pro
    Ingénieur
    Inscrit en
    Septembre 2017
    Messages
    398
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2017
    Messages : 398
    Points : 1 320
    Points
    1 320
    Par défaut
    Alors?
    TontonNico

    On me dit souvent que je ressemble à Einstein... mais plutôt à Frank que Albert

  5. #5
    Membre confirmé
    Homme Profil pro
    Développeur multiplateformes
    Inscrit en
    Mars 2003
    Messages
    273
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur multiplateformes
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2003
    Messages : 273
    Points : 628
    Points
    628
    Par défaut
    Bonjour,
    Effectivement le problème semble difficilement soluble si les deux cubes ne sont pas au même niveau dans la hiérarchie, c’est-à-dire s'ils sont liés. Dans le cas contraire, le déplacement de l’un sera facilement répercuté sur l’autre par un script comme le dit LittleWhite.
    Le cube qui est sélectionné en dernier détermine évidemment la position de l’autre.
    Yves

  6. #6
    Membre expérimenté Avatar de Tonton Nico
    Homme Profil pro
    Ingénieur
    Inscrit en
    Septembre 2017
    Messages
    398
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2017
    Messages : 398
    Points : 1 320
    Points
    1 320
    Par défaut
    Comme souvent une question est posée mais on a des nouvelles 3 semaines plus tard, on verra bien si Julius réponds un jour
    TontonNico

    On me dit souvent que je ressemble à Einstein... mais plutôt à Frank que Albert

  7. #7
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    165
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 165
    Points : 0
    Points
    0
    Par défaut
    Salut à tous,

    j'arrive bien a assembler 2 cubes entre eux.

    Je précise que les 2 cubes sont déplaçable avec la souris.

    En effet si on déplace le cube parent, les 2 cubes se déplacent bien ensemble.
    Mais si je déplace le cube enfant, le cube se sépare du cube parent.

    Merci pour vote aide,

    A+

  8. #8
    Expert éminent sénior
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 360
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 360
    Points : 20 377
    Points
    20 377
    Par défaut
    salut Julius aaah les joies de la hiérarchie entre objets !!
    J'ai été confronté à ce problème il faut prendre la position de l'objet parent et calculer le delta vectoriel avec l'objet enfant.
    Si l'objet parent est déplacé , il faut replacer l'objet enfant selon le delta initial.

    Et c'est pas fini car arrive le problème de la rotation de l'objet parent..

  9. #9
    Expert confirmé Avatar de yildiz-online
    Homme Profil pro
    Architecte de domaine
    Inscrit en
    Octobre 2011
    Messages
    1 444
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte de domaine

    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 444
    Points : 4 563
    Points
    4 563
    Par défaut
    Citation Envoyé par Mat.M Voir le message

    Et c'est pas fini car arrive le problème de la rotation de l'objet parent..
    Je connais pas Unity mais on ne peut pas déplacer le centre de rotation de l'objet enfant sur celui du parent?
    PXL le retro-gaming facile: Essayez-le

    Yildiz-Engine an open-source modular game engine: Website
    Yildiz-Online a 3D MMORTS in alpha: Facebook page / Youtube page

  10. #10
    Expert éminent sénior
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 360
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 360
    Points : 20 377
    Points
    20 377
    Par défaut
    bonsoir je ne connais pas Unity totalement mais oui ça doit être possible de faire ça et de créer une hiérarchie d'objets

  11. #11
    Membre expérimenté Avatar de Tonton Nico
    Homme Profil pro
    Ingénieur
    Inscrit en
    Septembre 2017
    Messages
    398
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2017
    Messages : 398
    Points : 1 320
    Points
    1 320
    Par défaut
    tu mets tes 2 cubes sous un même parent et c'est celui ci que tu déplaces, c'est une solution
    TontonNico

    On me dit souvent que je ressemble à Einstein... mais plutôt à Frank que Albert

  12. #12
    Expert éminent sénior
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 360
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 360
    Points : 20 377
    Points
    20 377
    Par défaut
    Citation Envoyé par Tonton Nico Voir le message
    tu mets tes 2 cubes sous un même parent et c'est celui ci que tu déplaces, c'est une solution
    vi ça c'est l'énoncé du problème mais encore faut-il trouver la logique pour créer une hiérarchie entre les objets...

  13. #13
    Membre confirmé
    Homme Profil pro
    Développeur multiplateformes
    Inscrit en
    Mars 2003
    Messages
    273
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur multiplateformes
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2003
    Messages : 273
    Points : 628
    Points
    628
    Par défaut
    Bonjour,
    Comme déjà dit il faut que les cubes soient au même niveau dans la hiérarchie.
    Par exp. on peut placer les cubes dans un tableau C#.
    Lorsque l’utilisateur sélectionne un cube et le déplace ce sont les variations de coordonnées de ce cube qui vont être utilisées pour déplacer les autres cubes avec les mêmes décalages sur chaque axe en parcourant le tableau…

  14. #14
    Membre expérimenté Avatar de Tonton Nico
    Homme Profil pro
    Ingénieur
    Inscrit en
    Septembre 2017
    Messages
    398
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2017
    Messages : 398
    Points : 1 320
    Points
    1 320
    Par défaut
    Citation Envoyé par Mat.M Voir le message
    vi ça c'est l'énoncé du problème mais encore faut-il trouver la logique pour créer une hiérarchie entre les objets...
    bin voila en 10 secondes la hiérarchie est faite sous unity:
    Nom : cube.jpg
Affichages : 677
Taille : 3,4 Ko

    Après réfléchir au code exact c'est à lui que cela revient, faut pas déconner non plus
    TontonNico

    On me dit souvent que je ressemble à Einstein... mais plutôt à Frank que Albert

  15. #15
    Expert éminent sénior
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 360
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 360
    Points : 20 377
    Points
    20 377
    Par défaut
    Citation Envoyé par Tonton Nico Voir le message
    bin voila en 10 secondes la hiérarchie est faite sous unity:
    [
    je parlais de l'algorithme; créer la hiérarchie l'auteur de ce message est capable de le faire.

  16. #16
    Membre expérimenté Avatar de Tonton Nico
    Homme Profil pro
    Ingénieur
    Inscrit en
    Septembre 2017
    Messages
    398
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2017
    Messages : 398
    Points : 1 320
    Points
    1 320
    Par défaut
    Citation Envoyé par Mat.M Voir le message
    je parlais de l'algorithme; créer la hiérarchie l'auteur de ce message est capable de le faire.
    Négatif chef:

    Citation Envoyé par Mat.M Voir le message
    vi ça c'est l'énoncé du problème mais encore faut-il trouver la logique pour créer une hiérarchie entre les objets...
    Bon

    *se sors un doigt du c** car oui je suis un glandeur*

    Timer (XX minutes . XX secondes):
    00.00 je commence par lancer unity et je vais voir sur developpez le topic pour déplacer un cube
    01.00 topic trouvé car il est encore dans le top 10 des sujets unity, je regarde un peu la conversation et je copie le code (merci @ PixelJuice au passage donc)
    01.30 j'ai pris mon projet 3D random pour faire mes tests, j'ai fais un nouveau script C# et je copie le code dedans
    05.00 j'essaye de comprendre le code et je le test en créant un cube de base.
    J'avoue que moi non plus j'aurais jamais trouvé ce code moi même je pense ou avec pas mal de recherche, c'est de la magie mais cela fonctionne!
    Même si j'ai un niveau en prog beaucoup plus bas que beaucoup sur ce site (vous êtes dans les étoiles pour moi quand je vois les discussions techniques), je suis pas totalement à la ramasse et j'arrive facilement à identifier ce qui fait bouger le cube (faut pas être un devin non plus vous me direz hein)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    movingObject.transform.position = ray.GetPoint(rayDistance) + positionZero;
    05.10 j'ai créé mon empty parent et mis 2 cubes dedans
    05.40 je réfléchie à comment mettre en place ma solution dont je parlais (les cubes dans un GO et on fera bouger le GO ce qui fera bouger automatiquement tous les cubes dedans)
    05.45 c'est parti pour tester: je modifie le script et comme je suis une feignasse je fait une var en public pour la glisser dans l'inspector
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public GameObject Toto;
    05.53 je mets la ligne de code qui fait bouger en commentaire et je rajoute mon test
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     //movingObject.transform.position = ray.GetPoint(rayDistance) + positionZero;
    Toto.transform.position = ray.GetPoint(rayDistance) + positionZero;
    06.03 je glisse mon parent dans toto, je test et cela semble bien réagir, mes 2 cubes bougent en même temps
    06.13 j'attache le script au deuxième cube, je test et idem cela semble bien réagir sauf une "téléportation" des cubes des fois quand je les sélectionne
    06.45 en réfléchissant c'est surement le décalage d'origine entre mes cubes et le parent qui font cette "téléportation" car bon PixelJuice n'a pas fait son code d'origine pour cette application , il faudrait garder en mémoire/calculer l'offset pour l'inclure dans le calcul de déplacement
    07.05 après un essai complètement foiré je trouve ou rajouter un petit log pour la vidéo que je vais faire pour bien voir quand je sélectionne un cube ou l'autre à cet endroit du code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    movingObject = hit.transform.gameObject;
    Debug.Log("GO selectionné: " + hit.transform.gameObject.name);
    07.25 tout à l'air de bien tourner, bon bin je me prépare psychologiquement
    07.30 *commence à se sortir un deuxième doigt du c** pour régler le souci d'offset... oué mais nan faut pas abuser*

    petite vidéo du résultat, au final j'ai tester d'autre truc et surement un peu sous estimer mes temps, on va partir sur x2 soit 15min au total:


    J'ai passé quand même plus de temps à faire ce message et régler bandicam que j'utilise 2 fois par ans que de chercher et tester sur unity
    Après comme toujours faut voir ce que julius1983 a vraiment en tête et il y a 90% de chance qu'il reformule 10 fois sa demande mais voila quoi, avec le code magique de PixelJuice et un peu de connaissance d'unity c'est pas la fin du monde je pense mais tout comme moi faut se sortir un peu les doigts sinon il avancera jamais en attendant qu'on lui fasse tout

    A bon entendeur
    TontonNico

    On me dit souvent que je ressemble à Einstein... mais plutôt à Frank que Albert

  17. #17
    Membre chevronné
    Avatar de PixelJuice
    Homme Profil pro
    Ingénieur .NET & Game Designer
    Inscrit en
    Janvier 2014
    Messages
    639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur .NET & Game Designer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2014
    Messages : 639
    Points : 2 148
    Points
    2 148
    Par défaut
    Citation Envoyé par Tonton Nico Voir le message
    01.00 topic trouvé car il est encore dans le top 10 des sujets unity, je regarde un peu la conversation et je copie le code (merci @ PixelJuice au passage donc)
    De rien

    Il y a plusieurs façons de procéder mais la tienne à l'air pas mal. Bon après il faudrait + d'infos de l'OP pour savoir ce qu'il veut faire au final mais ta réponse m'aura fait marrer en tout cas.

    J'étais surtout dans l'idée de founir un code out of the box, parce que je sens que julius galère un peu.

    Un peu hors-sujet mais si jamais t'as besoin (ou n'importe qui passant sur ce topic) de faire des screen captures à la va-vite comme tu l'as fait, tu peux utiliser ShareX, tu peux filmer (entre autre) une zone uniquement ou tout l'écran, ça l'upload automatiquement, en mp4, gif , etc ...

    Bref c'est génial.

  18. #18
    Expert éminent sénior
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 360
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 360
    Points : 20 377
    Points
    20 377
    Par défaut
    Citation Envoyé par Tonton Nico Voir le message
    Négatif chef:
    A bon entendeur
    dans toutes ces explications on ne sait pas du tout si ça fonctionne ou pas.
    Les lignes de codes tapées précédemment sont-elles fonctionnelles ?

  19. #19
    Membre expérimenté Avatar de Tonton Nico
    Homme Profil pro
    Ingénieur
    Inscrit en
    Septembre 2017
    Messages
    398
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2017
    Messages : 398
    Points : 1 320
    Points
    1 320
    Par défaut
    Citation Envoyé par Mat.M Voir le message
    dans toutes ces explications on ne sait pas du tout si ça fonctionne ou pas.
    Les lignes de codes tapées précédemment sont-elles fonctionnelles ?
    Cela fonctionne pour ce que je voulais faire (on dirait que tu ne vois pas la vidéo finale, voici le lien http://www.youtube.com/watch?v=XzF8u...ature=emb_logo), faut voir ce que julius a en tête par contre
    TontonNico

    On me dit souvent que je ressemble à Einstein... mais plutôt à Frank que Albert

  20. #20
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    165
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 165
    Points : 0
    Points
    0
    Par défaut
    Salut à tous,

    j'ai crée 2 cubes sur un plan et j'essaye de les déplacer tout les deux ensemble sur le plan.

    Pour cela je crée un troisième cube que je parente aux 2 cubes (dans l'onglet Hierarchy) .


    Et quand je déplace après compilation le troisième cube les 2 cubes enfants se déplacent bien ensemble.
    Mais si je ne passe pas le troisième cube, les cubes se séparent.

    Peut-être avec un empty à la place du troisième cube.
    J'ai également pensé à utiliser les Joint, mais je patauge un peu.
    J'éssayé le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    	{
    		cube2.transform.parent = cube1.transform;
    		cube1.transform.parent = cube2.transform;
    	}
    Mais le code ne fonctionne pas.

    Dans l'attente d'une aide précieuse.

    A+

Discussions similaires

  1. Réponses: 5
    Dernier message: 10/08/2007, 13h07
  2. sécurité des cubes
    Par deathsurfer dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 13/06/2007, 16h47
  3. C++-OpenGL: Faire marcher des cubes (walking cycle) tableau?
    Par corseb-delete dans le forum Développement 2D, 3D et Jeux
    Réponses: 2
    Dernier message: 15/01/2007, 10h05
  4. [VBA-W]Comment récupérer et assembler des documents ?
    Par vallou3 dans le forum VBA Word
    Réponses: 3
    Dernier message: 03/03/2006, 08h47
  5. [Recherche] Recherche un logiciel pour assembler des images
    Par Furius dans le forum Autres Logiciels
    Réponses: 6
    Dernier message: 29/12/2005, 18h03

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