Problème de script ou du programme ?

Questions à propos du scripting. Hors Shader, GUI, Audio et Mobile.
UnicornMaster40
Messages : 17
Inscription : 16 Sep 2018 14:15

Problème de script ou du programme ?

Message par UnicornMaster40 » 18 Sep 2018 03:04

Bonjour à tous, je commence dans Unity. J'ai créé un scoop pour mon personnage (dragon) pour faire des contrôle simple. Donc avancer " animation de vol", reculer même animation, gauche, droite, une d'attaque et un de sprint" animation de vol mais accélérer ". Jai plusieur problème.

• En premier lieu, mon personage au lancement de la scène est en idel, ci j'avance ou fait une action différente, mon personage reste sur ce dernier, il ne revien pas en mode attente (idel).

• Également lorsque j'exécute la commande attaque, a la fin de l'action le personnage reste coincer comme sa :/

• En plus de sa malgrer mon collider de terrain, d'objet et sur mon personage , ce dernier rentre sous le terrain et passe as-tu travers des arbres ...

Merci a touts d'avance pour le conseil.
Dernière édition par UnicornMaster40 le 23 Sep 2018 13:17, édité 1 fois.

Avatar de l’utilisateur
Max
Messages : 8771
Inscription : 30 Juil 2011 13:57
Contact :

Re: Problème de script ou du programme ?

Message par Max » 18 Sep 2018 07:42

Bonjour,

tu as essayé d'insérer une vidéo ? ça semble avoir été coupé au montage :mrgreen:
De plus, poste ton script, c'est toujours mieux, surtout dans cette section.

Pour ce qui est du personnage qui rentre dans le décors, possède-t-il les éléments physiques de base, c'est à dire au moins le couple Collider/Rigidbody ?
Image
Pas d'aide par MP, le forum est là pour ça.
En cas de doute sur les bonnes pratiques à adopter sur le forum, consulter la Charte et sa FAQ

UnicornMaster40
Messages : 17
Inscription : 16 Sep 2018 14:15

Re: Problème de script ou du programme ?

Message par UnicornMaster40 » 18 Sep 2018 23:39

Bonjour, voila mon script pour mes contrôles et animations. On ma dit que je pouvais faire plus simple , mais ja'ai suivie un tuto et je trouvais sa simple a suivre et a comprendre contrairement à ce que la personne essayais de m'expliquer pour le simplifier. :/

Code : Tout sélectionner

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class moving : MonoBehaviour {


    // Animation du perso
       Animation animation;


    // Vitesse de déplacement
        public float lowSpeed;
	public float hightSpeed;
	public float turnSpeed;
  

	// Inputs
	public string inputFront;
	public string inputBack;
	public string inputLeft;
	public string inputRight;
        public string inputSkill1;

	public Vector3 jumpSpeed;
	CapsuleCollider playerCollider;

	void Start () {
        animation = gameObject.GetComponent<Animation>();

        playerCollider = gameObject.GetComponent<CapsuleCollider>();
             
	}


       void Update () {
	
        // si on avance
        if (Input.GetKey(inputFront))
	{
            transform.Translate(0,0, lowSpeed * Time.deltaTime);
            animation.Play("sj001_run");
              
        }


        // si on sprint
        if (Input.GetKey(inputFront) && Input.GetKey(KeyCode.LeftShift))
       {
            transform.Translate(0, 0, hightSpeed * Time.deltaTime);
            animation.Play("sj001_run");
            animation["sj001_run"].speed = 1.5F;

        }


        // si on recule
        if (Input.GetKey(inputBack))
       {
            transform.Translate(0, 0, lowSpeed * -Time.deltaTime / 2);

       }


       // rotation à gauche
       if (Input.GetKey(inputLeft))
      {
            transform.Rotate(0,-turnSpeed * Time.deltaTime,0);

       }


	// rotation à droite
	if (Input.GetKey(inputRight))
	{
			transform.Rotate(0,turnSpeed * Time.deltaTime,0);

         }


       // attaque 1
       if (Input.GetKey(inputSkill1))
      {
            animation.Play("sj001_skill1");

      }

    
}
}
Voici un vidéo de ce que sa donne: ps. Désolé pour le son mon conjoint écoutais la TV
https://www.youtube.com/watch?v=JphScl1AiMg

Avatar de l’utilisateur
Max
Messages : 8771
Inscription : 30 Juil 2011 13:57
Contact :

Re: Problème de script ou du programme ?

Message par Max » 19 Sep 2018 18:24

Bonsoir,

Dans un premier temps, avant de se pencher sur les animations, mon conseil serait de bien reprendre la partie contrôle du vol ainsi que la partie interaction, car ton dragon passe toujours à travers les obstacle visiblement (une approche avec colliders sur les éléments du décors, et collider + rigidbody sur ton dragon).
Image
Pas d'aide par MP, le forum est là pour ça.
En cas de doute sur les bonnes pratiques à adopter sur le forum, consulter la Charte et sa FAQ

UnicornMaster40
Messages : 17
Inscription : 16 Sep 2018 14:15

Re: Problème de script ou du programme ?

Message par UnicornMaster40 » 19 Sep 2018 20:42

Le hic c'est qu'il y a tout sa déjà :/ mon dragon a un rigide et on collier, mon terrain à un terrain colllider et mes arbre aussi :/

Avatar de l’utilisateur
Max
Messages : 8771
Inscription : 30 Juil 2011 13:57
Contact :

Re: Problème de script ou du programme ?

Message par Max » 19 Sep 2018 20:56

Dans ce genre de cas de figure, pour pondre un controller, tu dois passer par des instructions de gestion physique (AddForce, velocity and co) pour le contrôle des mouvements/déplacements, et éviter l'emploie direct des transforms.
Image
Pas d'aide par MP, le forum est là pour ça.
En cas de doute sur les bonnes pratiques à adopter sur le forum, consulter la Charte et sa FAQ

Avatar de l’utilisateur
Liven
Messages : 268
Inscription : 30 Nov 2017 01:48

Re: Problème de script ou du programme ?

Message par Liven » 20 Sep 2018 17:28

Max a raison pour ce qui est des collisions.

Pour ce qui est des animations, au vu de ton code, c'est pas étonnant que tu reste en animation de vol, car à aucun moment tu n'envoie l'info de retourner en idle.

Je serais toi, je passerais par l'animator qui permet de bien mieux voir les différentes animations et comment elles s'enchaînent les unes avec les autres. Et puis plus tu vas ajouter des animations (attaques...) plus ton fichier va devenir une usine à gaze.
Vraiment passe par l'animator, il est fait pour ça.

Verrouillé

Revenir vers « Scripting »