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 :

Collecte de donnée


Sujet :

Unity

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2018
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2018
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Collecte de donnée
    Bonjour, j'ai un probleme avec mon projet scolaire de fin d'année.

    Je dois concevoir une simulation d'une voiture sur unity mais j'ai quelques problemes.

    Le circuit se présente comme cela avec la voiture.

    Nom : 1522409463-3.png
Affichages : 267
Taille : 1,21 Mo

    La simulation dois récolter les données de conduite de la voiture par rapport au 2 capteurs placé dessus et aux mur sur le tour du circuit

    Nom : 1522409462-1.png
Affichages : 243
Taille : 635,5 Ko

    Le script de conduite de la voiture est extrêmement basique mais suffisant

    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
     
    function Update () {
     
    transform.Translate(Vector3(0,0,1));
     
    if (Input.GetKey(KeyCode.DownArrow))
     
    transform.Translate(Vector3(0, 0,-1));
     
    if (Input.GetKey(KeyCode.RightArrow))
     
    transform.Rotate(Vector3(0,1,0));
     
    if (Input.GetKey(KeyCode.LeftArrow))
     
    transform.Rotate(Vector3(0,-1,0));
     
     
     
     
    }
    J'ai donc 3 problemes a regler :

    - Implémenter les collisions : Lorsque la voiture touche les mur blanc sur le coté, elle les traverses, tout comme les obstacles sur circuit ( rochet, pont etc...)

    -créé un script qui recolorera les donnée d'impact par rapport au 2 capteurs placé sur la voiture et aux mur sur le tour du circuit

    Nom : 1522409463-5.png
Affichages : 241
Taille : 1,01 Mo

    -Créé un script qui stopperai la simulation et la relancerai automatiquement lors d'un impact avec un mur ou un object.

    Merci beaucoup

  2. #2
    Membre actif

    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2014
    Messages : 75
    Points : 289
    Points
    289
    Par défaut
    Bonjour,

    Pour la gestion des impacts, je pense qu'il est plus simple de passer par le moteur physique d'Unity :

    • Attribuer des Colliders à la voiture et aux décors
    • Attribuer un Rigidbody à la voiture
    • Utiliser GetComponent.<Rigidbody>().AddForce() au lieu de transform.Translate()


    En effet, il faut passer par un Rigidbody pour que le moteur physique entre en jeu.

    Bon courage pour la suite !

  3. #3
    Membre actif

    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2014
    Messages : 75
    Points : 289
    Points
    289
    Par défaut
    -Créé un script qui stopperai la simulation et la relancerai automatiquement lors d'un impact avec un mur ou un object.
    Pour cela, il faut repérer les objets dont la collision doit relancer la scène, avec un tag par exemple (car une collision avec la route est censée être normale...).

    Imaginons donc un tag "Obstacle" assigné aux murs, le code pourrait ressembler à ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    function OnCollisionEnter (c : Collision){
     
        if(c.gameObject.tag == "Obstacle"){
     
            //Relancer la scène
     
        }
     
    }
    dans un script attaché à la voiture.

    Pour relancer la scène, j'utilisais auparavant "Application.LoadLevel(Application.loadedLevel)", mais désormais il faut passer par le SceneManager. Il peut être également intéressant d'afficher un message pendant quelques secondes avant de relancer, c'est moins brusque .

Discussions similaires

  1. [AC-2007] envoi de formulaire pour collecte de données
    Par Alain7751 dans le forum IHM
    Réponses: 1
    Dernier message: 31/07/2009, 14h49
  2. Collecte de données
    Par malox dans le forum Développement de jobs
    Réponses: 4
    Dernier message: 15/01/2009, 10h20
  3. Collecter des données par outlook
    Par MartinFouga dans le forum IHM
    Réponses: 0
    Dernier message: 16/01/2008, 13h25
  4. [Access 2007 - Nouveauté] Collecter des données via Outlook
    Par Maxence HUBICHE dans le forum Sondages et Débats
    Réponses: 15
    Dernier message: 04/06/2007, 13h31
  5. Collecter des données
    Par mout1234 dans le forum IHM
    Réponses: 9
    Dernier message: 22/02/2007, 18h11

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