Unity中的Sprite紋理壓縮(Sprite texture compression in Unity)
我希望稍微壓縮一下我的png sprite textures這樣它們就不會占用我為移動裝置建構的那麼多記憶體。 因為我使用了很多gif動畫,這對我的遊戲性能至關重要。 我尋找答案,但我找到的線程超過1歲,而不是sprites是以我想我問我的版本。 Unity中大小為224 KB的圖像占用1.6 MB, 關閉 generate mip maps是以在我的遊戲中壓縮png sprite textures 。 怎麼做?
I wish to compress my png sprite textures a bit so they don't take up that much memory as I build for mobile devices. As I use a lot of gif animations this is crucial for my game's performance. I looked for an answer but the threads I found were more than 1 year old and not about sprites so I figured I ask my version. An image that's 224 KB in size takes up 1.6 MB in Unity with the generate mip maps turned off So compressing the png sprite textures in my game. How to do that?
原文:https://stackoverflow.com/questions/41270144
2020-02-13 23:14
滿意答案
嘗試将Format設定為Automatic Compressed 。
為了在所有移動平台上工作,請確定初始圖像的大小為2的幂(實際上我認為4的倍數應該足夠,但隻是為了安全起見)。
這會降低圖像品質,但應節省一些空間。
關閉mip貼圖也是一個好主意,因為mim貼圖将圖像的大小增加了大約33%。
還有一件事,確定将Non Power of 2設定為None ,這可能是您目前看到尺寸增大的原因。
Try setting Format to Automatic Compressed.
For this to work on all mobile platforms make sure the initial image has sizes that are power of 2 (actually I think that multiple of 4 should be enough, but just to be on the safe side).
This will lower the quality of the image but should save you some space.
Turning mip map off is again a good idea as mim map increase the size of the image by about 33%.
And one more thing, make sure that Non Power of 2 is set to None, that may be the reason you see an increase in size at the moment.
2016-12-22
相關問答
你不能隐式地将類型Sprite轉換為UnityEngine.Sprite,是以嘗試明确地轉換它來說明它 greenSprite = Resources.Load ("SpritesFolderName/" + "mySpritename", typeof(Sprite)) as Sprite;
You cannot implicitly convert type Sprite to UnityEngine.Sprite , so try converting it explicitly stat...
在UV解開你的模型後,你将uv儲存在一個檔案中,你應該将該檔案作為一個紋理應用于你的模型,你将會完成,告訴我你是否已經這樣做了。 這是有用的教程。 after you UV unwrapped your model you save the uv in a file in blender you should apply that file as a texture to your model in unity and you will be done,tell me if you have al...
精靈檔案本身位于“資産/資源”檔案夾中。 那就是問題所在。 該檔案夾必須命名為Resources not Resourses 。 它也不是資源 。 它必須命名為Resources 。 修複檔案夾名稱後,可以使用下面的代碼段來閱讀Sprite 。 Sprite sprite = Resources.Load("1", typeof(Sprite)) as Sprite;
如果精靈設定為多模式,那麼使用它; Sprite[] sprite = Resources.LoadAll("1...
将值Offset時出現邏輯問題。 說明如下: void Update () {
// Assume that Offset's value is { 2, 3 }
Offset = new Vector2 (0, Time.deltaTime * speed);
// Assume Time.DeltaTime's value is 0.12f
// Assume speed's value is 10
// Now to figure out the pr...
您可以通過選擇它(或一堆它們)并在檢查器中設定它來設定紋理壓縮。 此外,您應該在項目品質設定下檢查Android品質不會将品質紋理降低到一半或四分之一,這可能是導緻您麻煩的原因。 You can set the texture compression by selecting it (or a bunch of them) and setting it in the inspector. Also, you should check under the Project Quality settin...
嘗試将Format設定為Automatic Compressed 。 為了在所有移動平台上工作,請確定初始圖像的大小為2的幂(實際上我認為4的倍數應該足夠,但隻是為了安全起見)。 這會降低圖像品質,但應節省一些空間。 關閉mip貼圖也是一個好主意,因為mim貼圖将圖像的大小增加了大約33%。 還有一件事,確定将Non Power of 2設定為None ,這可能是您目前看到尺寸增大的原因。 Try setting Format to Automatic Compressed. For this t...
您是在談論壓縮圖像格式(如JPEG或甚至是包含圖像的zip檔案)還是壓縮紋理格式(如DXT1等)? 當您擁有壓縮紋理(例如DXT)時,您不必在運作時對其進行解壓縮,是以圖形卡可以在對紋理進行采樣時動态執行。 對于可以提前預編譯所有資産的遊戲,在(資産)建構時應用類似DXT壓縮的東西通常是一個好主意,這樣你就可以獲得紋理壓縮的所有好處(更快的加載時間,更少的記憶體帶寬使用,等)沒有在運作時實際執行壓縮的成本。 也就是說,在你想要用壓縮紋理渲染的任何情況下,但你無法通路你将提前使用的圖像(也許你讓使用者從...
這不會造成任何問題,是正确的做事方式。 如果你想真正明确它,你可以将線改為Cull Back而不是将其注釋掉,但是背面剔除被定義為預設行為,是以隻需删除就可以了。 That won't cause any problems and is the correct way of doing things. If you want to be really explicit about it you could change the line to Cull Back instead of commen...
這不是Unity,而是壓縮格式。 ETC2可以壓縮NPOT紋理,但是例如ETC1或PVRTC不能。 使用ETC2的NPOT紋理可以壓縮(512x400px,100kb): 使用ETC1的NPOT紋理無法壓縮(512x400px,600kb): 如果要使用帶有NPOT紋理的ETC1或PVRTC壓縮,可以選擇“非幂2”選項(預設為“無”,但可以是: “最接近” , “更大”或 “更小” 。 NPOT紋理使用PVRTC和Unity'Non power of 2:ToLarger'選項,(512x512p...
而不是試圖在運作時找到它,隻需将它連結在預制/遊戲對象中。 在檢查器中公開它然後将精靈拖動到暴露的變量非常簡單。 您可以執行精靈或變換,在下面的示例中我使用了變換,但是如果您需要從中擷取更多資料,那麼繼續前進并使用精靈。 public Transform Head;
public Transform Hand;
public Transform Chest;
然後你可以獲得Head.position的位置 如果您要檢查碰撞,請考慮在每個位置放置一個碰撞器,然後您可以根據需要打開/關閉它們(是以除...
相關文章
Here are something that need to take care of when y
...
1.安裝 Hadoop-gpl-compression 1.1 wget http://hadoop-
...
Hadoop中常見的壓縮格式及特性如下: 壓縮格式 工具 算法 檔案擴充名 多檔案 可分割性 DEF
...
自從Hadoop叢集搭建以來,我們一直使用的是Gzip進行壓縮 當時,我對gzip壓縮過的檔案和原始的
...
原位址:http://blog.csdn.net/alking_sun/article/details
...
在Hadoop中使用lzo的壓縮算法可以減小資料 的大小和資料的磁盤讀寫時間,不僅如此,lzo是基于b
...
該教程系 Lynda.com 人像修飾教程。原作者 CHRIS ORWIG ,由曾慶林翻譯成中文。教程
...
終于把你必須知道的.NET看完了,第二步就是把精通ASP.NET MVC3架構這本書搞定,練習MVC3
...
Hadoop叢集中啟用了lzo後,還需要一些配置,才能使叢集能夠對單個的lzo檔案進行并行的map操作
...
Hadoop 可以在作業的Configuration對象中通過設定一系列參數來改變作業的行為,比如,我
...
最新問答
如果啟用了複制處理程式,請確定将其置于其中一個安全角色之後。 我見過人們做的另一件事是在不同的端口上運作admin。 最好在需要auth的頁面上使用SSL,這樣你就不會發送明确的密碼,是以管理和複制将發生在8443上,而正常查詢将在8080上發生。 如果您要簽署自己的證書,請檢視此有用的SO頁面: 如何在特定連接配接上使用不同的證書? I didn't know that /admin was the context for SOLR admin because /admin does not re
第一:在您的樣本中,您有: 但是你在詢問 //td[@class=‘CarMiniProfile-TableHeader’] (注意TableHeader中的大寫'T')。 xpath區分大小寫。 第二:通過查詢// td [@ class ='CarMiniProfile-TableHeader'] / td,你暗示你在外部td中有一個'td'元素,而它們是兄弟姐妹。 有很多方法可以在這裡獲得制作和模型
這是你的答案: http://jsfiddle.net/gPsdk/40/ .preloader-container { position: absolute; top: 0px; right: 0px; bottom: 0px; left: 0px; background: #FFFFFF; z-index: 5; opacity: 1; -webkit-transition: all 500ms ease-out;
問題是,在啟用Outlook庫引用的情況下, olMailItem是一個保留常量,我認為當您将Dim olMailItem as Outlook.MailItem ,這不是問題,但是嘗試設定變量會導緻問題。 以下是完整的解釋: 您已将olMailItem聲明為對象變量。 在指派語句的右側,在将其值設定為對象的執行個體之前,您将引用此Object 。 這基本上是一個遞歸錯誤,因為你有對象試圖自己配置設定自己。 還有另一個潛在的錯誤,如果之前已經配置設定了olMailItem ,這個語句會引發另一個錯誤(可能是
我建議使用wireshark http://www.wireshark.org/通過記錄(“捕獲”)裝置可以看到的網絡流量副本來“監聽”網絡上發生的對話。 當您開始捕獲時,資料量似乎過大,但如果您能夠發現任何看起來像您的SOAP消息的片段(應該很容易發現),那麼您可以通過右鍵單擊并選擇來快速過濾到該對話'關注TCP Stream'。 然後,您可以在彈出視窗中檢視您編寫的SOAP服務與Silverlight用戶端之間的整個對話。 如果一切正常,請關閉彈出視窗。 作為一個額外的好處,wireshar
Android預設情況下不提供TextView的合理結果。 您可以使用以下庫并實作适當的aligntment。 https://github.com/navabi/JustifiedTextView Android Does not provide Justified aligntment of TextView By default. You can use following library and achieve proper aligntment. https://github.com/
你的代碼适合我: class apples { public static void main(String args[]) { System.out.println("Hello World!"); } } 我将它下載下傳到c:\ temp \ apples.java。 以下是我編譯和運作的方式: C:\temp>javac -cp . apples.java C:\temp>dir apples Volume in drive C is HP_PAV
12個十六進制數字(帶前導0x)表示48位。 那是256 TB的虛拟位址空間。 在AMD64上閱讀wiki(我假設你在上面,對嗎?)架構http://en.wikipedia.org/wiki/X86-64 12 hex digits (with leading 0x) mean 48 bits. That is 256 TB of virtual address space. Read wiki on AMD64 (I assume that you are on it, right?) ar
這将取決于你想要的。 對象有兩種屬性:類屬性和執行個體屬性。 類屬性 類屬性對于類的每個執行個體都是相同的對象。 class MyClass: class_attribute = [] 這裡已經為類定義了MyClass.class_attribute ,您可以使用它。 如果您建立MyClass執行個體,則每個執行個體都可以通路相同的class_attribute 。 執行個體屬性 instance屬性僅在建立執行個體時可用,并且對于類的每個執行個體都是唯一的。 您隻能在執行個體上使用它們。 在方法__init__中定