Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - iRobb

#2041
Pruébalo así a ver
b.image.GetComponent<SpriteRenderer>().sprite = Resources.Load<Sprite>("Icons/great-sword");
#2042
Icons/great-sword es una carpeta que cuelga de la carpeta Resources?
 
#2043
General (Antiguo) / Ecualizador grafico
Agosto 04, 2015, 09:11:13 PM
Claro, esto es normal. Piensa que cada valor de frecuencia es la mitad de su anterior, o lo que es lo mismo, cada frecuencia es el doble de la anterior. Por tanto, es las frecuencias más altas (la barra altísima), el valor es muy grande y en las primeras muuuy pequeño. Como normalizamos esto, pues con el logaritmo. Al resultado de la suma de los valores packed, aplícale Mathf.Log. Y serán todas enormes, por tanto tendrás que modificar el heightmodifier.
#2044
General (Antiguo) / Ecualizador grafico
Agosto 04, 2015, 04:27:53 PM
Mi código sobre el tuyo modificado:using UnityEngine;
using System.Collections;public class Visualizer : MonoBehaviour {
    public float heightMultiplier;
    public float maxHeight;
    public float minHeight;
    public int barsNumber;
    [Range(1, 4096)]
    public int barSamples;    private AudioSource source;
    private float[] samples;
    private float[] samplesPacked;
    private GameObject[] bars;    void Awake() {
        this.source = GetComponent<AudioSource>();
        this.samples = new float[this.barSamples];
        this.samplesPacked = new float[this.barsNumber];
        this.bars = new GameObject[samples.Length];        for (int i = 0; i < this.barsNumber; i++) {
            this.bars = GameObject.CreatePrimitive(PrimitiveType.Cube);
            this.bars.transform.position = new Vector3(i, 0, 0);
            this.bars.transform.parent = transform;
            this.bars.transform.localScale = new Vector3(0.1f, 0.1f, 0.1f);        }
    }    void Update() {
        samples = source.GetSpectrumData(samples.Length, 0, FFTWindow.BlackmanHarris);
        //samples = AudioListener.GetSpectrumData(samples.Length, 0, FFTWindow.BlackmanHarris);        int rBars = this.barSamples / this.barsNumber;
        int index = 0;        for (int i = 0; i < this.barSamples; i += rBars, index++) {
            this.samplesPacked[index] = 0f;
            for (int j = 0; j < this.barsNumber; j++) {
                this.samplesPacked[index] += this.samples[j + index];
            }
        }
        for (int k = 0; k < this.barsNumber; k++) {
            Vector3 v1 = new Vector3(0.1f, this.samplesPacked[k] * heightMultiplier, 0.1f);
            float speed = Time.deltaTime * 10f;            this.bars[k].transform.localScale = Vector3.Lerp(this.bars[k].transform.localScale, v1, speed);
        }
    }
}
Sorry, esta línea del for está mal, es:                this.samplesPacked[index] += this.samples[j + i]; 
Height M = 20bar number = 32bar samples = 4096
Cuando lo tengas mezclado con el tuyo me dices. Verás que ya tiene una pinta estupenda
[quote author=Jose134" data-ipsquote-contapp="forums" data-ipsquote-contenttype="forums" data-ipsquote-contentclass="forums_Topic" data-ipsquote-contentid="15868" data-ipsquote-contentcommentid="101216">
    public float heightMultiplier;public float maxHeight;
public float minHeight;
public int barsNumber; //Numero de barras que se crean
[Range (1,4096)] public int barSamples; //Numero de samples que muestra cada barra
public float heightSpeed;


private AudioSource source;
private float[] samples; //Las samples recogidas con GetSpectrumData
private GameObject[] bars; //Las barras
 [/quote]barSamples es todo el sampleado de todas las frecuencias en un momento dado, que es lo que devuelve la fftbarsNumber es el número de barras a mostrar, que serán el empaquetado de frecuencias de barSamples.
#2045
General (Antiguo) / Ecualizador grafico
Agosto 04, 2015, 03:59:58 PM
Voy al PC. Pero diria que el bucle está mal. Lo miro.
Buff. Vamos mal. Hay que reorganizar ya que entiendo que barsamples son las fft y barnumbers las barras que se muestran. Voy a poner mi código.
#2046
General (Antiguo) / Ecualizador grafico
Agosto 04, 2015, 03:46:13 PM
Vale. Que ocurre con las barras? Que defectos ves (estoy en el tablet no con el pc).
#2047
General (Antiguo) / Ecualizador grafico
Agosto 04, 2015, 03:41:01 PM
Bueno primero arreglemos el bucle que como bien decias hay que incrementar i con el valor de barsamples y no se nos superpongan.
#2048
Es que no te entiendo muy bien, ya que pensaba que era una nueva escena. Si es la misma escena, pues utiliza múltiples càmaras para cambiar la perspectiva y no tienes que recargar nada claro.
Es que no te entiendo muy bien, ya que pensaba que era una nueva escena. Si es la misma escena, pues utiliza múltiples càmaras para cambiar la perspectiva y no tienes que recargar nada claro.
#2049
Si los marcas con el dontdestroyonload no se descargaran para ninguna escena al cargarse ésta y no necesitarás cargarlos otra vez. Esto lo utilizo para los objetos persistentes entre escenas.
#2050
Jajaja! El título me encanta. Habrá que pegarle un ojo.
#2051
General (Antiguo) / Ecualizador grafico
Agosto 04, 2015, 01:53:43 PM
Claro. Aquí es donde quería llegar. Desconozco tu formación de base, pero ahora nos metemos en temas propios de sonido. Las frecuencias son el doble de la siguiente y así sucesivamente. Como normalizamos los valores? Sabes de que hablo o te lo explico?Ah, ves poniendo el código así lo copio y lo pruebo tambièn para que veamos lo mismo.
Ah y como dices, el bucle deberia avanzar en la i con un +j
Y más. Al ir modificando la escala y estar en el punto medio del objeto, deberias haber modificado la posición al mismo tiempo. Cierto?
#2052
La iluminación y las texturas me gustan mucho. De cara a capturar el fraps, aunque seguro que hay mejores.A ver si vemos un video ya que si se mueve suave puede ser muy divertido.Suerte!
#2053
No tienes el auto marcado en el build del lightning. Le das manualmente cada vez?
#2054
Otra opción es tener un objeto en la raiz de la carpeta que contiene el número total de carpetas. Entiendo que sabrás cuántas carpetas se descargan y el número inicial para irlo actualizando.
#2055
Create algún tipo particular de gameobject en cada carpeta, numerado (del 0 al max de carpetas).Usa 
http://docs.unity3d.com/es/current/ScriptReference/Resources.FindObjectsOfTypeAll.html" rel="external nofollow">Resources.FindObjectsOfTypeAll
Para buscarlos todos los del tipo particular. El último, será el número de carpetas que tengas. Buscado en: http://docs.unity3d.com/es/current/ScriptReference/Resources.FindObjectsOfTypeAll.html