Проблема со звуком - Форум Игроделов
Пт, 17 Май 2024, 06:28 
 
Приветствую Вас Гость Главная | Регистрация | Вход
Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум Игроделов » UNITY3D » СКРИПТИНГ » Проблема со звуком ([JS])
Проблема со звуком
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, ты создал не стандартную функцию,но не вызвал её.Попробуй,измени на
Code
function Update()


Добавлено (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, ты создал не стандартную функцию,но не вызвал её.Попробуй,измени на
Code
function Update()


Добавлено (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, так рэйкаст оставь как было,а звук в апдейте...
Кароч просто добавь как дополнительную фуекцию,не меняя остального happy


Неплохо знаю JavaScript(Unity3D API) =)
 
Сообщениеskarb, так рэйкаст оставь как было,а звук в апдейте...
Кароч просто добавь как дополнительную фуекцию,не меняя остального happy

Автор - 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
Форум Игроделов » UNITY3D » СКРИПТИНГ » Проблема со звуком ([JS])
  • Страница 1 из 1
  • 1
Поиск:
Загрузка...

Game Creating CommUnity © 2009 - 2024