Bruit de pas, Sur l'eau.

Pour les scripts écrits en Javascript (UnityScript). :!: Obsolète :!:
Règles du forum
Merci de respecter la NOMENCLATURE suivante pour vos TITRES de messages :

Commencez par le niveau de vos scripts
DB = Débutant
MY = Moyen
CF = Confirmé

Puis le domaine d'application
-RS = Réseau
-AL = Algorithmie

Exemple :

[DB-RS] Mouvement perso multijoueur
Idolo
Messages : 89
Inscription : 11 Mars 2015 10:16

Bruit de pas, Sur l'eau.

Message par Idolo » 12 Mars 2015 16:35

Bonjour tous le monde, voila je souhaiterais après avoir "fais" (en partie) un script de bruit de pas, en faire un mais pour l'eau (au lieu du sol).
J'avais pour cela commencé par faire dans mon(es) précédent(s) (j'en utilise deux) scripts de bruit de pas. Mais ce fut un echec...
J'ai donc chercher sur le forum et trouver un script de pas que j'ai cherché à adapté avec ce que je connais un petit peu.

Ce qui donne ça:
Script en js que je met sur mon personnage:

Code : Tout sélectionner

static var iswatered : boolean = true;

//make sure u replace "floor" with your gameobject name.on which player is standing
 function OnCollisionEnter(theCollisionB : Collision){
 if(theCollisionB.gameObject.name == "WaterProDaytime")
{
iswatered = true;
}
}
//consider when character is jumping .. it will exit collision.
function OnCollisionExit(theCollisionB : Collision){
if(theCollisionB.gameObject.name == "WaterProDaytime")
{
iswatered = false;
}
}
Il est censé vérifier la présence de mon personnage sur l'eau et si c'est le cas mettre la variable iswatered en true.

Et mon script pour jouer le son que je met dans un objet quelconque de ma scène (en partant du principe que dans tous les cas je ne peux pas le mettre sur mon personnage ou mon objet de l'eau)

Code : Tout sélectionner

#pragma strict
    var waterSounds:AudioClip;

    function Start()
    {
       var iswatered = GameObject.FindGameObjectWithTag("Player").GetComponent("WaterSound1");
    }

    function Update ()
    {
    
          if (WaterSound1.iswatered == false)
          {
          GetComponent.<AudioSource>().Stop();
          return;
          }          
          else if (Input.GetAxis( "Horizontal" ) || Input.GetAxis( "Vertical" ) ||Input.GetKey( "left shift" ) || Input.GetKey( "right shift" ) )
          {
               if (!GetComponent.<AudioSource>().isPlaying)
               {
                     GetComponent.<AudioSource>().clip = waterSounds;
                     GetComponent.<AudioSource>().Play();
                }
          }
                    GetComponent.<AudioSource>().Stop();
          }
Il vérifie la variable du premier script, vérifie l'appuie des touche Haut Bas Droit Gauche et jour le son ou l'arrète ( !??de ce que j'ai cru comprendre??!).
Mais c'est un échec, j'aurais si possible des questions au personnes connaissant Unity:
1- Ai-je fais une erreur dans un de mes scripts ?
2- Est-ce que l'objet water peut être considéré comme "en collision" avec quelque chose ?
3- Est-ce que pour que l'objet water soit considéré en collision il faut lui ajouter un composant de collision ?
4- A ce moment là est ce que je peux mettre un collider mais qui soit traversable

Merci :)

Idolo
Messages : 89
Inscription : 11 Mars 2015 10:16

Re: Bruit de pas, Sur l'eau.

Message par Idolo » 13 Mars 2015 10:05

En effet le problème c'est deux petits oublis dans le second script(presque rien).
ET le manque de collider, avec un mesh collider ça marche niquel, seulement du coup je deviens dieu et mon personnage marche sur l'eau au lieu de la traverser... je vais continuer à chercher y a surement déjà eu un post sur ce sujet.

Ps: Pour le moment je ne trouve que des posts sur l'inverse, étonnant moi j'aimerais bien avoir un beug et que ce soit traversable >_<

MadJlzz
Messages : 7
Inscription : 27 Fév 2015 15:42

Re: Bruit de pas, Sur l'eau.

Message par MadJlzz » 13 Mars 2015 10:44

Salut,

Juste comme ça pour être sûr. Au niveau de ton collider, tu as bien vérifié qu'il est en mode trigger ? Selon moi, c'est à ce moment là que tu dois activer le son pour l'eau ! Comme ça, ça te renvoie juste un booléen que tu traites et les résultantes de ta collision ne sont pas appliquées.

Du coup pars plutôt sur du OnTriggerEnter.

Voilà, voilà...

Idolo
Messages : 89
Inscription : 11 Mars 2015 10:16

Re: Bruit de pas, Sur l'eau.

Message par Idolo » 16 Mars 2015 22:26

Oui en effet dans ce cas là je passe bien au travers de l'eau, par contre le convex fais que à certains endroits ou l'eau et sous le sol (mais très près quand même) le sond se joue. Ce qui n'arrive pas sans le convex. (Je suis en mesh collider pour essayer d'avoir la collision la plus précise?)

MadJlzz
Messages : 7
Inscription : 27 Fév 2015 15:42

Re: Bruit de pas, Sur l'eau.

Message par MadJlzz » 17 Mars 2015 16:17

Salut,

Tiens va voir le comportement présenté ici.
C'est un peu ce que tu cherches à reproduire en fin de compte...

https://www.youtube.com/watch?v=mu__FxT8Gzk

Idolo
Messages : 89
Inscription : 11 Mars 2015 10:16

Re: Bruit de pas, Sur l'eau.

Message par Idolo » 17 Mars 2015 16:59

Merci, mais c'est payant.

Verrouillé

Revenir vers « (Js) Javascript »