球探即时指数篮球: Unity 音頻的圖譜展示

17
回復
2069
查看
打印 上一主題 下一主題
[ 復制鏈接 ]
6蠻牛粉絲
1485/1500
排名
4167
昨日變化

皇冠网即时指数 www.863375.live 18

主題

412

帖子

1485

積分

Rank: 6Rank: 6Rank: 6

UID
18541
好友
7
蠻牛幣
239
威望
0
注冊時間
2014-3-22
在線時間
697 小時
最后登錄
2020-9-27

馬上注冊,結交更多好友,享用更多功能,讓你輕松玩轉社區。

您需要 登錄 才可以下載或查看,沒有帳號?注冊帳號

x
[AppleScript] 純文本查看 復制代碼
using UnityEngine;
using UnityEngine.UI;


[RequireComponent(typeof(AudioSource))]
public class AudioVisualizer : MonoBehaviour
{
    public RectTransform[] rectts;
    Image[] barsSprites;

    [Range(0, 10)]
    public float colorMultiplyer = 1;
    [Range(0.001f, 0.999f)]
    public float s = 1;
    [Range(0.001f, 0.999f)]
    public float v = 1;
    public float musicLength;

    public AudioSource _audio;

    public int length;
    public GameObject item;
    private void Start()
    {
        rectts = new RectTransform[length];
        barsSprites = new Image[length];
        for (int i = 0; i < length; i++)
        {
            GameObject game = Instantiate(item, item.transform.parent, false);
            game.transform.localPosition = new Vector3(i * 0.1f, 0, 0);
            game.SetActive(true);
            rectts[i] = game.GetComponent<RectTransform>();
            barsSprites[i] = game.GetComponent<Image>();
        }
    }

    void Update()
    {
        Visulization();

        musicLength = _audio.time;
    }
    private float[] musicData = new float[256];
    int i = 0;
    void Visulization()
    {
        _audio.GetSpectrumData(musicData, 0, FFTWindow.Triangle);
        for (i = 0; i < length; i++)
        {
            rectts[i].sizeDelta = new Vector2(850f / length, musicData[i] * 1000);
            barsSprites[i].color = HSVtoRGB(musicData[i] * colorMultiplyer, s, v);
        }
    }
    #region Static
    public static Color HSVtoRGB(float hue, float saturation, float value)
    {
        while (hue > 1f)
        {
            hue -= 1f;
        }
        while (hue < 0f)
        {
            hue += 1f;
        }

        if (hue > 0.999f) hue = 0.999f;
        if (hue < 0.001f) hue = 0.001f;

        float h6 = hue * 6f;
        if (h6 == 6f) h6 = 0f;

        int ihue = (int)(h6);
        float p = value * (1f - saturation);
        float q = value * (1f - (saturation * (h6 - ihue)));
        float t = value * (1f - (saturation * (1f - (h6 - ihue))));
        switch (ihue)
        {
            case 0:
                return new Color(value, t, p, 1);
            case 1:
                return new Color(q, value, p, 1);
            case 2:
                return new Color(p, value, t, 1);
            case 3:
                return new Color(p, q, value, 1);
            case 4:
                return new Color(t, p, value, 1);
            default:
                return new Color(value, p, q, 1);
        }
    }
    #endregion
}


bandicam 2019-11-21 11-03-34-362[00_00_02--00_00_22].gif (115.1 KB, 下載次數: 50)

bandicam 2019-11-21 11-03-34-362[00_00_02--00_00_22].gif
6蠻牛粉絲
1485/1500
排名
4167
昨日變化

18

主題

412

帖子

1485

積分

Rank: 6Rank: 6Rank: 6

UID
18541
好友
7
蠻牛幣
239
威望
0
注冊時間
2014-3-22
在線時間
697 小時
最后登錄
2020-9-27
沙發
樓主 2019-11-21 11:09:55 只看該作者
本帖最后由 光亮 于 2019-11-21 11:12 編輯

使用起來超級簡單, MusicLength是當前音樂的播放進度, 如果需要進度條展示的話自行處理, length是當前圖譜的橫向個數, musicData是當前音頻的圖譜信息, 注意:長度要大于length, 而且必須是64和8192之間的2的冪, 然后Item隨便綁定個image就可以了, 我這里Item的父對象綁定了HorizontalLayoutGroup且寬度為850,所以才有sizeDelta = new Vector2(850f / length, musicData * 1000);  請根據實際情況操作, 最好設置成死值,避免計算.
7日久生情
2157/5000
排名
8747
昨日變化

0

主題

314

帖子

2157

積分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
236487
好友
9
蠻牛幣
7209
威望
0
注冊時間
2017-8-8
在線時間
1707 小時
最后登錄
2020-9-27
板凳
2019-11-21 15:23:00 只看該作者
unity自制可視化音頻//
6蠻牛粉絲
1229/1500
排名
64949
昨日變化

1

主題

65

帖子

1229

積分

Rank: 6Rank: 6Rank: 6

UID
312630
好友
1
蠻牛幣
672
威望
0
注冊時間
2019-1-23
在線時間
1161 小時
最后登錄
2020-9-26
地板
2019-11-21 16:12:15 只看該作者
非常好,要是webgl就好了
7日久生情
1723/5000
排名
2234
昨日變化

1

主題

247

帖子

1723

積分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
232255
好友
2
蠻牛幣
2359
威望
0
注冊時間
2017-7-15
在線時間
847 小時
最后登錄
2020-9-25
5#
2019-11-22 08:57:14 只看該作者
多謝分享
7日久生情
2313/5000
排名
1894
昨日變化

65

主題

828

帖子

2313

積分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
214924
好友
9
蠻牛幣
27216
威望
0
注冊時間
2017-3-28
在線時間
704 小時
最后登錄
2020-8-27
6#
2019-11-22 09:25:03 只看該作者
6666666666666
7日久生情
2313/5000
排名
1894
昨日變化

65

主題

828

帖子

2313

積分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
214924
好友
9
蠻牛幣
27216
威望
0
注冊時間
2017-3-28
在線時間
704 小時
最后登錄
2020-8-27
7#
2019-11-22 10:02:35 只看該作者
是我不會用?搞成這個效果了~~~~

微信截圖_20191122100115.png (45.7 KB, 下載次數: 47)

微信截圖_20191122100115.png
7日久生情
2469/5000
排名
10707
昨日變化

0

主題

1303

帖子

2469

積分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
301976
好友
1
蠻牛幣
2826
威望
0
注冊時間
2018-10-31
在線時間
1068 小時
最后登錄
2020-9-27
8#
2019-11-22 11:49:43 只看該作者
歐呦  
6蠻牛粉絲
1485/1500
排名
4167
昨日變化

18

主題

412

帖子

1485

積分

Rank: 6Rank: 6Rank: 6

UID
18541
好友
7
蠻牛幣
239
威望
0
注冊時間
2014-3-22
在線時間
697 小時
最后登錄
2020-9-27
9#
樓主 2019-12-1 12:39:21 只看該作者
fengxs420 發表于 2019-11-22 10:02
是我不會用?搞成這個效果了~~~~

親, 你這里明顯是疊在一起了, 試試在父物體上加一個橫向的layout
7日久生情
2313/5000
排名
1894
昨日變化

65

主題

828

帖子

2313

積分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
214924
好友
9
蠻牛幣
27216
威望
0
注冊時間
2017-3-28
在線時間
704 小時
最后登錄
2020-8-27
10#
2019-12-2 16:39:43 只看該作者
光亮 發表于 2019-12-1 12:39
親, 你這里明顯是疊在一起了, 試試在父物體上加一個橫向的layout

好,我試試~~~謝謝
7日久生情
1801/5000
排名
1201
昨日變化

1

主題

181

帖子

1801

積分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
132507
好友
0
蠻牛幣
2985
威望
0
注冊時間
2015-12-24
在線時間
635 小時
最后登錄
2020-4-28
11#
2019-12-9 16:22:35 只看該作者
這個好玩!
7日久生情
4736/5000
排名
2965
昨日變化

33

主題

2737

帖子

4736

積分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
173503
好友
7
蠻牛幣
1571
威望
0
注冊時間
2016-10-5
在線時間
1478 小時
最后登錄
2020-9-27
12#
2020-1-1 09:08:48 只看該作者
也不錯??!學習一下?。?!哪??!
4四處流浪
354/500
排名
10819
昨日變化

0

主題

58

帖子

354

積分

Rank: 4

UID
289170
好友
0
蠻牛幣
431
威望
0
注冊時間
2018-7-9
在線時間
200 小時
最后登錄
2020-9-27
13#
2020-1-2 15:45:19 只看該作者
不錯
5熟悉之中
897/1000
排名
3795
昨日變化

4

主題

223

帖子

897

積分

Rank: 5Rank: 5

UID
237362
好友
0
蠻牛幣
5101
威望
0
注冊時間
2017-8-13
在線時間
294 小時
最后登錄
2020-9-26
14#
2020-1-4 13:17:17 只看該作者
本帖最后由 專業找茬的 于 2020-1-4 13:31 編輯

6666666666
8常駐蠻牛
7837/10000
排名
250
昨日變化

0

主題

4021

帖子

7837

積分

Rank: 8Rank: 8

UID
3215
好友
0
蠻牛幣
21
威望
0
注冊時間
2013-9-4
在線時間
1818 小時
最后登錄
2020-5-23
15#
2020-2-10 11:34:05 只看該作者
6666666666666666
您需要登錄后才可以回帖 登錄 | 注冊帳號

本版積分規則

蠻牛教育10.1大促銷!全站6折扣!
{ganrao} pk10官网开奖记录 陕西体彩高频11选五一定牛 爱股票天策视频学堂 股票怎么买新股 股利多在线配资 甘肃11选5推荐 秒速时时彩彩2期全天计划 福建22选5开奖号码 贵州快3和值推荐 11选5概率怎么算 乐天赢配资 福建36选7技巧 秒速赛车开奖历史记录 新手炒股入门 pk10赛车冷热号码怎么找 吉林快3实时计划软件