欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

【unity系統(tǒng)模塊開發(fā)】UnityEditor工具--數(shù)據(jù)-創(chuàng)新互聯(lián)

在Unity做性能優(yōu)化,或者做一些編輯器工具的時候,如果把收集回來的數(shù)據(jù)用圖表來展示,可以使數(shù)據(jù)更加直觀,如果是性能優(yōu)化的時候,就能更突顯出問題所在。

創(chuàng)新互聯(lián)公司專注于企業(yè)成都全網(wǎng)營銷推廣、網(wǎng)站重做改版、江州網(wǎng)站定制設(shè)計、自適應(yīng)品牌網(wǎng)站建設(shè)、H5頁面制作商城網(wǎng)站建設(shè)、集團公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計等建站業(yè)務(wù),價格優(yōu)惠性價比高,為江州等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。

在項目的開發(fā)過程中有同事做了個可視化工具,看了一下真實高端,就研究了一下并且簡化做了個demo。

所以這其實也不能算原創(chuàng),更多的代碼是同事寫的,我只能算是介紹了一下代碼邏輯和實現(xiàn)原理。

首先看下效果:

【unity系統(tǒng)模塊開發(fā)】UnityEditor工具--數(shù)據(jù)

這個是我簡化過的版本,數(shù)據(jù)是在一定范圍內(nèi)隨機的,看起來也還可以。

橫軸是時間,縱軸是數(shù)量。不同顏色區(qū)域代表不同數(shù)據(jù)。點擊每幀的時候出現(xiàn)每幀具體數(shù)據(jù)


接下來就是講具體實現(xiàn).

這里面有幾部分:

  1. 數(shù)據(jù)收集

  2. 數(shù)據(jù)可視化

  3. 點中具體位置時顯示當前位置的具體數(shù)據(jù)。

1.數(shù)據(jù)收集

首先這里的數(shù)據(jù)收集就看你的需求,是做一個性能檢測工具的話,就收集drawcall信息。做玩家數(shù)據(jù)分析就收集玩家數(shù)據(jù)。

在我們這個demo中,可以看到上面每幀中有4組數(shù)據(jù)(Data1,Data2,Data3,Data4),每個數(shù)據(jù)類型都是int,可以當做是次數(shù)收集。

也就是說,我們每幀去獲取這四個數(shù)據(jù),把四個數(shù)據(jù)放在同一個結(jié)構(gòu)里,然后這個結(jié)構(gòu)放在一個list里。

【unity系統(tǒng)模塊開發(fā)】UnityEditor工具--數(shù)據(jù)

我因為只是做個demo,所以數(shù)據(jù)就模擬生成了。

【unity系統(tǒng)模塊開發(fā)】UnityEditor工具--數(shù)據(jù)

可以看到。為了顯示的時候直觀一點,我把隨機區(qū)域稍微區(qū)分了一下,這樣看起來好看點,像第一個圖那樣。

2.數(shù)據(jù)可視化

接下來就講一講怎么把這些數(shù)據(jù)轉(zhuǎn)換成圖表。

【unity系統(tǒng)模塊開發(fā)】UnityEditor工具--數(shù)據(jù)

這里面可以拆成幾部分來看

  1. xy軸

  2. 數(shù)據(jù)圖

  3. 定位線

  4. 總數(shù)據(jù)文本

  5. 當前幀數(shù)據(jù)文本

我們是在OnGUI()里面去實現(xiàn)畫圖,也就是說,在每個OnGUI的update里,這5個部分都需要繪制。

接下來就一個個說。

  1. xy軸

    xy軸很簡單,就是在固定位置畫兩個帶箭頭的線,帶箭頭的線這個在上篇文章就有給代碼,所以這里就不多說了。

    具體就看上篇文章:https://blog.51cto.com/13638120/2103459

  2. 數(shù)據(jù)圖

    這部分是整篇文章的重點,因為數(shù)據(jù)收集只是收集個數(shù)記錄,要把個數(shù)轉(zhuǎn)成圖表還是有點麻煩的。

    首先基本概念是,既然是畫圖,就是畫三角形,既然是畫三角形,就是把坐標信息傳到GL.Vertex()里繪制,所以說到底就是把個數(shù)轉(zhuǎn)換成坐標,畫的是個二維圖,所以z軸統(tǒng)一為0.也就是要獲取x,y坐標。

    畫三角形也有有兩種方式,TRIANGLES和TRIANGLE_STRIP,這部分前者是每三個坐標畫一個三角形,兩個三角形要6個坐標。后者是前三個坐標畫第一個三角形,第四個坐標和第二三個坐標組成三個坐標,畫第二個三角形。

    這部分如果不理解的話看下這篇文章:https://blog.csdn.net/onafioo/article/details/39454233

    而對于我們來說,我們需要的是做到像上面的圖一樣,填滿圖表,所以選擇第二種TRIANGLE_STRIP會更會合適且容易實現(xiàn)。比如:

    【unity系統(tǒng)模塊開發(fā)】UnityEditor工具--數(shù)據(jù)【unity系統(tǒng)模塊開發(fā)】UnityEditor工具--數(shù)據(jù)

    上面標了ABCD四個點,這四個點之間的這片區(qū)域就通過這四個點就可以畫滿,ABC構(gòu)成第一個三角形,CBD構(gòu)成第二個三角形。這時只要把ABCD這四個點依次傳入就可以了。

    所以接下來要解決的就是怎么得出坐標。

    先看一下代碼:

      【unity系統(tǒng)模塊開發(fā)】UnityEditor工具--數(shù)據(jù)

    _graphContentRect是這個繪圖框的Rect。

    首先,x坐標是很好計算的。算法就是以這個Rect的左邊框為第一個點,計算當前點占總共點個數(shù)的第幾個,再乘以這個Rect的寬,再加上左邊的一個點的x坐標得到當前點坐標。

    y坐標的計算方法就是,首先需要知道所有點的高值是多少,因為y坐標代表的是個數(shù),這個值是不固定的,所有需要每幀去算大值是多少。然后算法就跟上面算x差不多,算出當前的個數(shù)占高值的多少,乘以這個Rect高,用這個Rect高點坐標減去這個坐標活動y坐標。

    這樣就獲得這個點的繪制坐標了。

    有了坐標就開始畫三角形,按照上面的說法,就是按ABCD坐標順序把點塞到GL.Vertex()里。

【unity系統(tǒng)模塊開發(fā)】UnityEditor工具--數(shù)據(jù)

先不看中間的ifelse判斷,先省略if的情況。可以看到,比如說畫Data1的圖(一開始的圖的×××部分),就是把當前幀Data1的點,和Data2的點傳進去,再傳第二幀Data1的點和Data2的點。跟我們上面說的ABCD是一樣的。

其他顏色塊的畫法以此類推。

只不過到最下面的時候,也就是上面的if里面的代碼塊,y坐標就取y軸的坐標 _graphContentRect.yMax,完成。

到這里就完成了畫圖了。

現(xiàn)在可以看看效果:

【unity系統(tǒng)模塊開發(fā)】UnityEditor工具--數(shù)據(jù)

這里會有明顯的鋸齒,想著優(yōu)化一下的話,給描個邊,消一下鋸齒。

【unity系統(tǒng)模塊開發(fā)】UnityEditor工具--數(shù)據(jù)

【unity系統(tǒng)模塊開發(fā)】UnityEditor工具--數(shù)據(jù)

這下真的好了~

3.定位線

    也就是根據(jù)你選擇的點,找到那個點的高值坐標,在那個左邊的左方向和上下方向畫線。

【unity系統(tǒng)模塊開發(fā)】UnityEditor工具--數(shù)據(jù)

4.總數(shù)據(jù)文本

    比較簡單,具體就看代碼好了

5.當前幀數(shù)據(jù)文本

    比較簡單,具體就看代碼好了

第二部分的數(shù)據(jù)可視化就講完了~~~

3.點中具體位置時顯示當前位置的具體數(shù)據(jù)。

    就是監(jiān)聽一下鼠標點擊事件,根據(jù)鼠標點中的位置判斷距離它最近的坐標,獲取數(shù)據(jù)。

【unity系統(tǒng)模塊開發(fā)】UnityEditor工具--數(shù)據(jù)

這里就講完所有的了。

下面提供Demo,還有不懂的可以看代碼或者留言交流~

https://pan.baidu.com/s/1w65S-J_qg2_w2CUzuB_B0Q

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

新聞名稱:【unity系統(tǒng)模塊開發(fā)】UnityEditor工具--數(shù)據(jù)-創(chuàng)新互聯(lián)
URL分享:http://aaarwkj.com/article12/ccdpgc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計、營銷型網(wǎng)站建設(shè)、ChatGPT、網(wǎng)站設(shè)計、網(wǎng)站改版、小程序開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站
日韩有码大片最新自拍| 一区二区亚洲成人精品| 国内自拍韩国资源在线| 国产日韩一区二区三区电影| 国产女人和拘做受视频| 国产高清自拍视频免费| 亚洲国产欧美一区三区成人| 激情婷婷亚洲五月综合网| 亚洲黄色av网站在线| 婷婷色悠悠,色悠悠激情啪啪 | 亚洲女人淫片在线观看| 亚洲精品午夜久久久伊人| 风韵丰满熟妇啪啪老熟女| 欧美另类精品一区二区| 午夜在线观看成人av| 亚洲欧美国产成人在线| 哈昂~不要啊在线观看| 国内精品免费视频不卡| 亚洲av乱码久久精品蜜桃| 亚洲国产精品自拍第一页| 日日插天天干夜夜操| 欧美人与性一区二区三区| 十八禁网站免费在线播放| 视频一区视频二区三区| 日韩人妻一区中文字幕| 国产成人+亚洲欧洲综合| 亚洲一区二区三区日韩精品| 97视频在线免费播放| 九九在线视频免费观看精品视频| 国产精品自拍激情在线观看| 人妻露脸国语对白字幕| 日韩av在线免费在线观看| 日韩精品在线观看大全套| 99久久成人精品国产片| 一级欧美黄片在线播放| 久久久这里只有精品99| 亚洲熟妇av一区二区三区l| 超碰av之男人的天堂| 欧美日本午夜福利在线观看 | 农村女人91熟女熟妇| 国产三级三级三级三级三级|