Проблема со звуком
skarb Дата: Пт, 11 Ноя 2011, 18:41 | Сообщение # 1
Сообщений: 42
Награды:
0
Репутация:
2
Статус: Offline
вот код пишу на пример и не пашет в чём ошибка Code
var audio:AudioClip; var sound:AudioSource; function PlaySounds () { if (Input.GetButton ("Fire1")){ sound.clip = audio; sound.Play(); } }
[img]http://img208.imageshack.us/img208/460/suwgb.gif[/img]
Сообщение отредактировал skarb - Пт, 11 Ноя 2011, 18:48
Сообщение вот код пишу на пример и не пашет в чём ошибка Code
var audio:AudioClip; var sound:AudioSource; function PlaySounds () { if (Input.GetButton ("Fire1")){ sound.clip = audio; sound.Play(); } }
Автор - skarb Дата добавления - 11 Ноя 2011 в 18:41
123_XanteR_456 Дата: Пт, 11 Ноя 2011, 19:29 | Сообщение # 2
Сообщений: 169
Награды:
0
Репутация:
35
Статус: Offline
skarb , ты создал не стандартную функцию,но не вызвал её.Попробуй,измени на Добавлено (11.11.2011, 19:29) --------------------------------------------- Короче вот. Code
var zvuk : AudioClip; function Update() { if (Input.GetButton("Fire1")) { audio.clip = zvuk; audio.Play(); } }
Неплохо знаю JavaScript(Unity3D API) =)
Сообщение отредактировал 123_XanteR_456 - Пт, 11 Ноя 2011, 19:29
Сообщение skarb , ты создал не стандартную функцию,но не вызвал её.Попробуй,измени на Добавлено (11.11.2011, 19:29) --------------------------------------------- Короче вот. Code
var zvuk : AudioClip; function Update() { if (Input.GetButton("Fire1")) { audio.clip = zvuk; audio.Play(); } }
Автор - 123_XanteR_456 Дата добавления - 11 Ноя 2011 в 19:29
skarb Дата: Пт, 11 Ноя 2011, 19:34 | Сообщение # 3
Сообщений: 42
Награды:
0
Репутация:
2
Статус: Offline
Пашет но чё мне и райкаст в апдэйде писать
[img]http://img208.imageshack.us/img208/460/suwgb.gif[/img]
Сообщение Пашет но чё мне и райкаст в апдэйде писать Автор - skarb Дата добавления - 11 Ноя 2011 в 19:34
123_XanteR_456 Дата: Пт, 11 Ноя 2011, 19:39 | Сообщение # 4
Сообщений: 169
Награды:
0
Репутация:
35
Статус: Offline
skarb , так рэйкаст оставь как было,а звук в апдейте... Кароч просто добавь как дополнительную фуекцию,не меняя остального
Неплохо знаю JavaScript(Unity3D API) =)
Сообщение skarb , так рэйкаст оставь как было,а звук в апдейте... Кароч просто добавь как дополнительную фуекцию,не меняя остального Автор - 123_XanteR_456 Дата добавления - 11 Ноя 2011 в 19:39
skarb Дата: Пт, 11 Ноя 2011, 19:58 | Сообщение # 5
Сообщений: 42
Награды:
0
Репутация:
2
Статус: Offline
а почему такой скрипт не пашет "Это скрип звука шагов" Code
var footAudioSource : AudioSource; var runAudioSource : AudioSource; var runSounds : AudioClip[]; var minRunSpeed : float = 2.0; var sandSteps : AudioClip[]; var concreteSteps : AudioClip[]; var woodSteps : AudioClip[]; var metalSteps : AudioClip[]; private var footVol : float = 1.0; private var runVol : float = 1.0; private var velocity : float = 1.0; function Start () { footVol = footAudioSource.volume; runVol = footAudioSource.volume; function PlaySounds () { if (velocity != 0) { footVol = Mathf.Clamp01(0.1 + velocity * 0.3); if (!footAudioSource.isPlaying) { footAudioSource.clip = GetAudio(); footAudioSource.volume = footVol; footAudioSource.Play(); } if (runAudioSource != null && runSounds.length != 0 && velocity > minRunSpeed) { runAudioSource.clip = runSounds[Random.Range(0, runSounds.length)]; runAudioSource.volume = runVol; runAudioSource.Play(); } } } function GetAudio() : AudioClip { var hit : RaycastHit; //Debug.DrawRay(t.position + new Vector3(0, 0.5, 0), -Vector3.up * 5.0); if (Physics.Raycast(transform.position + new Vector3(0, 0.5, 0), -Vector3.up, hit)) { cTag = hit.collider.gameObject.tag; if (woodSteps.length!=0 && cTag == "Wood") { return woodSteps[Random.Range(0, woodSteps.length)]; } else if (metalSteps.length!=0 && cTag == "Metal") { return metalSteps[Random.Range(0, metalSteps.length)]; } else if (concreteSteps.length!=0 && cTag == "Concrete") { return concreteSteps[Random.Range(0, concreteSteps.length)]; } else if (sandSteps.length!=0 && cTag == "Dirt") { return sandSteps[Random.Range(0, sandSteps.length)]; } else if (sandSteps.length!=0 && cTag == "Send") { return sandSteps[Random.Range(0, sandSteps.length)]; } else if (sandSteps.length!=0) { return sandSteps[Random.Range(0, sandSteps.length)]; } } }
[img]http://img208.imageshack.us/img208/460/suwgb.gif[/img]
Сообщение отредактировал skarb - Пт, 11 Ноя 2011, 20:04
Сообщение а почему такой скрипт не пашет "Это скрип звука шагов" Code
var footAudioSource : AudioSource; var runAudioSource : AudioSource; var runSounds : AudioClip[]; var minRunSpeed : float = 2.0; var sandSteps : AudioClip[]; var concreteSteps : AudioClip[]; var woodSteps : AudioClip[]; var metalSteps : AudioClip[]; private var footVol : float = 1.0; private var runVol : float = 1.0; private var velocity : float = 1.0; function Start () { footVol = footAudioSource.volume; runVol = footAudioSource.volume; function PlaySounds () { if (velocity != 0) { footVol = Mathf.Clamp01(0.1 + velocity * 0.3); if (!footAudioSource.isPlaying) { footAudioSource.clip = GetAudio(); footAudioSource.volume = footVol; footAudioSource.Play(); } if (runAudioSource != null && runSounds.length != 0 && velocity > minRunSpeed) { runAudioSource.clip = runSounds[Random.Range(0, runSounds.length)]; runAudioSource.volume = runVol; runAudioSource.Play(); } } } function GetAudio() : AudioClip { var hit : RaycastHit; //Debug.DrawRay(t.position + new Vector3(0, 0.5, 0), -Vector3.up * 5.0); if (Physics.Raycast(transform.position + new Vector3(0, 0.5, 0), -Vector3.up, hit)) { cTag = hit.collider.gameObject.tag; if (woodSteps.length!=0 && cTag == "Wood") { return woodSteps[Random.Range(0, woodSteps.length)]; } else if (metalSteps.length!=0 && cTag == "Metal") { return metalSteps[Random.Range(0, metalSteps.length)]; } else if (concreteSteps.length!=0 && cTag == "Concrete") { return concreteSteps[Random.Range(0, concreteSteps.length)]; } else if (sandSteps.length!=0 && cTag == "Dirt") { return sandSteps[Random.Range(0, sandSteps.length)]; } else if (sandSteps.length!=0 && cTag == "Send") { return sandSteps[Random.Range(0, sandSteps.length)]; } else if (sandSteps.length!=0) { return sandSteps[Random.Range(0, sandSteps.length)]; } } }
Автор - skarb Дата добавления - 11 Ноя 2011 в 19:58
123_XanteR_456 Дата: Пт, 11 Ноя 2011, 20:03 | Сообщение # 6
Сообщений: 169
Награды:
0
Репутация:
35
Статус: Offline
Хм.....Не уверен что правильно,но так хоть без ошибок компилируется Code
var runVol : int; var velocity : int; var footAudioSource : AudioSource; var runAudioSource : AudioSource; var runSounds : AudioClip[]; var minRunSpeed : float = 2.0; var sandSteps : AudioClip[]; var concreteSteps : AudioClip[]; var woodSteps : AudioClip[]; var metalSteps : AudioClip[]; function PlaySounds () { if (velocity != 0) { footVol = Mathf.Clamp01(0.1 + velocity * 0.3); if (!footAudioSource.isPlaying) { footAudioSource.clip = GetAudio(); footAudioSource.volume = footVol; footAudioSource.Play(); } if (runAudioSource != null && runSounds.length != 0 && velocity > minRunSpeed) { runAudioSource.clip = runSounds[Random.Range(0, runSounds.length)]; runAudioSource.volume = runVol; runAudioSource.Play(); } } } function GetAudio() : AudioClip { var hit : RaycastHit; //Debug.DrawRay(t.position + new Vector3(0, 0.5, 0), -Vector3.up * 5.0); if (Physics.Raycast(transform.position + new Vector3(0, 0.5, 0), -Vector3.up, hit)) { cTag = hit.collider.gameObject.tag; if (woodSteps.length!=0 && cTag == "Wood") { return woodSteps[Random.Range(0, woodSteps.length)]; } else if (metalSteps.length!=0 && cTag == "Metal") { return metalSteps[Random.Range(0, metalSteps.length)]; } else if (concreteSteps.length!=0 && cTag == "Concrete") { return concreteSteps[Random.Range(0, concreteSteps.length)]; } else if (sandSteps.length!=0 && cTag == "Dirt") { return sandSteps[Random.Range(0, sandSteps.length)]; } else if (sandSteps.length!=0 && cTag == "Send") { return sandSteps[Random.Range(0, sandSteps.length)]; } else if (sandSteps.length!=0) { return sandSteps[Random.Range(0, sandSteps.length)]; } } }
Добавлено (11.11.2011, 20:03) --------------------------------------------- Это другой,но рабочий
Code
var concrete : AudioClip[]; var wood : AudioClip[]; var dirt : AudioClip[]; var metal : AudioClip[]; private var step : boolean = true; var audioStepLengthWalk : float = 0.45; var audioStepLengthRun : float = 0.25; function OnControllerColliderHit (hit : ControllerColliderHit) { var controller : CharacterController = GetComponent(CharacterController); if (controller.isGrounded && controller.velocity.magnitude < 7 && controller.velocity.magnitude > 5 && hit.gameObject.tag == "Concrete" && step == true || controller.isGrounded && controller.velocity.magnitude < 7 && controller.velocity.magnitude > 5 && hit.gameObject.tag == "Untagged" && step == true ) { WalkOnConcrete(); } else if (controller.isGrounded && controller.velocity.magnitude > 8 && hit.gameObject.tag == "Concrete" && step == true || controller.isGrounded && controller.velocity.magnitude > 8 && hit.gameObject.tag == "Untagged" && step == true) { RunOnConcrete(); } else if (controller.isGrounded && controller.velocity.magnitude < 7 && controller.velocity.magnitude > 5 && hit.gameObject.tag == "Wood" && step == true) { WalkOnWood(); } else if (controller.isGrounded && controller.velocity.magnitude > 8 && hit.gameObject.tag == "Wood" && step == true) { RunOnWood(); } else if (controller.isGrounded && controller.velocity.magnitude < 7 && controller.velocity.magnitude > 5 && hit.gameObject.tag == "Dirt" && step == true) { WalkOnDirt(); } else if (controller.isGrounded && controller.velocity.magnitude > 8 && hit.gameObject.tag == "Dirt" && step == true) { RunOnDirt(); } else if (controller.isGrounded && controller.velocity.magnitude < 7 && controller.velocity.magnitude > 5 && hit.gameObject.tag == "Metal" && step == true) { WalkOnMetal(); } else if (controller.isGrounded && controller.velocity.magnitude > 8 && hit.gameObject.tag == "Metal" && step == true) { RunOnMetal(); } } /////////////////////////////////// CONCRETE //////////////////////////////////////// function WalkOnConcrete() { step = false; audio.clip = concrete[Random.Range(0, concrete.length)]; audio.volume = .1; audio.Play(); yield WaitForSeconds (audioStepLengthWalk); step = true; } function RunOnConcrete() { step = false; audio.clip = concrete[Random.Range(0, concrete.length)]; audio.volume = .3; audio.Play(); yield WaitForSeconds (audioStepLengthRun); step = true; } ////////////////////////////////// WOOD ///////////////////////////////////////////// function WalkOnWood() { step = false; audio.clip = wood[Random.Range(0, wood.length)]; audio.volume = .1; audio.Play(); yield WaitForSeconds (audioStepLengthWalk); step = true; } function RunOnWood() { step = false; audio.clip = wood[Random.Range(0, wood.length)]; audio.volume = .3; audio.Play(); yield WaitForSeconds (audioStepLengthRun); step = true; } /////////////////////////////////// DIRT ////////////////////////////////////////////// function WalkOnDirt() { step = false; audio.clip = dirt[Random.Range(0, dirt.length)]; audio.volume = .1; audio.Play(); yield WaitForSeconds (audioStepLengthWalk); step = true; } function RunOnDirt() { step = false; audio.clip = dirt[Random.Range(0, dirt.length)]; audio.volume = .3; audio.Play(); yield WaitForSeconds (audioStepLengthRun); step = true; } ////////////////////////////////// METAL /////////////////////////////////////////////// function WalkOnMetal() { step = false; audio.clip = metal[Random.Range(0, metal.length)]; audio.volume = .1; audio.Play(); yield WaitForSeconds (audioStepLengthWalk); step = true; } function RunOnMetal() { step = false; audio.clip = metal[Random.Range(0, metal.length)]; audio.volume = .3; audio.Play(); yield WaitForSeconds (audioStepLengthRun); step = true; }
Неплохо знаю JavaScript(Unity3D API) =)
Сообщение Хм.....Не уверен что правильно,но так хоть без ошибок компилируется Code
var runVol : int; var velocity : int; var footAudioSource : AudioSource; var runAudioSource : AudioSource; var runSounds : AudioClip[]; var minRunSpeed : float = 2.0; var sandSteps : AudioClip[]; var concreteSteps : AudioClip[]; var woodSteps : AudioClip[]; var metalSteps : AudioClip[]; function PlaySounds () { if (velocity != 0) { footVol = Mathf.Clamp01(0.1 + velocity * 0.3); if (!footAudioSource.isPlaying) { footAudioSource.clip = GetAudio(); footAudioSource.volume = footVol; footAudioSource.Play(); } if (runAudioSource != null && runSounds.length != 0 && velocity > minRunSpeed) { runAudioSource.clip = runSounds[Random.Range(0, runSounds.length)]; runAudioSource.volume = runVol; runAudioSource.Play(); } } } function GetAudio() : AudioClip { var hit : RaycastHit; //Debug.DrawRay(t.position + new Vector3(0, 0.5, 0), -Vector3.up * 5.0); if (Physics.Raycast(transform.position + new Vector3(0, 0.5, 0), -Vector3.up, hit)) { cTag = hit.collider.gameObject.tag; if (woodSteps.length!=0 && cTag == "Wood") { return woodSteps[Random.Range(0, woodSteps.length)]; } else if (metalSteps.length!=0 && cTag == "Metal") { return metalSteps[Random.Range(0, metalSteps.length)]; } else if (concreteSteps.length!=0 && cTag == "Concrete") { return concreteSteps[Random.Range(0, concreteSteps.length)]; } else if (sandSteps.length!=0 && cTag == "Dirt") { return sandSteps[Random.Range(0, sandSteps.length)]; } else if (sandSteps.length!=0 && cTag == "Send") { return sandSteps[Random.Range(0, sandSteps.length)]; } else if (sandSteps.length!=0) { return sandSteps[Random.Range(0, sandSteps.length)]; } } }
Добавлено (11.11.2011, 20:03) --------------------------------------------- Это другой,но рабочий
Code
var concrete : AudioClip[]; var wood : AudioClip[]; var dirt : AudioClip[]; var metal : AudioClip[]; private var step : boolean = true; var audioStepLengthWalk : float = 0.45; var audioStepLengthRun : float = 0.25; function OnControllerColliderHit (hit : ControllerColliderHit) { var controller : CharacterController = GetComponent(CharacterController); if (controller.isGrounded && controller.velocity.magnitude < 7 && controller.velocity.magnitude > 5 && hit.gameObject.tag == "Concrete" && step == true || controller.isGrounded && controller.velocity.magnitude < 7 && controller.velocity.magnitude > 5 && hit.gameObject.tag == "Untagged" && step == true ) { WalkOnConcrete(); } else if (controller.isGrounded && controller.velocity.magnitude > 8 && hit.gameObject.tag == "Concrete" && step == true || controller.isGrounded && controller.velocity.magnitude > 8 && hit.gameObject.tag == "Untagged" && step == true) { RunOnConcrete(); } else if (controller.isGrounded && controller.velocity.magnitude < 7 && controller.velocity.magnitude > 5 && hit.gameObject.tag == "Wood" && step == true) { WalkOnWood(); } else if (controller.isGrounded && controller.velocity.magnitude > 8 && hit.gameObject.tag == "Wood" && step == true) { RunOnWood(); } else if (controller.isGrounded && controller.velocity.magnitude < 7 && controller.velocity.magnitude > 5 && hit.gameObject.tag == "Dirt" && step == true) { WalkOnDirt(); } else if (controller.isGrounded && controller.velocity.magnitude > 8 && hit.gameObject.tag == "Dirt" && step == true) { RunOnDirt(); } else if (controller.isGrounded && controller.velocity.magnitude < 7 && controller.velocity.magnitude > 5 && hit.gameObject.tag == "Metal" && step == true) { WalkOnMetal(); } else if (controller.isGrounded && controller.velocity.magnitude > 8 && hit.gameObject.tag == "Metal" && step == true) { RunOnMetal(); } } /////////////////////////////////// CONCRETE //////////////////////////////////////// function WalkOnConcrete() { step = false; audio.clip = concrete[Random.Range(0, concrete.length)]; audio.volume = .1; audio.Play(); yield WaitForSeconds (audioStepLengthWalk); step = true; } function RunOnConcrete() { step = false; audio.clip = concrete[Random.Range(0, concrete.length)]; audio.volume = .3; audio.Play(); yield WaitForSeconds (audioStepLengthRun); step = true; } ////////////////////////////////// WOOD ///////////////////////////////////////////// function WalkOnWood() { step = false; audio.clip = wood[Random.Range(0, wood.length)]; audio.volume = .1; audio.Play(); yield WaitForSeconds (audioStepLengthWalk); step = true; } function RunOnWood() { step = false; audio.clip = wood[Random.Range(0, wood.length)]; audio.volume = .3; audio.Play(); yield WaitForSeconds (audioStepLengthRun); step = true; } /////////////////////////////////// DIRT ////////////////////////////////////////////// function WalkOnDirt() { step = false; audio.clip = dirt[Random.Range(0, dirt.length)]; audio.volume = .1; audio.Play(); yield WaitForSeconds (audioStepLengthWalk); step = true; } function RunOnDirt() { step = false; audio.clip = dirt[Random.Range(0, dirt.length)]; audio.volume = .3; audio.Play(); yield WaitForSeconds (audioStepLengthRun); step = true; } ////////////////////////////////// METAL /////////////////////////////////////////////// function WalkOnMetal() { step = false; audio.clip = metal[Random.Range(0, metal.length)]; audio.volume = .1; audio.Play(); yield WaitForSeconds (audioStepLengthWalk); step = true; } function RunOnMetal() { step = false; audio.clip = metal[Random.Range(0, metal.length)]; audio.volume = .3; audio.Play(); yield WaitForSeconds (audioStepLengthRun); step = true; }
Автор - 123_XanteR_456 Дата добавления - 11 Ноя 2011 в 20:03