// Start is called before the first frame update void Start() { // get components rb = GetComponent <Rigidbody>(); triggerDrinkBlood = GetComponent <TriggerDrinkBlood>(); cam = GetComponentInChildren <Camera>(); // set variables terrainDetector = new TerrainDetector(); _yRotateOffset = transform.rotation.eulerAngles.y; _yRotateOffsetPosition = _yRotateOffset; _yRotateOffsetRotation = _yRotateOffset; switch (_controlScheme) { case ControlScheme.FacePosition: _setRotation = SetRotationByFacePosition; break; case ControlScheme.FaceRotation: _setRotation = SetRotationByFaceRotation; break; case ControlScheme.Hybrid: _setRotation = SetRotationHybrid; break; } }
void Start() { rb = gameObject.GetComponent <Rigidbody>(); Cursor.visible = false; Cursor.lockState = CursorLockMode.Locked; td = new TerrainDetector(); }
void Start() { terrainDetector = new TerrainDetector(true); map = new GameObject[mapSizeX, mapSizeY]; for (int i = 0; i < runGeneratorTimes; i++) { SpawnAllObjects(); } }
void Start() { td = new TerrainDetector(); // terrain size x terrainWidth = (int)terrain.terrainData.size.x; // terrain size z terrainLength = (int)terrain.terrainData.size.z; // terrain x position terrainPosX = (int)terrain.transform.position.x; // terrain z position terrainPosZ = (int)terrain.transform.position.z; for (int i = 0; i < 5000 && currentObjects < numberOfObjects; i++) { // generate random x position int posx = Random.Range(terrainPosX, terrainPosX + terrainWidth); // generate random z position int posz = Random.Range(terrainPosZ, terrainPosZ + terrainLength); // get the terrain height at the random position float posy = Terrain.activeTerrain.SampleHeight(new Vector3(posx, 0, posz)) - yOffset - 1.1f; // create new gameObject on random position Collider[] cols = Physics.OverlapSphere(new Vector3(posx, posy, posz), sphereRadius); foreach (Collider col in cols) { if (col.gameObject != terrain.gameObject) { continue; } } if (textureIDs.Count != 0) { if (textureIDs.Contains(td.GetActiveTerrainTextureIdx(new Vector3(posx, posy, posz)))) { GameObject newObject = (GameObject)Instantiate(objectToPlace, new Vector3(posx, posy, posz), Quaternion.Euler(0, Random.Range(0.0f, 360.0f), 0)); newObject.transform.localScale *= scaleMultiplier + Random.RandomRange(-scaleVariation, scaleVariation); currentObjects += 1; } } else { GameObject newObject = (GameObject)Instantiate(objectToPlace, new Vector3(posx, posy, posz), Quaternion.Euler(0, Random.Range(0.0f, 360.0f), 0)); newObject.transform.localScale *= scaleMultiplier; currentObjects += 1; } } print("name: " + objectToPlace.name + " currentObj: " + currentObjects); }
// Use this for initialization private void Start() { m_CharacterController = GetComponent <CharacterController>(); m_Camera = Camera.main; m_OriginalCameraPosition = m_Camera.transform.localPosition; m_FovKick.Setup(m_Camera); m_HeadBob.Setup(m_Camera, m_StepInterval); m_StepCycle = 0f; m_NextStep = m_StepCycle / 2f; m_Jumping = false; m_AudioSource = GetComponent <AudioSource>(); m_MouseLook.Init(transform, m_Camera.transform); t = new TerrainDetector(); }
private void FixedUpdate() { movementSpeed = GetComponentInParent <Rigidbody>().velocity.magnitude; RaycastHit hit; if (Physics.Raycast(transform.position + Vector3.up, Vector3.down, out hit, 2f, layerMask)) { playSound = true; if ((!currentTerrain && hit.transform.GetComponent <Terrain>()) || (hit.transform.GetComponent <Terrain>() && currentTerrain.name != hit.transform.GetComponent <Terrain>().name)) { currentTerrain = hit.transform.GetComponent <Terrain>(); terrainDetector = currentTerrain.GetComponent <TerrainDetector>(); } if (hit.transform.tag == "Concrete") { currentSounds = movementSpeed >= jogThreshold ? sounds.runConcrete : sounds.walkConcrete; } else if (hit.transform.tag == "Wood") { currentSounds = movementSpeed >= jogThreshold ? sounds.runWood : sounds.walkWood; } else if (hit.transform.tag == "Metal") { currentSounds = movementSpeed >= jogThreshold ? sounds.runMetal : sounds.walkMetal; } else if (hit.transform.tag == "Terrain") { int textureIndex = terrainDetector.GetDominantTextureIndexAt(transform.position); switch (textureIndex) { case 0: // sand texture currentSounds = movementSpeed >= jogThreshold ? sounds.runSand : sounds.walkSand; break; case 1: // gravel texture currentSounds = movementSpeed >= jogThreshold ? sounds.runGravel : sounds.walkGravel; break; case 2: // moss texture currentSounds = movementSpeed >= jogThreshold ? sounds.runGrass : sounds.walkGrass; break; case 3: //grass texture currentSounds = movementSpeed >= jogThreshold ? sounds.runGrass : sounds.walkGrass; break; case 4: //rock texture currentSounds = movementSpeed >= jogThreshold ? sounds.runConcrete : sounds.walkConcrete; break; case 5: //charcoal texture currentSounds = movementSpeed >= jogThreshold ? sounds.runConcrete : sounds.walkConcrete; break; case 6: //snow texture currentSounds = movementSpeed >= jogThreshold ? sounds.runSnow : sounds.walkSnow; break; case 7: //dirt texture currentSounds = movementSpeed >= jogThreshold ? sounds.runGrass : sounds.walkGrass; break; default: Debug.LogError("Please add footsteps sound effect for this ground type: " + textureIndex); break; } } } else { playSound = false; } }
// Start is called before the first frame update void Start() { audioSource = GetComponent <AudioSource>(); terrainDetector = FindObjectOfType <TerrainDetector>(); layerMask = (LayerMask.GetMask("Terrain")); }
private void Awake() { audioSource = GetComponent <AudioSource>(); terrainDetector = new TerrainDetector(); }
private void Awake() { //initialze the soundsPool here in code instead: soundsPools = new List <StepSoundsPool>(); StepSoundsPool element = null; for (int i = 0; i < 4; i++) { element = new StepSoundsPool(); element.audios = new List <AudioClip>(); switch (i) { case 0: element.Tag = "dirt"; element.audios.Add(Resources.Load <AudioClip>("Audio/Sounds/High_Quality_Footsteps/Dirt/STEPSDirt,Walk01")); element.audios.Add(Resources.Load <AudioClip>("Audio/Sounds/High_Quality_Footsteps/Dirt/STEPSDirt,Walk02")); element.audios.Add(Resources.Load <AudioClip>("Audio/Sounds/High_Quality_Footsteps/Dirt/STEPSDirt,Walk03")); element.audios.Add(Resources.Load <AudioClip>("Audio/Sounds/High_Quality_Footsteps/Dirt/STEPSDirt,Walk04")); element.audios.Add(Resources.Load <AudioClip>("Audio/Sounds/High_Quality_Footsteps/Dirt/STEPSDirt,Walk05")); break; case 1: element.Tag = "wood"; element.audios.Add(Resources.Load <AudioClip>("Audio/Sounds/High_Quality_Footsteps/Wood/Wood,Creaky/STEPSWood,Creaky,Walk01")); element.audios.Add(Resources.Load <AudioClip>("Audio/Sounds/High_Quality_Footsteps/Wood/Wood,Creaky/STEPSWood,Creaky,Walk02")); element.audios.Add(Resources.Load <AudioClip>("Audio/Sounds/High_Quality_Footsteps/Wood/Wood,Creaky/STEPSWood,Creaky,Walk03")); element.audios.Add(Resources.Load <AudioClip>("Audio/Sounds/High_Quality_Footsteps/Wood/Wood,Creaky/STEPSWood,Creaky,Walk04")); element.audios.Add(Resources.Load <AudioClip>("Audio/Sounds/High_Quality_Footsteps/Wood/Wood,Creaky/STEPSWood,Creaky,Walk05")); break; case 2: element.Tag = "grass"; element.audios.Add(Resources.Load <AudioClip>("Audio/Sounds/High_Quality_Footsteps/Bush/STEPSBush,Walk01")); element.audios.Add(Resources.Load <AudioClip>("Audio/Sounds/High_Quality_Footsteps/Bush/STEPSBush,Walk02")); element.audios.Add(Resources.Load <AudioClip>("Audio/Sounds/High_Quality_Footsteps/Bush/STEPSBush,Walk03")); element.audios.Add(Resources.Load <AudioClip>("Audio/Sounds/High_Quality_Footsteps/Bush/STEPSBush,Walk04")); element.audios.Add(Resources.Load <AudioClip>("Audio/Sounds/High_Quality_Footsteps/Bush/STEPSBush,Walk05")); break; case 3: element.Tag = "water"; element.audios.Add(Resources.Load <AudioClip>("Audio/Sounds/High_Quality_Footsteps/Water/STEPSWater,Walk01")); element.audios.Add(Resources.Load <AudioClip>("Audio/Sounds/High_Quality_Footsteps/Water/STEPSWater,Walk02")); element.audios.Add(Resources.Load <AudioClip>("Audio/Sounds/High_Quality_Footsteps/Water/STEPSWater,Walk03")); element.audios.Add(Resources.Load <AudioClip>("Audio/Sounds/High_Quality_Footsteps/Water/STEPSWater,Walk04")); element.audios.Add(Resources.Load <AudioClip>("Audio/Sounds/High_Quality_Footsteps/Water/STEPSWater,Walk05")); break; default: break; } soundsPools.Add(element); } poolDictionary = new Dictionary <string, List <AudioClip> >(); //or pls reference soundsPools in the Unity Editor foreach (StepSoundsPool pool in soundsPools) { //added to the dictionary poolDictionary.Add(pool.Tag, pool.audios); } //set tags setTagtoAllChildren("dirt"); setTagtoAllChildren("wood"); setTagtoAllChildren("grass"); setTagtoAllChildren("water"); audioSource = GetComponent <AudioSource>(); terrainDetector = FindObjectOfType <TerrainDetector>(); //pls reference soundsPools in the Unity Editor }
void Start() // Start is called before the first frame update { playerTransform = GameObject.Find("Capsule").transform; //Finds the game object called "Capsule" that is used to represent the body of the player. nextupdate = Time.time + footstepinterval; //Set when to play the first footstep. Time.time expresses the current time, where footstep interval applies the time offset between footsteps. terrainDetector = new TerrainDetector(); //Creating a new instance of class TerrainDetector }
// Start is called before the first frame update void Start() { animator = GetComponentInChildren <Animator>(); terrainDetector = new TerrainDetector(); }