непонятки со звуком!

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

непонятки со звуком!

Сообщение vva 22 авг 2011, 14:52

1) звук само воспроизводится при загрузке
Синтаксис:
Используется csharp
 m_GameObject.AddComponent<AudioSource>();
 AudioClip pAudioClip = (AudioClip)Resources.Load(m_cParameter.m_NameSound);
 if (pAudioClip != null && m_GameObject.audio != null)
 {
     m_GameObject.audio.clip = pAudioClip;
     //m_GameObject.audio.Stop();
 }
 

m_GameObject.audio.clip = pAudioClip; //эта строка воспроизводит звук
как запретить самодеятельность звука?

2) когда на объекте звук и объект имеет физику и физика включена
и если я держу объект на позиции трансформ_позиция=значение
и запускаю звук на объекте то звук с каждым последующим воспроизведением начинает затухать и потом ваще не звучит!
это как то лечится при указанных условиях?
vva
UNITрон
 
Сообщения: 215
Зарегистрирован: 16 мар 2011, 22:22
Откуда: планета земля
Skype: vvavvavva3
  • Сайт

Re: непонятки со звуком!

Сообщение Order 23 авг 2011, 05:36

кусок кода вырванный из контекста.. не понятен...

2. звук может относительно слушателя движется?
Добавить rusorder в Skype , _juc4you@mail.ru ;
Платные консультации, программирование ваших проектов Unity3d,C#,IOS,Android.
Скрытый текст:
_ttp://www.youtube.com/watch?v=1m2qTnatSjM&list=UUjcKNvONEUHCILG7QrX1NFg
Order
Старожил
 
Сообщения: 805
Зарегистрирован: 21 фев 2010, 10:34

Re: непонятки со звуком!

Сообщение vva 23 авг 2011, 10:07

Order писал(а):кусок кода вырванный из контекста.. не понятен...

1)
Синтаксис:
Используется csharp
public class _Audio : MonoBehaviour
{
  AudioClip m_AudioClip_2 = null; // Инициализация звука
  GameObject m_GameObject_2 = null; //объект
  //
  void Start()
  {
    m_AudioClip_2 = (AudioClip)Resources.Load("_Sound/gunshot");
    m_GameObject_2 = GameObject.CreatePrimitive(PrimitiveType.Cube);
    m_GameObject_2.transform.position = new Vector3(1, 0, 1);
    m_GameObject_2.renderer.material.color = Color.yellow;
    m_GameObject_2.AddComponent<AudioSource>();
    m_GameObject_2.audio.clip = m_AudioClip_2;
  }
  //
  void Update()
  {
  }
}
 

звук само запускается при присвоении (m_GameObject_2.audio.clip = m_AudioClip_2;)
пробовал в старте
Синтаксис:
Используется csharp
 m_GameObject_2.audio.volume = 0;
 m_GameObject_2.audio.clip = m_AudioClip_2;
 m_GameObject_2.audio.volume = 1;
 

не помогло!

Order писал(а):2. звук может относительно слушателя движется?

не понял!
я не знаю что куда движется но звук пропадает при указанных условиях!
не понятно как физика может влиять на звук!?
vva
UNITрон
 
Сообщения: 215
Зарегистрирован: 16 мар 2011, 22:22
Откуда: планета земля
Skype: vvavvavva3
  • Сайт

Re: непонятки со звуком!

Сообщение Order 23 авг 2011, 11:15

1. я не много не так делал.
Сделал контроллер звука , посылал туда из управляющего скрипта команды на воспроизведение.

Синтаксис:
Используется csharp
public static AudioSource Source;
public static AudioSource Source1;
Source = gGame.MyPlayer.PlayerObj.GetComponent<AudioSource>() as AudioSource;
Source1 = MainCamera.GetComponent<AudioSource>() as AudioSource;
soundController.Music("Music1");
soundController.Sound("Sound1");


Синтаксис:
Используется csharp
public class SoundController
{
using UnityEngine;
using System.Collections;

        public AudioClip  Clip;
        public AudioClip  Clip1;
       
        public void Sound (string Type)
        {
                Clip = Resources.Load(Type) as AudioClip;
                Main.Source.audio.clip = Clip;
                Main.Source.audio.Play();
        }
       
        public void Music (string Type)
        {
                Clip1 = Resources.Load(Type) as AudioClip;
                Main.Source1.audio.clip = Clip1;
                Main.Source1.audio.Play();
        }      
}


2. если звук издает ГО а слушает камера, то от удаленности будет меняться.. я транслировал звук в камеру , чтобы было одинаково во всех случаях.
Добавить rusorder в Skype , _juc4you@mail.ru ;
Платные консультации, программирование ваших проектов Unity3d,C#,IOS,Android.
Скрытый текст:
_ttp://www.youtube.com/watch?v=1m2qTnatSjM&list=UUjcKNvONEUHCILG7QrX1NFg
Order
Старожил
 
Сообщения: 805
Зарегистрирован: 21 фев 2010, 10:34

Re: непонятки со звуком!

Сообщение Zaicheg 23 авг 2011, 12:27

Order писал(а):2. если звук издает ГО а слушает камера, то от удаленности будет меняться.. я транслировал звук в камеру , чтобы было одинаково во всех случаях.

А ваша задача не позволяла просто отрубить 3D Sound (в настройках импорта; и в audiosource что-то есть)?
Дьяченко Роман
e-mail: _zaicheg.reg@gmail.com
skype: zaicheg12
vkontakte: _vk.com/zaichegq
Работа: _wie3.com _www.sanviz.com
Аватара пользователя
Zaicheg
Адепт
 
Сообщения: 3024
Зарегистрирован: 19 июн 2009, 15:12
Откуда: Череповец

Re: непонятки со звуком!

Сообщение vva 23 авг 2011, 12:48

Order писал(а):1. я не много не так делал.

наверное сделать можно по разному но не понятно почему готовое решение устраивает самодеятельность!? :-\

Order писал(а):2. если звук издает ГО а слушает камера, то от удаленности будет меняться.. я транслировал звук в камеру , чтобы было одинаково во всех случаях.

но изменения удалённости нет! объект со звуком и камера стоят неподвижно!
и глюк происходит тока когда есть физика и когда физика включена!
если включить кинематик то всё ок!
vva
UNITрон
 
Сообщения: 215
Зарегистрирован: 16 мар 2011, 22:22
Откуда: планета земля
Skype: vvavvavva3
  • Сайт

Re: непонятки со звуком!

Сообщение Zaicheg 23 авг 2011, 13:13

vva писал(а):2) когда на объекте звук и объект имеет физику и физика включена
и если я держу объект на позиции трансформ_позиция=значение

В чём смысл этого? Ведь правильнее просто врубать isKinematic, тем более что это лечит глюк со звуком.

и запускаю звук на объекте то звук с каждым последующим воспроизведением начинает затухать и потом ваще не звучит!

Затухание скачкообразное — именно с каждым новым стартом, или постепенно?
Дьяченко Роман
e-mail: _zaicheg.reg@gmail.com
skype: zaicheg12
vkontakte: _vk.com/zaichegq
Работа: _wie3.com _www.sanviz.com
Аватара пользователя
Zaicheg
Адепт
 
Сообщения: 3024
Зарегистрирован: 19 июн 2009, 15:12
Откуда: Череповец

Re: непонятки со звуком!

Сообщение Guyver 23 авг 2011, 13:41

попробуйте запустить проект, в инспекторе выбрать обьекты поочереди по дереву от самого нижнего элемента в дереве (со звуком) и до корня ... и внимательно посмотрите на координаты (тут вроде намекают на то, что вероятно нода со звуком проваливается и улетает постепенно в никуда от камеры) ... вероятно у вас координаты одной из нод будут постепенно уходить в +- бесконечность.

мне кажется это единственное разумное обьяснение как можно связать затухание звука с включением физики на ноде.
Xcombat: 3D шутер на летающих тарелках!
Аватара пользователя
Guyver
UNIверсал
 
Сообщения: 392
Зарегистрирован: 21 июл 2010, 08:04
Откуда: Челябинск

Re: непонятки со звуком!

Сообщение vva 23 авг 2011, 15:53

2) для желающих послушать звук!
Скрытый текст:
using UnityEngine;
using System.Collections;

public class _Audio : MonoBehaviour
{
public AudioClip m_AudioClip; // Инициализация звука
AudioClip m_AudioClip_2 = null; // Инициализация звука
GameObject m_GameObject_2 = null;
float m_Time = 1;

//камера
float rotationY = 0F;
float sensitivityX = 15F;
float sensitivityY = 15F;
float minimumY = -60F;
float maximumY = 60F;
//

//------------------------------------------------
// Use this for initialization
void Start()
{
//gunshot/tank

//1
/*gameObject.AddComponent<AudioSource>();
m_AudioClip = (AudioClip)Resources.Load("_Sound/tank");
audio.clip = m_AudioClip;*/
//2
//m_AudioClip_2 = new AudioClip();
m_AudioClip_2 = (AudioClip)Resources.Load("_Sound/gunshot");
m_GameObject_2 = GameObject.CreatePrimitive(PrimitiveType.Cube);
m_GameObject_2.transform.position = new Vector3(1, 2, 1);
m_GameObject_2.renderer.material.color = Color.yellow;
m_GameObject_2.AddComponent<AudioSource>();
m_GameObject_2.audio.volume = 0;
m_GameObject_2.audio.clip = m_AudioClip_2;
m_GameObject_2.audio.volume = 1;
m_GameObject_2.AddComponent<Rigidbody>();
//камера
if (Camera.mainCamera != null)
{
Camera.mainCamera.transform.position = new Vector3(1, 2, -2);
Camera.mainCamera.transform.rotation = Quaternion.identity;
}
}

// Update is called once per frame
void Update()
{

//управление объектом
//_Management(m_GameObject_2);
m_GameObject_2.transform.position = new Vector3(1, 2, 1);
//if (Time.time - m_Time > 1)
{
m_Time = Time.time;
/*if (!audio.isPlaying)
{
audio.Play();
//Debug.Log("+++ audio.Play");
}*/
//2
if (m_GameObject_2.audio != null)
{
if (!m_GameObject_2.audio.isPlaying)
{
m_GameObject_2.audio.Play();
//AudioSource pAS = m_GameObject_2.GetComponent<AudioSource>();
//AudioSource.PlayClipAtPoint(m_GameObject_2.audio.clip, new Vector3(0, 0, 0));
}
}
}
}
//
void LateUpdate()
{
//управление камерой
_Management_Cam();
}
//------------------------------------------------

//управление объектом
private void _Management(GameObject fGO)
{
if (fGO == null) return;
GameObject pGO = fGO;
if (pGO == null) return;
Transform pTransform = pGO.collider.transform;
float pd = Time.deltaTime;
float pTr_X = 0;
float pTr_Y = 0;
float pTr_Z = 0;
float pTrSpeed = 10;
bool pbTr = false;
float pRot_X = 0;
float pRot_Y = 0;
float pRot_Z = 0;
float pRotSpeed = 35;
bool pbRot = false;

//поворот лево-право
if (Input.GetKey(KeyCode.Q))
{
pRot_Y += (-pRotSpeed * pd);
pbRot = true;
}
else
{
if (Input.GetKey(KeyCode.E))
{
pRot_Y += (pRotSpeed * pd);
pbRot = true;
}
}
//поворот вниз-вверх
if (Input.GetKey(KeyCode.R))
{
pRot_X += (pRotSpeed * pd);
pbRot = true;
}
else
{
if (Input.GetKey(KeyCode.T))
{
pRot_X += (-pRotSpeed * pd);
pbRot = true;
}
}
//поворот вбок лево-право
if (Input.GetKey(KeyCode.F))
{
pRot_Z += (pRotSpeed * pd);
pbRot = true;
}
else
{
if (Input.GetKey(KeyCode.G))
{
pRot_Z += (-pRotSpeed * pd);
pbRot = true;
}
}
if (pbRot)
{
pTransform.Rotate(pRot_X, pRot_Y, pRot_Z);
}

//вперёд-назад
if (Input.GetKey(KeyCode.W))
{
//Set_DrawTextInfo ("Camera_Keypad8", 0);
//pTransform.Translate(0,0,1 * pd);
pTr_Z += (pTrSpeed * pd);
pbTr = true;
}
else
{
if (Input.GetKey(KeyCode.S))
{
pTr_Z += (-pTrSpeed * pd);
pbTr = true;
}
}
//боком лево-право
if (Input.GetKey(KeyCode.D))
{
pTr_X += (pTrSpeed * pd);
pbTr = true;
}
else
{
if (Input.GetKey(KeyCode.A))
{
pTr_X += (-pTrSpeed * pd);
pbTr = true;
}
}
//вверх-вниз
if (Input.GetKey(KeyCode.Z))
{
pTr_Y += (pTrSpeed * pd);
pbTr = true;
}
else
{
if (Input.GetKey(KeyCode.X))
{
pTr_Y += (-pTrSpeed * pd);
pbTr = true;
}
}
if (pbTr)
{
pTransform.Translate(pTr_X, pTr_Y, pTr_Z);
}
//передаём изменения
if (pbRot || pbTr)
{
/*cBase pbase = Get_ObjectBase(m_ManagementGameObject);
if (pbase != null)
{
pbase.Set_Change();
}*/
}
}//------------------------------------------------
//управление камерой
void _Management_Cam()
{
if (Camera.mainCamera == null)
return;
Transform pTransform = Camera.mainCamera.transform;
float pTrSpeed = 10;
float pRotSpeed = 35;
bool pbMouse = false;
float pd = Time.deltaTime;
float pTr_X = 0;
float pTr_Y = 0;
float pTr_Z = 0;
bool pbTr = false;
float pRot_X = 0;
float pRot_Y = 0;
float pRot_Z = 0;
bool pbRot = false;

if (Input.GetMouseButton(1))
{
pbMouse = true;
float rotationX = pTransform.localEulerAngles.y
+ Input.GetAxis("Mouse X") * sensitivityX;
rotationY += Input.GetAxis("Mouse Y") * sensitivityY;
rotationY = Mathf.Clamp(rotationY, minimumY, maximumY);
pTransform.localEulerAngles =
new Vector3(-rotationY, rotationX, 0);
}
//перемещение без изменения высоты
if (Input.GetMouseButton(2))
{
//Set_DrawTextInfo("Camera_Management_Mouse_2", 0);
pTr_Z += (pTrSpeed * pd);
pTr_X += (pTrSpeed * pd);
Vector3 pvF = pTransform.forward;
Vector3 pvPos = pTransform.position;
pTrSpeed *= 2;
pvPos.x += pvF.x * (pTrSpeed * pd);
pvPos.z += pvF.z * (pTrSpeed * pd);
pTransform.position = pvPos;
//pTransform.Translate(pTr_X, pTr_Y, pTr_Z);
return;
}
float pm = Input.GetAxis("Mouse ScrollWheel");
if (pm != 0)
{
pTransform.Translate(0, 0, pm * pTrSpeed);
pbMouse = true;
}
if (pbMouse)
{
//Set_DrawTextInfo("Camera_Management_Mouse", 0);
return;
}

//Set_DrawTextInfo("Camera_Management", 0);


//поворот лево-право
if (Input.GetKey(KeyCode.Keypad7))
{
pRot_Y += (-pRotSpeed * pd);
pbRot = true;
}
else
{
if (Input.GetKey(KeyCode.Keypad9))
{
pRot_Y += (pRotSpeed * pd);
pbRot = true;
}
}
//поворот вниз-вверх
if (Input.GetKey(KeyCode.Keypad1))
{
pRot_X += (pRotSpeed * pd);
pbRot = true;
}
else
{
if (Input.GetKey(KeyCode.Keypad2))
{
pRot_X += (-pRotSpeed * pd);
pbRot = true;
}
}
//поворот вбок лево-право
if (Input.GetKey(KeyCode.Keypad0))
{
pRot_Z += (pRotSpeed * pd);
pbRot = true;
}
else
{
if (Input.GetKey(KeyCode.Keypad3))
{
pRot_Z += (-pRotSpeed * pd);
pbRot = true;
}
}

if (pbRot)
{
pTransform.Rotate(pRot_X, pRot_Y, pRot_Z);
}

//вперёд-назад
if (Input.GetKey(KeyCode.Keypad8))
{
//Set_DrawTextInfo ("Camera_Keypad8", 0);
//pTransform.Translate(0,0,1 * pd);
pTr_Z += (pTrSpeed * pd);
pbTr = true;
}
else
{
if (Input.GetKey(KeyCode.Keypad5))
{
pTr_Z += (-pTrSpeed * pd);
pbTr = true;
}
}
//боком лево-право
if (Input.GetKey(KeyCode.Keypad6))
{
pTr_X += (pTrSpeed * pd);
pbTr = true;
}
else
{
if (Input.GetKey(KeyCode.Keypad4))
{
pTr_X += (-pTrSpeed * pd);
pbTr = true;
}
}
//вверх-вниз
if (Input.GetKey(KeyCode.KeypadPlus))
{
pTr_Y += (pTrSpeed * pd);
pbTr = true;
}
else
{
if (Input.GetKey(KeyCode.KeypadMinus))
{
pTr_Y += (-pTrSpeed * pd);
pbTr = true;
}
}

if (pbTr)
{
pTransform.Translate(pTr_X, pTr_Y, pTr_Z);
}

} //------------------------------------------------

}//------------------------------------------------

что где как искать пока не понял!
похоже это косяки движка!
которые нужно обходить!
vva
UNITрон
 
Сообщения: 215
Зарегистрирован: 16 мар 2011, 22:22
Откуда: планета земля
Skype: vvavvavva3
  • Сайт

Re: непонятки со звуком!

Сообщение Zaicheg 23 авг 2011, 15:58

Вам нужно научиться на вопросы наводящие отвечать, а не косяки мифические обходить.
Дьяченко Роман
e-mail: _zaicheg.reg@gmail.com
skype: zaicheg12
vkontakte: _vk.com/zaichegq
Работа: _wie3.com _www.sanviz.com
Аватара пользователя
Zaicheg
Адепт
 
Сообщения: 3024
Зарегистрирован: 19 июн 2009, 15:12
Откуда: Череповец

Re: непонятки со звуком!

Сообщение vva 23 авг 2011, 16:35

Zaicheg писал(а):
vva писал(а):2) когда на объекте звук и объект имеет физику и физика включена
и если я держу объект на позиции трансформ_позиция=значение

В чём смысл этого? Ведь правильнее просто врубать isKinematic, тем более что это лечит глюк со звуком.

не понятен вопрос!
деление на ноль это не правильно!
остальное правильно если я так хочу!
если не позволяет движок значит делаю по другому!

Zaicheg писал(а):
и запускаю звук на объекте то звук с каждым последующим воспроизведением начинает затухать и потом ваще не звучит!

Затухание скачкообразное — именно с каждым новым стартом, или постепенно?

для ответа я запостил скрипт!
считаю что лучше один раз послушать чем несколько раз перечитывать как это звучит а потом ещё додумывать что написано!
vva
UNITрон
 
Сообщения: 215
Зарегистрирован: 16 мар 2011, 22:22
Откуда: планета земля
Skype: vvavvavva3
  • Сайт

Re: непонятки со звуком!

Сообщение Zaicheg 23 авг 2011, 16:55

Протестил, закрыв глаза на то, что вы не удосужились даже нормально разъяснить, как пользоваться вашим скриптом, и не подготовили тестового проекта, воспроизводящего проблему.
После примерно тридцати повторов звука затухания не обнаружилось.

vva писал(а):остальное правильно если я так хочу!

Если хотите поиграть в хотелки, то давайте. Знаки восклицания после каждого предложения запрещены на данном форуме из соображений удобства чтения. Вам выносится устное предупреждение.

vva писал(а):1) звук само воспроизводится при загрузке
m_GameObject.audio.clip = pAudioClip; //эта строка воспроизводит звук
как запретить самодеятельность звука?

Не заметил сразу этого вопроса.
http://unity3d.com/support/documentatio ... Awake.html
Дьяченко Роман
e-mail: _zaicheg.reg@gmail.com
skype: zaicheg12
vkontakte: _vk.com/zaichegq
Работа: _wie3.com _www.sanviz.com
Аватара пользователя
Zaicheg
Адепт
 
Сообщения: 3024
Зарегистрирован: 19 июн 2009, 15:12
Откуда: Череповец

Re: непонятки со звуком!

Сообщение vva 23 авг 2011, 17:39

Zaicheg писал(а):Протестил, закрыв глаза на то, что вы не удосужились даже нормально разъяснить, как пользоваться вашим скриптом, и не подготовили тестового проекта, воспроизводящего проблему.
После примерно тридцати повторов звука затухания не обнаружилось.


да вроде обычный скрипт! бросаешь на объект определяешь имя звука и всё.
в скрипте есть управление камерой. там указано чем можно двигать камеру.
чтоб услышать как звук затухает то надо менять положение камеры и оказывается при разном положении камеры звук или затухает или наоборот ускоряется!
про изменение камеры ток ща обратил внимание.
если камеру ваще не трогать то звук не меняется но я всегда перемещал камеру.

Zaicheg писал(а):Не заметил сразу этого вопроса.
http://unity3d.com/support/documentatio ... Awake.html


m_GameObject_2.audio.playOnAwake = false;
помогло. спс.
vva
UNITрон
 
Сообщения: 215
Зарегистрирован: 16 мар 2011, 22:22
Откуда: планета земля
Skype: vvavvavva3
  • Сайт

Re: непонятки со звуком!

Сообщение Zaicheg 23 авг 2011, 17:42

чтоб услышать как звук затухает то надо менять положение камеры и оказывается при разном положении камеры звук или затухает или наоборот ускоряется!
про изменение камеры ток ща обратил внимание. если камеру ваще не трогать то звук не меняется но я всегда перемещал камеру.

Вас с самого начала темы просили проверить именно эту версию.
Я надеюсь, из предыдущих сообщений вам понятно, как решается проблема с затуханием при перемещении источника звука относитеьно слушателя.
Дьяченко Роман
e-mail: _zaicheg.reg@gmail.com
skype: zaicheg12
vkontakte: _vk.com/zaichegq
Работа: _wie3.com _www.sanviz.com
Аватара пользователя
Zaicheg
Адепт
 
Сообщения: 3024
Зарегистрирован: 19 июн 2009, 15:12
Откуда: Череповец

Re: непонятки со звуком!

Сообщение vva 23 авг 2011, 18:02

Zaicheg писал(а):
чтоб услышать как звук затухает то надо менять положение камеры и оказывается при разном положении камеры звук или затухает или наоборот ускоряется!
про изменение камеры ток ща обратил внимание. если камеру ваще не трогать то звук не меняется но я всегда перемещал камеру.

Вас с самого начала темы просили проверить именно эту версию.
Я надеюсь, из предыдущих сообщений вам понятно, как решается проблема с затуханием при перемещении источника звука относитеьно слушателя.


возможно я не понял что нужно проверить.
а где в предыдущих сообщениях сказано как решить проблему с затуханием звука?
vva
UNITрон
 
Сообщения: 215
Зарегистрирован: 16 мар 2011, 22:22
Откуда: планета земля
Skype: vvavvavva3
  • Сайт

След.

Вернуться в Почемучка

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 18