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. #21
    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
    Allez on va essayez un peu la pédagogie

    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.
    Juste la tout va bien, c'est le but de la relation parent/enfant:

    https://docs.unity3d.com/ScriptRefer...rm-parent.html
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Changing the parent will modify the parent-relative position, scale and rotation but keep the world space position, rotation and scale the same.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    J'éssayé le code suivant :	
    	{
    		cube2.transform.parent = cube1.transform;
    		cube1.transform.parent = cube2.transform;
    	}
    Mais le code ne fonctionne pas.
    On va faire par étape:

    1. Que veux-tu faire déjà au départ avec ce bout de code?
    2. Quel est le résultat obtenu et en quoi cela ne répond pas à ce que tu voulais?
    3. Montre nous tes codes qui déplacent tes cubes en entier voir une vidéo de ton souci, on est pas des devins ni dans ta tête, faut que tu nous en montre plus que 3 phrases avec un "cela ne fonctionne pas, merci pour votre aide"
    TontonNico

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

  2. #22
    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
    Bonjour à tous,

    Avec ce bout de code, je cherche à assembler 2 cubes entre eux lorsque on les déplace.
    Le résultat est que cela marche uniquement si on déplace le cube parent (voir Hierarchy).
    Les 2 cubes sont bien liés entre eux (ils se suivent quand on les déplace).
    Le problème est que si on déplace le cube enfant, celui-ci se déplace tout seul et n'est pas attaché au cube parent.
    Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    public class dragging : MonoBehaviour
    {
        GameObject movingObject;
        Vector3 positionZero;
        Plane plane;
     
        /// <summary>
        /// Update the manager.
        /// </summary>
        void Update()
        {
            if (Input.GetMouseButtonDown(0))
            {
                Ray mouseRay = GetMouseRay();
                RaycastHit hit;
     
                if (Physics.Raycast(mouseRay.origin, mouseRay.direction, out hit))
                {
                    movingObject = hit.transform.gameObject;
                    plane = new Plane(Vector3.up, movingObject.transform.position);
                    Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
                    float rayDistance;
                    plane.Raycast(ray, out rayDistance);
                    positionZero = movingObject.transform.position - ray.GetPoint(rayDistance);
                }
            }
     
            else if (Input.GetMouseButton(0) && movingObject)
            {
                Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
     
                float rayDistance;
     
                if (plane.Raycast(ray, out rayDistance))
                {
    				movingObject.transform.position = ray.GetPoint(rayDistance) + positionZero;
                }
            }
     
            else if (Input.GetMouseButtonUp(0) && movingObject)
            {
                movingObject = null;
    	//		movingObject.transform.position.x =  Mathf.Round(transform.position.x / 26);
    	//    	movingObject.transform.position.y = Mathf.Round(transform.position.y / 26);
     
            }
        }
     
       private Ray GetMouseRay()
        {
            Vector3 mousePositionFar = new Vector3(Input.mousePosition.x, Input.mousePosition.y, Camera.main.farClipPlane);
            Vector3 mousePositionNear = new Vector3(Input.mousePosition.x, Input.mousePosition.y, Camera.main.nearClipPlane);
            Vector3 mousePositionF = Camera.main.ScreenToWorldPoint(mousePositionFar);
            Vector3 mousePositionN = Camera.main.ScreenToWorldPoint(mousePositionNear);
     
    		Ray mouseRay = new Ray(mousePositionN, mousePositionF - mousePositionN);
     
    		return mouseRay;
        }
    }

    Le code marche parfaitement , j'ai aussi essayé d'importer un OBJ (pièce de tetris) avec le code (dragging) mais l'objet ne réagit pas.

    Merci pour votre aide,

    A+

  3. #23
    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,

    Pour ma part je vois 3 solutions:

    1. Comme dans ma vidéo, tu mets tes cubes dans un GO et quand tu sélectionnes un des cubes au lieu de bouger ce cube, tu fais bouger le parent ce qui aura pour effet donc de bouger tous les cubes dans ton parent
    2. Dans ton script tu référencies ton autre cube et quand tu sélectionnes pour bouger un cube, tu bouges en même temps l'autre cube de ce "delta mouvement"
    3. Tout comme tu avais commencé à essayer quand tu sélectionnes ton cube1 tu mets ton cube2 en enfant et inversement

    Tu auras surement d'autre soucis qui vont se pointer mais tu verras sur le moment.
    Par contre réfléchis à combien de cube ou autre que tu veux bouger en même temps je dirais, pour 2 cubes surement toute les solutions qu'on va te propose sont "fiables" mais après si tu veux pouvoir l'appliquer à 200 cubes d'un coup faudra avoir prévu le coup au début

    Edit: pour continuer sur la pédagogie, cela insinue que c'est à toi de regarder ce qu'on te propose, de réfléchir et de tester toi même la solution que tu penses maitriser et de revenir vers vous avec ton nouveau code/screenshot/vidéo pour nous montrer ou sont tes nouveaux soucis
    TontonNico

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

  4. #24
    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
    Bonjour,

    Alors voilà, tout est dans la video suivante:



    Comme vous pouvez le voire, les 2 cube bougent ensemble lorsqu'on bouge le cube parent (cube 1).
    Si on clique sur le deuxième cube (objet enfant cube 2), celui-ci se désolidarise et part tout seul avec la souris.

    Si on re déplace le cube 1, le deuxième cube bouge bien, comme il faut.

    Ma question est la suivante :

    comment faire bouger le cube enfant (cube 2) avec le cube parent (cube 1)?

    Merci pour votre aide,

    J'espère que la vidéo vous aidera mieux que moi,

    A+

  5. #25
    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 réponse est toujours la même, pour ma part je vois 3 solutions:

    1. Comme dans ma vidéo, tu mets tes cubes dans un GO et quand tu sélectionnes un des cubes au lieu de bouger ce cube, tu fais bouger le parent ce qui aura pour effet donc de bouger tous les cubes dans ton parent
    2. Dans ton script tu référencies ton autre cube et quand tu sélectionnes pour bouger un cube, tu bouges en même temps l'autre cube de ce "delta mouvement"
    3. Tout comme tu avais commencé à essayer quand tu sélectionnes ton cube1 tu mets ton cube2 en enfant et inversement

    Peut être que d'autre personne vont proposer d'autre solution sinon regarde ce dont je te parle, essaye de comprendre, fait des tests et revient avec de nouvelles questions
    TontonNico

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

  6. #26
    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
    Merci pour votre aide,

    Je crée un troisième GameObject (capsule) et quand je déplace cette capsule (que je rends parent des 2 cubes), je fait bien bouger les 2 cubes ensemble.
    Par contre je n'arrive pas à le faire avec du code.

    Qu'entends-tu par "delta mouvement".

    Est-ce qu'il est obligatoire de faire l'inverse comme faire cube 2 parent du cube 1 (comme l'image ci-dessous)?

    Nom : hierarchy.png
Affichages : 212
Taille : 1,5 Ko

    Merci encore,

    A+
    Images attachées Images attachées  

  7. #27
    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 julius1983 Voir le message
    Merci pour votre aide,

    Je crée un troisième GameObject (capsule) et quand je déplace cette capsule (que je rends parent des 2 cubes), je fait bien bouger les 2 cubes ensemble.
    Par contre je n'arrive pas à le faire avec du code.
    Pour rappel le code de PixelJuice pour faire via code ce que tu voulais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
     
    /// <summary>
    /// Managet to move every object on a plane surface.
    /// </summary>
    public class ObjectMoverManager : MonoBehaviour
    {
        GameObject movingObject;
        Vector3 positionZero;
        Plane plane;
     
        /// <summary>
        /// Update the manager.
        /// </summary>
        void Update()
        {
            if (Input.GetMouseButtonDown(0))
            {
                Ray mouseRay = GetMouseRay();
                RaycastHit hit;
     
                if (Physics.Raycast(mouseRay.origin, mouseRay.direction, out hit))
                {
                    movingObject = hit.transform.gameObject;
                    plane = new Plane(Vector3.up, movingObject.transform.position);
                    Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
                    float rayDistance;
                    plane.Raycast(ray, out rayDistance);
                    positionZero = movingObject.transform.position - ray.GetPoint(rayDistance);
                }
            }
     
            else if (Input.GetMouseButton(0) && movingObject)
            {
                Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
     
                float rayDistance;
     
                if (plane.Raycast(ray, out rayDistance))
                {
                    movingObject.transform.position = ray.GetPoint(rayDistance) + positionZero;
                }
            }
     
            else if (Input.GetMouseButtonUp(0) && movingObject)
            {
                movingObject = null;
            }
        }
     
        /// <summary>
        /// Get the mouse ray.
        /// </summary>
        /// <returns>Ray of the mouse.</returns>
        private Ray GetMouseRay()
        {
            Vector3 mousePositionFar = new Vector3(Input.mousePosition.x, Input.mousePosition.y, Camera.main.farClipPlane);
            Vector3 mousePositionNear = new Vector3(Input.mousePosition.x, Input.mousePosition.y, Camera.main.nearClipPlane);
            Vector3 mousePositionF = Camera.main.ScreenToWorldPoint(mousePositionFar);
            Vector3 mousePositionN = Camera.main.ScreenToWorldPoint(mousePositionNear);
     
            Ray mouseRay = new Ray(mousePositionN, mousePositionF - mousePositionN);
     
            return mouseRay;
        }
    }
    Comprends tu les grandes ligne de ce code? par exemple les questions à se poser pour modifier le code entre autres:

    1. A quoi correspond la variable "GameObject movingObject;" ?
    2. Qu'est ce qui active le déplacement?
    3. Quelle est la ligne de code qui fait déplacer?
    4. Qu'est ce qui est déplacer au final? et de combien?


    Citation Envoyé par julius1983 Voir le message
    Qu'entends-tu par "delta mouvement".
    La différence entre la position finale et la position initiale, c'est le delta mouvement soit en gros de la distance que tu as déplacer ton objet.
    Si tu arrives à voir dans le code à quel endroit et comment tu déplaces le cube sélectionné (ou simplement comment calculer/obtenir ce delta mouvement/déplacement), tu pourras donc rajouter une ligne de code pour déplacer ton cube2 de la même valeur ce qui fera bouger tes 2 cubes de la même façon et ce sans lien de parenter du coup

    Citation Envoyé par julius1983 Voir le message
    Est-ce qu'il est obligatoire de faire l'inverse comme faire cube 2 parent du cube 1 (comme l'image ci-dessous)?
    Si tu veux partir sur le changement de parent, encore une fois rappel de la documentation unity:
    https://docs.unity3d.com/ScriptRefer...rm-parent.html

    Pour cela il te faut déjà comprendre le fonctionnement et voir les limites, on va voir ça un peu ensemble

    1. On va simplement créer un nouveau script c# et dans le void start de changer/mettre le parent du style si je schématise:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
     
    public class monscriptdetest : MonoBehaviour
    {
        //déclaration de ta variable parent à faire glisser dans l'inspecteur si tu déclare en public par exemple
     
        void Start()
        {
            //le parent du gameobject sur lequel ce script est rattaché = ma variable parent déclarée, cf exemple dans la documentation pour faire ça via code
        }
     
    }

    2. Une fois que tu as le bout de code, tu peux tester donc les cas différents:
    Nom : test cube.jpg
Affichages : 265
Taille : 11,6 Ko

    Par exemple test 1: si tu mets ton script sur le cube 1 et que tu dis que ton parent est le cube2: quel est le résultat obtenu?
    Inversement si tu mets ton script sur le cube 2 et que tu dis que ton parent est le cube1: quel est le résultat obtenu?

    Tout ça pour voir si unity renvoie des erreurs ou si le code fonctionne comme tu l'espère et si ce n'est pas le cas de comprendre/trouver une solution

    3. Une fois que tu vois ce que tu veux/peux faire, il faudra modifier le premier script de déplacement: quand on clique sur un cube le deuxième vient en enfant pour être déplacer automatiquement
    Comment le faire? => c'est donc le 2 juste avant qu'on vient de voir
    Ou mettre ce code? à toi de réfléchir et tester à quel moment du code de déplacement tu veux le faire

    Bien sur, tu as google pour t'aider, par exemple si tu as un souci avec le 2 tu peux chercher "set parent unity C#" ou en fr "changer un parent unity", bref il faut creuser, lire, tester pour comprendre comment cela fonctionne et ce qu'il est possible de faire
    TontonNico

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

  8. #28
    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,

    tout cela me semble bien compliqué.

    Ce que je cherche, c'est du code qui dit de déplacer les 2 cubes ensembles lorsque l'on déplace un des cubes.

    Si on déplace le cube 1, les 2 cube bouges bien ensembles (mais pas si on déplace le cube 2).

    Tout est dans la vidéo (voir ci-dessus).

    Merci à vous,

    A+

  9. #29
    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 le développement informatique n'est pas fait pour toi si rien que cela te rebute car on va te filer du code et 2 minutes plus tard tu vas vouloir changer la couleur du cube sans savoir le faire et revenir nous demander de le faire pour toi.
    Ce n'est pas une fatalité mais juste une simple constatation.

    Après tu peux payer des gens pour développer ce que tu as en tête, c'est possible tant que tu payes

    Edit: Et bien sur donner du code comme cela n'est pas dans l'esprit du site (ni aucun site/forum/discord d'une manière général je dirais, du moins pas toute les 30 secondes quand tu auras une idée en tête), tu peux malheureusement arrêter de demander qu'on te fasse le boulot à ta place gratuitement si tu n'as pas envie de bosser un peu.
    Pour être clair après cette discussion et tes réponses, tu n'auras surement plus aucune réponse à tes demandes sauf moyennant finance (je m'avance un peu mais je pense que beaucoup de monde du forum partage cette avis, on verra bien ce que les autres en pense)

    Bien cordialement
    TontonNico

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

  10. #30
    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
    Bonjour,

    Julius, puis-je te demander quel est le but de ce petit jeu que tu essayes de coder ?

    Parce que je pense que l'on est dans une issue. Et ta réponse permettra d'y mettre fin.




    Réponse A : Tu veux t’entraîner

    Dans ce cas le code t'intéresse, mais on ne le voit pas du tout. Déjà pour ton premier soucis, tu as mis des mois à reposer la même question jusqu'à qu'on te donne le code au point-virgule près. A ce point là, ce n'est rendre service ni à toi, ni a personne ici sur ce forum. Sachant que des gens t'ont fournis des pistes, voir des solutions différentes, tu as tout ce qu'il te faut. On frôle l'exploitation là.

    Réponse B : Tu as une idée de jeu mais pas les compétences pour

    Dans ce cas là, le code ne t'intéresse moins, voir pas du tout. Et dans ce cas on s'arrête là. Soit tu t'associes à un codeur, tout en fournissant de ton côté une plus-value, c'est à dire une compétence telle que le graphisme ou autre. Soit tu passes à la caisse comme dit Tonton Nico 💰. C'est aussi simple que ça.




    Il est très important que tu te poses la question, car nous ne sommes pas là que pour répondre aux questions techniques mais aussi te guider dans ton processus de programmation.

    PS : Si tu réponds en reformulant la sempiternel même question, je t'ajoutes dans ma blacklist

  11. #31
    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
    En effet, j'ai quelques lacunes en programmation pour le code en C#,

    je me débrouillais pas mal en Pascal objet (Delphi), j'ai même crée un jeu que je vends sur le net.

    Pour le code, j'ai compris qu'il y avait un mouseDown et un mouseUp,

    le reste ne me parle pas beaucoup.

    Je ne comprends pas pourquoi le script renvoie une valeur Ray à la fin.

    Merci pour votre aide.

  12. #32
    Expert éminent sénior
    Avatar de Kannagi
    Homme Profil pro
    cyber-paléontologue
    Inscrit en
    Mai 2010
    Messages
    3 214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cyber-paléontologue

    Informations forums :
    Inscription : Mai 2010
    Messages : 3 214
    Points : 10 140
    Points
    10 140
    Par défaut
    Je salue la patience de Tonton Nico

    Citation Envoyé par Tonton Nico Voir le message
    Pour être clair après cette discussion et tes réponses, tu n'auras surement plus aucune réponse à tes demandes sauf moyennant finance (je m'avance un peu mais je pense que beaucoup de monde du forum partage cette avis, on verra bien ce que les autres en pense)
    Je pense pareil



    Pour le code, j'ai compris qu'il y avait un mouseDown et un mouseUp,

    le reste ne me parle pas beaucoup.

    Je ne comprends pas pourquoi le script renvoie une valeur Ray à la fin.
    Le soucis ,c'est que tu pourra pas demander de l'aide indéfiniment ,en tout cas tu demande de l'aide un peu trop poussé (limite il te faut une vidéo + code source clé en main) , ce qui est pas vraiment faisable , si tu veux faire un jeu en entier personne ne t'aidera à faire ça de A à Z.

  13. #33
    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 julius1983 Voir le message
    En effet, j'ai quelques lacunes en programmation pour le code en C#,
    Ta lacune est surtout de ne pas chercher par toi même et essayé d'avancer je dirais, que ce soit du C#, du node.js ou de la SDL2.
    Y a pas mal de tuto sur youtube pour apprendre et comprendre le C# voir juste de faire des tutos unity et découvrir plein de fonction et astuces, tu en fait régulièrement?

    Citation Envoyé par julius1983 Voir le message
    je me débrouillais pas mal en Pascal objet (Delphi), j'ai même crée un jeu que je vends sur le net.
    Tu avais demandé de l'aide et on l'avais fait à ta place ce jeu ou pas? qu'est ce qui a changé entre deux vu que tu avais l'air d'être motivé à l'époque?

    Enfin quand je vois ton
    tout cela me semble bien compliqué.
    , tu as fait quoi du coup en Delphi? un jeu ou il faut deviner un nombre entre 1 et 5 en 3 essais? car bon dans mes messages on parlait pas de perlin noise pour de la génération procédurale quoi, y a rien de méchant quoi, tu avais surement du faire largement plus dur et long si tu as déjà fait un petit jeu

    Citation Envoyé par julius1983 Voir le message
    Pour le code, j'ai compris qu'il y avait un mouseDown et un mouseUp,
    le reste ne me parle pas beaucoup.
    Et du coup tu attends quoi pour le comprendre? tu as chercher chaque fonctions dans la documentation unity pour savoir ce qu'elles font par exemple?si tu reviens avec une question technique particulièrement sur un point tu auras plus de chance d'avoir une réponse

    Citation Envoyé par julius1983 Voir le message
    Je ne comprends pas pourquoi le script renvoie une valeur Ray à la fin.
    Bin c'est la fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    private Ray GetMouseRay
    qui renvoie... un Ray....

    Au passage hein je rappel que dans un de mes anciens message j'ai rapidement expliqué quelques manipulation pour arriver à résultat prometteur en 15 minutes (vidéo à l'appui), tu devrais mieux lire quand on prends le temps de te répondre et pas attendre du code tout fait ^^
    TontonNico

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

  14. #34
    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 376
    Points
    20 376
    Par défaut
    Citation Envoyé par julius1983 Voir le message
    Je ne comprends pas pourquoi le script renvoie une valeur Ray à la fin.
    si ne vous comprenez pas des choses dans le code alors il faut le demander puisque ici c'est un forum d'entraide.
    Le script renvoie une valeur de "ray" parce que c'est la méthode du "picking" majoritairement utilisée dans l'imagerie 3d.
    La méthode du picking consiste à récupérer les coordonnées x,y de la souris pour les transformer dans un espace orthonormé 3d en vecteur origine et vecteur cible.
    Ceci sert à sélectionner un objet parmi d'autres en 3d

    Sinon pour bouger des cubes ensembles alors il suffit de les regrouper dans un conteneur comme list<cube>
    Au déplacement de la souris, parcourir la liste,obtenir les coordonnées x,y,z des cubes et appliquer une translation x,z sur chaque cube.

  15. #35
    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
    Bonjour à tous,

    Je continue à essayer de déplacer les deux cubes bleus ensemble à l'aide du cube rouge (voire vidéo ci-dessus).
    Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    GameObject cubeBleu, cubeRouge ;
     
        void Update()
        {
               cubeBleu.transform.Translate (cubeRouge.transform.Translate) ;
         }
    Le problème, c'est que cela ne fonctionne pas.

    Un peu de code serait le bienvenu,

    Merci pour votre aide,

    A+

  16. #36
    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
    Arrête de nous prendre pour des cons
    Tu fais un Translate de Translate, unity te gueule forcément une erreur

    Sois un minimum sérieux et respectueux et tu auras des réponses surement, tu verras c'est magique de ne pas prendre les gens pour des cons, les résultats sont époustouflants!
    TontonNico

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

  17. #37
    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
    Désolé mais je ne vous prends pas pour des cons, j'ai trop de respect pour cela.

    Je voudrais juste un peu de code car je suis débutant, désolé si c'est trop demander.

    Merci à vous.

  18. #38
    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
    Regarde à nouveau ma réponse du 17/11/2020, 23h56 entre autres....
    TontonNico

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

  19. #39
    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 376
    Points
    20 376
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    cubeBleu.transform.Translate (cubeRouge.transform.Translate) ;
    ça ne peut pas fonctionner car transform.Translate ne retourne pas de valeur.
    Votre problème c'est la maitrise du C# donc il faut suivre un tutoriel pour apprendre à programmer en C# avant de se lancer dans du code Unity

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