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;
}
}
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();
}
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