Footsteps (Version3)
using System.Collections;
Back
using System.Collections.Generic;
using UnityEngine;
public class Footsteps : MonoBehaviour {
[FMODUnity.EventRef]
public string InputFootsteps;
FMOD.Studio.EventInstance FootstepsEvent;
FMOD.Studio.ParameterInstance WoodParameter;
FMOD.Studio.ParameterInstance MetalParameter;
FMOD.Studio.ParameterInstance GrassParameter;
bool playerismoving;
public float walking speed
private float WoodValue;
private float MetalValue;
private float GrassValue;
private bool playerisgrounded;
void Start ()
{
FootstepsEvent = FMODUnity.RuntimeManager.CreateInstance(InputFootsteps);
FootstepsEvent.getParameter ("Wood", out WoodParameter);
FootstepsEvent.getParameter ("Metal", out MetalParameter);
FootstepsEvent.getParameter ("Grass", out GrassParameter);
InvokeRepeating ("CallFootsteps", 0, walkingspeed);
}
void Update ()
{
WoodParameter.setValue (WoodValue);
MetalParameter.setValue (MetalValue);
GrassParameter.setValue (GrassValue);
if (Input.GetAxis ("Vertical") >= 0.01f || Input.GetAxis ("Horizontal") >= 0.01f || Input.GetAxis ("Vertical") <= -0.01f || Input.GetAxis ("Horizontal") <= -0.01f)
{
if (playerisgrounded == true)
{
playerismoving = true;
}
else if (playerisgrounded == false)
{
playerismoving = false;
}
}
else if (Input.GetAxis ("Vertical") == 0 || Input.GetAxis ("Horizontal") == 0)
{
playerismoving = false;
}
}
void CallFootsteps ()
{
if (playerismoving == true)
{
FootstepsEvent.start();
}
else if (playerismoving == false)
{
//Debug.Log ("player is moving = false");
}
}
void OnDisable ()
{
playerismoving = false;
}
void OnTriggerStay(Collider MaterialCheck)
{
//float FadeSpeed = 10f;
playerisgrounded = true;
if (MaterialCheck.CompareTag ("Wood:Material"))
{
WoodValue = 1f;
MetalValue = 0f;
GrassValue = 0f;
}
if (MaterialCheck.CompareTag ("Metal:Material"))
{
WoodValue = 0f;
MetalValue = 1f;
GrassValue = 0f;
}
if (MaterialCheck.CompareTag ("Grass:Material"))
{
WoodValue = 0f;
MetalValue = 0f;
GrassValue = 1f;
}
}
void OnTriggerExit (Collider MaterialCheck)
{
playerisgrounded = false;
}
}