android信鸽推送demo_【厚积薄发】手游推送方案
這是第155篇UWA技術(shù)知識(shí)分享的推送。今天我們繼續(xù)為大家精選了若干和開(kāi)發(fā)、優(yōu)化相關(guān)的問(wèn)題,建議閱讀時(shí)間10分鐘,認(rèn)真讀完必有收獲。
UWA 問(wèn)答社區(qū):answer.uwa4d.com
UWA QQ群2:793972859(原群已滿員)
本期目錄:
手游推送方案
Unity UI特效和前端的溝通問(wèn)題
低端機(jī)上是否要開(kāi)啟多線程渲染
RenderTexture在手機(jī)端內(nèi)存變大
自己實(shí)現(xiàn)Text描邊引起DrawCall增加問(wèn)題
Q:例如《率土之濱》和《部落沖突》這種游戲,如果你的主城被別人打了,手機(jī)上會(huì)收到推送通知說(shuō)有人在打你。有個(gè)問(wèn)題就是游戲已經(jīng)殺死掉了,為什么還能收到這個(gè)通知?這種是實(shí)時(shí)的通知,不是定時(shí)那種,請(qǐng)問(wèn)下這種要怎么做?
A1:這種準(zhǔn)確推送時(shí)間客戶端是計(jì)算不出來(lái)的,所以還是得依靠服務(wù)器。Android這塊以前用過(guò)極光推送,還行。iOS有提供服務(wù)器推送方案。大概原理就是,我們的服務(wù)器通知(蘋(píng)果的服務(wù)器或者極光的服務(wù)器)再轉(zhuǎn)向玩家進(jìn)行推送。
感謝雨松MOMO@UWA問(wèn)答社區(qū)提供了回答
A2:騰訊的信鴿也可以,推送分服務(wù)器推送和本地推送。一般這種需求我們需要本地推送,iOS系統(tǒng)本身支持這種推送。安卓并沒(méi)有對(duì)應(yīng)的API,需要自己?jiǎn)?dòng)Server,并與某系統(tǒng)進(jìn)程綁定,才能保證進(jìn)程不被殺掉,但是現(xiàn)在各大廠商都自己制定系統(tǒng),很難做到這一步,也有部分廠商的App在系統(tǒng)白名單里,后臺(tái)進(jìn)程不會(huì)被殺掉。
感謝鄭驍@UWA問(wèn)答社區(qū)提供了回答,歡迎大家轉(zhuǎn)至社區(qū)交流:
https://answer.uwa4d.com/question/5cac455026ca1f200dab8f16
資源管理Q:我們的游戲現(xiàn)在有很多UI特效給特效去用Animation和粒子做,但是有個(gè)問(wèn)題是,他們做很難注意性能問(wèn)題,而且我一旦改變一些屬性,又得重新讓它K幀,這樣做下來(lái)交流成本很高,不知道有沒(méi)有什么好的解決方案?
A1:我是這樣做的,就是美術(shù)做的特效Prefab程序不直接用,而是提供一個(gè)工具供他們導(dǎo)出生成一個(gè)新的Prefab。
這樣的好處就是導(dǎo)出的時(shí)候可以進(jìn)行檢查,比如檢查貼圖數(shù)量、粒子數(shù)量、動(dòng)畫(huà)等等,我們可以提前定好UI粒子特效的標(biāo)準(zhǔn),導(dǎo)出的時(shí)候發(fā)現(xiàn)資源不符合規(guī)范或者有問(wèn)題,就給他們提示錯(cuò)誤,Prefab不予以導(dǎo)出。這樣美術(shù)就無(wú)法上傳SVN程序,就不會(huì)更新到有問(wèn)題或者有效率問(wèn)題的特效。
其實(shí)這個(gè)思路不僅特效可以用,UI界面、角色、場(chǎng)景等等,我都是這么做的,Prefab自動(dòng)生成的同時(shí)還可以做一些額外的邏輯。
感謝雨松MOMO@UWA問(wèn)答社區(qū)提供了回答
A2:我和樓上的做法類似,不能用導(dǎo)入器強(qiáng)制規(guī)范的資源,每天凌晨打包機(jī)啟動(dòng)一個(gè)資源掃描動(dòng)作。把不符合規(guī)范的掃出來(lái)生成報(bào)告。
感謝王亮@UWA問(wèn)答社區(qū)提供了回答
A3:我的思路:
自己編寫(xiě)Timeline編輯器(Unity,Unreal官方也可),在編輯器中將美術(shù)相關(guān)的操作范圍規(guī)范好,例如播放單粒子特效時(shí)的個(gè)數(shù)及模型、動(dòng)畫(huà)、材質(zhì)等資源使用范圍,最終在生成特效數(shù)據(jù)時(shí),再進(jìn)行資源和數(shù)據(jù)檢查以及資源整理,避免資源冗余及不規(guī)范。
優(yōu)勢(shì):
1、資源和數(shù)據(jù)剝離,各資源間沒(méi)有耦合,可快速修改和調(diào)整;
2、數(shù)據(jù)在編輯模式下可共用、也方便聯(lián)合制作,可快速處理沖突;
3、模板化特效,大大提高開(kāi)發(fā)效率。
兩點(diǎn)需要注意:
1、FBX資源冗余,Unity默認(rèn)關(guān)聯(lián)模型、動(dòng)畫(huà)資源為FBX路徑。我采取的策略是,將使用到的資源,從FBX中提取,制作成Asset文件(Unity本身也是這么做的,只不過(guò)幫他提前做了而已,也會(huì)提高打包速度),將Timeline上的資源依賴換成新生成的資源。
2、編輯器本身盡量做好回放功能(尤其是粒子)。
感謝鄭驍@UWA問(wèn)答社區(qū)提供了回答,歡迎大家轉(zhuǎn)至社區(qū)交流:
https://answer.uwa4d.com/question/5cb46c723ded097520c24ced
渲染Q:多線程渲染到底是開(kāi)還是不開(kāi)呢?在低端機(jī),比如紅米Note2開(kāi)多線程渲染有幫助嗎?還是說(shuō)直接關(guān)閉比較好?
A1:題主不妨在紅米Note2上具體測(cè)試下,看下開(kāi)關(guān)的之后的性能差異。了解到現(xiàn)在挺多大型的ARPG都開(kāi)啟了多線程渲染。
感謝張銳@UWA問(wèn)答社區(qū)提供了回答
A2:對(duì)于目前中國(guó)市場(chǎng)的手游,都建議開(kāi)啟多線程渲染功能,不僅可以大幅降低主線程上渲染模塊的壓力,同時(shí)還可以極大降低紋理、Mesh和Shader等資源加載的耗時(shí)。
當(dāng)然,沒(méi)有一種方法是一本萬(wàn)利的,也有它一定的限制和問(wèn)題,具體我們之前碰到過(guò)的問(wèn)題,可以直接在UWA問(wèn)答里搜索多線程渲染進(jìn)行查看。
該回答由UWA提供,歡迎大家轉(zhuǎn)至社區(qū)交流:
https://answer.uwa4d.com/question/5cac6d1326ca1f200dab8f19
RenderTextureQ:RenderTexture AA設(shè)為1 depth是0,在PC端內(nèi)存大小是對(duì)的,到手機(jī)端內(nèi)存增長(zhǎng)了三倍左右,為什么呢?
A1:三倍不太應(yīng)該,建議通過(guò)UWA GOT Online服務(wù)或者UWA線上深度測(cè)評(píng)來(lái)查看每個(gè)RenderTexture的具體參數(shù),分辨率、格式等參數(shù)是否正常。
該回答由UWA提供
A2:內(nèi)存有變化可能是因?yàn)榉直媛?#xff0c;RenderTexture的大小是跟著分辨率走的,你比較下你在PC上看的RenderTexture分辨率和手機(jī)上RenderTexture分辨率分別是多大。
感謝deviljz@UWA問(wèn)答社區(qū)提供了回答,歡迎大家轉(zhuǎn)至社區(qū)交流:
https://answer.uwa4d.com/question/5cb58854d3016c751b5a4430
UIQ:如圖,我們項(xiàng)目自己實(shí)現(xiàn)的文字描邊,按照我對(duì)Unity的合批理解,應(yīng)該是2個(gè)DrawCall,但是實(shí)際卻是4個(gè),猜測(cè)應(yīng)該是TextShaderOutline的ModifyMesh函數(shù)中SetUIVertex方法導(dǎo)致合批失敗。如果是,不知道原理是什么?有沒(méi)有更好的解決方案呢?
功能地址TextureShaderOutline.rar
(http://t.cn/Eay1a1D)
A:你這個(gè)方案和(http://t.cn/Eay1yW9)有點(diǎn)類似,且做過(guò)改進(jìn)吧。我看了你們只使用了一個(gè)材質(zhì)球。不過(guò)我這邊Unity版本低一些,你的方案打開(kāi)有點(diǎn)亂,感覺(jué)顯示有問(wèn)題,我把紅色字左右拖動(dòng),顏色會(huì)變,很奇怪。
用博客上原方案,我試了這種疊加的情況能合批(前提是材質(zhì)球用同一份,顏色不一樣,就會(huì)是2份材質(zhì)球了)。
我再針對(duì)Unity 2018,調(diào)整了一下方案,看看是不是滿足你們的需求:
Unity 2018能傳遞UV2、UV3,然后tangent.zw normal.z 也勉強(qiáng)可以用一下,所以用UV1、UV2存放最原始的UV區(qū)域(裁剪用),UV3、tangent.zw傳遞outlinecolor,normal.z傳遞outlineborder,這樣顏色和寬度變化就不需要改材質(zhì)球,就能合批了。(注意z軸方向不能縮放,且UI和所在canvas要平,否則tangent.z和normal.z傳遞會(huì)不準(zhǔn)確)
參考項(xiàng)目test2018_1_outline.rar
(http://t.cn/Eay1EWu)
(題主Rhett補(bǔ)充:我們這邊將ModifyMesh方法中去掉position的上傳,就可以合批了。)
感謝真木@UWA問(wèn)答社區(qū)提供了回答,歡迎大家轉(zhuǎn)至社區(qū)交流:
https://answer.uwa4d.com/question/5c98a8bc419e740b2b8afb08
今天的分享就到這里。當(dāng)然,生有涯而知無(wú)涯。在漫漫的開(kāi)發(fā)周期中,您看到的這些問(wèn)題也許都只是冰山一角,我們?cè)缫言赨WA問(wèn)答網(wǎng)站上準(zhǔn)備了更多的技術(shù)話題等你一起來(lái)探索和分享。歡迎熱愛(ài)進(jìn)步的你加入,也許你的方法恰能解別人的燃眉之急;而他山之“石”,也能攻你之“玉”。
官網(wǎng):www.uwa4d.com
官方技術(shù)博客:blog.uwa4d.com
官方問(wèn)答社區(qū):answer.uwa4d.com
官方技術(shù)QQ群:793972859(原群已滿員)
封面圖來(lái)源于網(wǎng)絡(luò)
UWA DAY 2019精彩盤(pán)點(diǎn)!
近期精彩回顧
【厚積薄發(fā)】場(chǎng)景貼圖的分級(jí)策略!
【厚積薄發(fā)】CommandBuffer的GPU開(kāi)銷!
【厚積薄發(fā)】PostProcessing V2 效果異常!
【厚積薄發(fā)】如何規(guī)劃UI圖標(biāo)圖集!
總結(jié)
以上是生活随笔為你收集整理的android信鸽推送demo_【厚积薄发】手游推送方案的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: div+css的布局方式进行设计成品作业
- 下一篇: code iban 是有什么组成_「面试