項目初期如何確定美術規範

1)項目初期如何確定美術規範
2)Addressable Assets遇上Post Processing的問題
3)VideoPlayer使用Addressable加載異常
4)UGUI Image如何設置顏色更爲高效
5)PBR材質在Editor和手機中表現的效果不一致


這是第206篇UWA技術知識分享的推送。今天我們繼續爲大家精選了若干和開發、優化相關的問題,建議閱讀時間10分鐘,認真讀完必有收穫。

UWA 問答社區:answer.uwa4d.com
UWA QQ羣2:793972859(原羣已滿員)

Asset

Q:在項目初期,沒有任何正式美術資源的情況下,如何給美術一個美術資源製作的規範?現在只有一些基本的策劃構想,例如:項目定下目標人羣,最低兼容手機價位,同屏可見角色數,場景大小,視野範圍。

如何給到美術適當的美術資源製作限制,例如:角色的面數,角色的貼圖數量、大小,角色的骨骼數量、動畫數量及時長;場景的面數,場景的貼圖數量、大小。

我明白,就上面的策劃需求不能得出一個精確的製作規範,只是想要一個大概的推算方式,給出一些大概的參數,好讓美術有規範可以參考。不知是否能給些指引?

美術也可以按他們想要的精度先製作部分角色和場景,但如果只有有限種類的資源,有方法測算出這個精度在性能允許範圍(也就是說這個精度滿足策劃需求,可以作爲美術製作規範)嗎?

例如:只有一個角色(5000面,512貼圖三張,80根骨骼),策劃同屏要求20個,就弄個場景擺20個一樣的角色進去(因爲只有一個),如果目標手機不崩潰,以後的角色的製作就按這樣做。這樣可以驗證這個精度嗎?

A:這個問題提問至今已有三年,今天終於可以嘗試回答一下了。這幾年來類似“規範”問題應該算是我們最被經常問到的問題之一了。這是一個很難的問題,難點在於“沒有大一統的標準”可使用,因爲這個資源規範設定要參考的因素很多,比如:

  • 遊戲類型不同,規範很難相同
    MMO超大場景遊戲的資源規範和棋牌遊戲的資源規範顯然不能混爲一談。
  • 團隊人員不同,規範標準也是衆口難調
    團隊不同,也就意味着團隊人員的能力和經驗在團隊層面上是千差萬別的,大家的經驗和認知都不可能一樣,所以,對於規範標準的制定自然也有很多不同的理解。
  • 開發時間不同,規範標準自然要隨之調整
    十年前的移動設備和今天的設備相比,其計算能力已經完全不可同日而語。除此之外,引擎的不斷更新、技術的不斷迭代,規範標準也都需要不斷調整。

基於以上幾點,美術資源的規範確實是行業難題,且目前基本上都是團隊內部自行設定。

對於這個問題,UWA一直在思考,是否有較爲可行的方案來推進這一問題的完善和解決。爲此,我們推出了“UWA本地資源檢測”這一工具來幫助大家來檢測和分析項目團隊中普遍需要的資源重要參數。同時,我們通過大量的項目測試數據來不斷分析和調整相關的規範閾值。


就像大家的引擎開發版本一樣,我們無法告訴大家哪個引擎版本是最好的,但我們可以告訴大家哪個引擎版本是商業遊戲中使用最多的。同樣,我們無法告訴大家哪種規範閾值的設置是最合適的,但我們可以告訴大家哪種閾值設定是大家商業項目中使用最多的。同時,我們根據幾百款項目的測試數據進行了分析,總結出了十種最爲常見的遊戲類型的規範閾值設定,希望能讓大家可以根據自身項目的類型來進行更爲精準的設定。


這些閾值數值都是在不斷更新的,隨着時間不斷推演,設備計算能力會變得更強,研發團隊人員的能力和經驗也會變得更足,而這些各種遊戲類型的行業閾值也會不斷地進行調整,這樣,更多的獨立開發者或開發團隊也可以在不知不覺的演變中不斷受益了。

 

該回答由UWA提供,歡迎大家轉至社區交流:
https://answer.uwa4d.com/question/5941544c18d35e654e3e2373


Addressable

Q:項目版本
[email protected]
[email protected]
[email protected]

問題說明
最近試用了Addressables資源管理系統,場景中使用了Post Processing,在打包多個場景採用如下設置:

 

當遇到重複資源,預設,Shader時,期望是能夠進行拆分,對公共資源進行依賴拆分,但是在AddressableAssetSettings.BuildPlayerContent() 之後,打出的多個場景包,各包含一套Post Processing資源。

 

這讓人很尷尬,依賴不能拆?試過ShaderBinder方案,試過CollectShaderVariants,掛載Preload Shader等方案,依然是多份。

A:當再次開新工程進行測試,又讀了Addressables源碼後找到了方案,原來打包之前,需要對Addressables Settings製作一波AddressableAnalytics,按照AnalyzeRules進行分析之後。會有如下顯示:

 

提示黃色感嘆號的資源是可以拆分依賴包的資源。執行“Fix Selected Rules”對問題進行修復。

修復之前

 

修復之後

 

可以看到,已經提取了一個新的Group,這個Group是依賴資源,打包之後,會把其單獨拆出來。

對比圖:

提取公共包之前

 

提取公共包之後

 

自此才把Addressables打包流程正確體驗完畢。

感謝題主debugger@UWA問答社區提供了回答,歡迎大家轉至社區交流:
https://answer.uwa4d.com/question/5ed6870e2f683c47055428c2


Addressable

Q:VideoPlayer在安卓使用Addressable加載Clip無法播放,Group已經設置爲不壓縮,但是播放不了。

 

 

 

A1:可以參考https://forum.unity.com/threads/load-videoclip-in-assetbundle-on-android.466850/page-2,裏面有講到AssetBundle緩存的時候是否開啓壓縮。在Awake中設置緩存不壓縮,親測有效;但是有沒有其它副作用,就沒做測試了。

    void Awake()
    {
        Caching.ClearCache();
        Caching.compressionEnabled = false;
    }

感謝Xuan@UWA問答社區提供了回答

A2:安卓下直接加載打成AssetBundle的音頻文件我沒成功過,但是有兩個方法解決:

不打成AssetBundle包,因爲本身視頻文件就壓縮過了,打成AssetBundle包並不會減少大小,然後直接用VideoPlayer的藉口.url指向本地文件路徑或者網絡路徑。(這裏路徑最後文件名的後綴必須是unity可以解析的後綴名,不能修改成其他名字,不然播放不成功)
用GameObject掛上VideoPlayer組件,然後指向這個Clip,把Object做成Prefab預設打包,這樣安卓下加載預設是可以播放成功的。

以上兩種方案我都在項目上使用過,版本是2018.4.13以上的LTS版本。

感謝簡單就好@UWA問答社區提供了回答,歡迎大家轉至社區交流:
https://answer.uwa4d.com/question/5ecf6db5979400061e5453a8


UGUI

Q:UGUI Image設置顏色可以直接設置Color,也可以通過CanvasRenderer的SetColor接口設置顏色。我測試如果透明度爲0,後者Draw Call和頂點數更少。那麼CanvasRenderer的SetColor有什麼缺點嗎?還是說可以直接把Image的Color用這個接口設置?

A1:Alpha=0是因爲做了特殊處理,不繪製。
感謝fzt-204067@UWA問答社區提供了回答

A2:做了一個測試,發現CanvasRenderer.SetColor也是會導致網格重建的,猜測應該是和Image.color賦值一樣直接修改頂點色,所以調用這個接口的時候也是要考慮會不會影響網格重建的耗時的。有另外一種修改顏色的方法,通過Shader裏面的_Color屬性來修改顏色,這樣不會造成網格重建,但是需要創建一個Material,所以會多一個Draw Call,有利有弊。
代碼大致如下:

void Awake()
Image img = GetComponent<Image>();
Material mat = Instantiate(img.material);
img.material = mat;
Color c = new Color(Random.value, Random.value, Random.value);
mat.SetColor("_Color", c);

感謝Xuan@UWA問答社區提供了回答,歡迎大家轉至社區交流:
https://answer.uwa4d.com/question/5ec24cca979400061e5452b3


Rendering

Q:PBR材質在Editor和手機中表現的效果不一致,主要差異是Specular反光效果。目前PBR反光和反射使用的是Metallic的RGB通道和Alpha通道,RGB通道控制高光,Alpha控制反射強度。

現在不正確的效果是手機端像全身塗了油一樣,而Editor是正常的。請問如何讓手機端和Editor端顯示一致?

手機端

 

Editor端

 

A:作爲Metallic數據的貼圖一般不勾選sRGB,因爲需要在線性空間計算。可能是編輯器和手機對應的貼圖設置不一致造成的。

感謝黃程@UWA問答社區提供了回答,歡迎大家轉至社區交流:
https://answer.uwa4d.com/question/5ed8d1a6df911b36c7ec0d92

封面圖來源於網絡


今天的分享就到這裏。當然,生有涯而知無涯。在漫漫的開發週期中,您看到的這些問題也許都只是冰山一角,我們早已在UWA問答網站上準備了更多的技術話題等你一起來探索和分享。歡迎熱愛進步的你加入,也許你的方法恰能解別人的燃眉之急;而他山之“石”,也能攻你之“玉”。

官網:www.uwa4d.com
官方技術博客:blog.uwa4d.com
官方問答社區:answer.uwa4d.com
UWA學堂:edu.uwa4d.com
官方技術QQ羣:793972859(原羣已滿員)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章