<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>贴图 归档 - 初晴神社</title>
	<atom:link href="https://vki.cc/tag/%e8%b4%b4%e5%9b%be/feed/" rel="self" type="application/rss+xml" />
	<link>https://vki.cc/tag/贴图/</link>
	<description>白露的博客</description>
	<lastBuildDate>Fri, 30 Jul 2021 15:57:31 +0000</lastBuildDate>
	<language>zh-Hans</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1</generator>

<image>
	<url>https://cdn.vki.cc/wp-content/uploads/2018/03/cropped-icemaplen-1-32x32.png</url>
	<title>贴图 归档 - 初晴神社</title>
	<link>https://vki.cc/tag/贴图/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Unity 3D 纹理压缩格式指南</title>
		<link>https://vki.cc/greattruth/experience/872/</link>
					<comments>https://vki.cc/greattruth/experience/872/#respond</comments>
		
		<dc:creator><![CDATA[白露]]></dc:creator>
		<pubDate>Fri, 30 Jul 2021 15:57:30 +0000</pubDate>
				<category><![CDATA[咸鱼心得]]></category>
		<category><![CDATA[朝闻道]]></category>
		<category><![CDATA[Unity]]></category>
		<category><![CDATA[Unity 3D]]></category>
		<category><![CDATA[贴图]]></category>
		<guid isPermaLink="false">https://vki.cc/?p=872</guid>

					<description><![CDATA[<p>压缩纹理的主要目的是为了节省空间，缩短加载时间。针对不同的需求和平台需要不同的压缩格式，有的需要高性能，有的需要高质量，Unity本身提供了多种压缩格式供选择。</p>
<p><a href="https://vki.cc/greattruth/experience/872/">Unity 3D 纹理压缩格式指南</a>最先出现在<a href="https://vki.cc">初晴神社</a>。</p>
]]></description>
										<content:encoded><![CDATA[
<p class="has-black-color has-text-color wp-block-paragraph">Unity本身支持多种贴图格式，比如jpg、png、psd等。但是当这些资源导入后，Unity会统一转化为自己的格式（非直接更改源文件），以供游戏运行时使用。</p>



<p class="has-black-color has-text-color wp-block-paragraph">压缩纹理的主要目的是为了节省空间，缩短加载时间。针对不同的需求和平台需要不同的压缩格式，有的需要高性能，有的需要高质量，Unity本身提供了多种压缩格式供选择。</p>



<h3 id="etc" class="wp-block-heading">ETC</h3>



<p class="wp-block-paragraph"><em>Ericsson Texture Compression，是由 Khronos 支持的开放标准，在移动平台中广泛采用。它是一种为感知质量设计的有损算法，其依据是人眼对亮度改变的反应要高于色度改变。类似于DXT，ETC也是把4&#215;4的像素块压缩成一个64或128位的数据块，也是有损压缩。</em></p>



<p class="has-black-color has-text-color wp-block-paragraph">ETC又分为ETC1和ETC2，通常用于Android平台。其中ETC2是较新的标准，也是Unity官方推荐的格式（虽然我还不太理解）。</p>



<p class="has-black-color has-text-color wp-block-paragraph">相对于ETC1，<strong>ETC2向前兼容，不强制要求贴图大小为2的整数次幂，且对RGB的压缩质量更好，支持透明通道。</strong>唯一的缺点是需要设备支持OpenGL ES 3.0标准。不过该标准诞生于2012年，目前不支持它的设备非常少，因此不用担心。</p>



<p class="wp-block-paragraph">注意：<em>可对具有 <a href="https://docs.unity3d.com/cn/current/Manual/HOWTO-alphamaps.html">Alpha 通道</a>的纹理使用 ETC1 格式，但仅当构建目标为 Android 且纹理放置在图集上（通过指定打包标签）时才适用。要启用此功能，请勾选纹理的 <strong>Compress using ETC1</strong> 复选框。Unity 会将生成的图集拆分为两个纹理，每个纹理都没有 Alpha 通道，然后将它们组合在渲染管线的最后部分中。</em></p>



<h3 id="pvrtc" class="wp-block-heading">PVRTC</h3>



<p class="wp-block-paragraph">PowerVR Texture Compression，PVRTC格式与基于块的压缩格式，比如S3TC、ETC的不同之处是，它使用2张双线性放大的<em>低分辨率图，根据精度和每个像素的权重，融合到一起来呈现纹理，并且2-bpp和4-bpp都支持ARGB数据。PVRTC格式压缩比高，也是有损压缩。</em></p>



<p class="has-black-color has-text-color wp-block-paragraph">PVRTC格式一般用于iOS平台，可以用在所有的iOS设备上。缺点是<strong>要求纹理的高、宽必须都是2的整数次幂（POT），最小为8，并且必须是正方形</strong>。</p>



<p class="has-vivid-red-color has-text-color wp-block-paragraph">注意：使用该格式，极端情况下会让内存占用变得更大。比如原先300*300的贴图，因为要求尺寸为2的整数次幂，所以变成512*512 . 这种情况下还不如使用RGBA16 .</p>



<h3 id="rgba16" class="wp-block-heading">RGBA16</h3>



<p class="has-black-color has-text-color wp-block-paragraph">RGBA16，即RGBA4444，每个像素2个字节，RGBA通道各占4位。</p>



<p class="has-black-color has-text-color wp-block-paragraph">相比以上压缩格式，贴图质量相对较好，缺点是内存占用大，且相对于RGBA32来说会有色彩断层问题。</p>



<h3 id="rgba32" class="wp-block-heading">RGBA32</h3>



<p class="has-black-color has-text-color wp-block-paragraph"> RGBA32，即RGBA8888，每个像素4个字节，RGBA通道各占8位。</p>



<p class="has-black-color has-text-color wp-block-paragraph">原图无压缩，质量最好 ，缺点是内存占用极大。除非美术要求极高才会使用。</p>



<p class="has-black-color has-text-color wp-block-paragraph">假如贴图没有透明通道则使用RGB24格式，少占用一个字节的空间。</p>



<h3 id="astc" class="wp-block-heading">ASTC</h3>



<p class="wp-block-paragraph"><em>ASTC 是在 OpenGL ES3.0 出现后在 2012 年中产生的一种业界领先的纹理压缩格式，它的压缩分块从 4&#215;4 到 12&#215;12 最终可以压缩到每个像素占用 1bit 以下，压缩比例有多种可选。ASTC 格式支持 RGBA，且适用于 2 的幂次方长宽等比尺寸和无尺寸要求的 NPOT（非 2 的幂次方）纹理。</em></p>



<p class="has-black-color has-text-color wp-block-paragraph">目前我最推荐使用的一种压缩格式，优点是压缩质量高，显示质量好，且Android和iOS平台都可以使用，比较省心。压缩质量从4&#215;4到12&#215;12，按需选择。</p>



<figure class="wp-block-image size-full"><img  decoding="async"  width="160"  height="261"  src="https://oss.vki.cc/wp-content/uploads/2021/07/1627659914-a905a96f-bb75-4bd8-a53a-adaaf02d9b80.png"  alt=""  class="wp-image-874"  srcset="https://cdn.vki.cc/wp-content/uploads/2021/07/1627659914-a905a96f-bb75-4bd8-a53a-adaaf02d9b80.png 160w, https://cdn.vki.cc/wp-content/uploads/2021/07/1627659914-a905a96f-bb75-4bd8-a53a-adaaf02d9b80-120x196.png 120w, https://cdn.vki.cc/wp-content/uploads/2021/07/1627659914-a905a96f-bb75-4bd8-a53a-adaaf02d9b80-90x147.png 90w"  sizes="(max-width: 160px) 100vw, 160px" ></figure>



<p class="has-black-color has-text-color wp-block-paragraph">缺点和ETC2差不多，老设备不支持。其中iOS设备从iPhone 5s才开始支持，Android主流压缩格式也正在从ETC2转向ASTC（这也是我不太理解Unity还在推荐ETC2的原因）。另一个小缺点是压缩时间稍长，不过也不是问题。</p>



<p class="has-black-color has-text-color wp-block-paragraph"><strong>所以长期来看，ASTC将一统江湖！</strong></p>



<h2 id="%e7%bb%93%e8%ae%ba" class="wp-block-heading">结论</h2>



<p class="has-black-color has-text-color wp-block-paragraph">综上来看，新项目的贴图基本可以无脑使用ASTC，这里有张图，有个大佬总结出来的。</p>



<figure class="wp-block-image size-full"><img  fetchpriority="high"  decoding="async"  width="720"  height="337"  src="https://oss.vki.cc/wp-content/uploads/2021/07/1627660332-8650276a-f037-48d0-a24c-48714dc8e316.jpg"  alt=""  class="wp-image-876"  srcset="https://cdn.vki.cc/wp-content/uploads/2021/07/1627660332-8650276a-f037-48d0-a24c-48714dc8e316.jpg 720w, https://cdn.vki.cc/wp-content/uploads/2021/07/1627660332-8650276a-f037-48d0-a24c-48714dc8e316-120x56.jpg 120w, https://cdn.vki.cc/wp-content/uploads/2021/07/1627660332-8650276a-f037-48d0-a24c-48714dc8e316-90x42.jpg 90w, https://cdn.vki.cc/wp-content/uploads/2021/07/1627660332-8650276a-f037-48d0-a24c-48714dc8e316-320x150.jpg 320w, https://cdn.vki.cc/wp-content/uploads/2021/07/1627660332-8650276a-f037-48d0-a24c-48714dc8e316-560x262.jpg 560w"  sizes="(max-width: 720px) 100vw, 720px" ></figure>



<figure class="wp-block-image size-full"><img  decoding="async"  width="618"  height="100"  src="https://oss.vki.cc/wp-content/uploads/2021/07/1627660356-adfe9ed4-3dd1-42a9-8d7d-b03aa74aab11.png"  alt=""  class="wp-image-877"  srcset="https://cdn.vki.cc/wp-content/uploads/2021/07/1627660356-adfe9ed4-3dd1-42a9-8d7d-b03aa74aab11.png 618w, https://cdn.vki.cc/wp-content/uploads/2021/07/1627660356-adfe9ed4-3dd1-42a9-8d7d-b03aa74aab11-120x19.png 120w, https://cdn.vki.cc/wp-content/uploads/2021/07/1627660356-adfe9ed4-3dd1-42a9-8d7d-b03aa74aab11-90x15.png 90w, https://cdn.vki.cc/wp-content/uploads/2021/07/1627660356-adfe9ed4-3dd1-42a9-8d7d-b03aa74aab11-320x52.png 320w, https://cdn.vki.cc/wp-content/uploads/2021/07/1627660356-adfe9ed4-3dd1-42a9-8d7d-b03aa74aab11-560x91.png 560w"  sizes="(max-width: 618px) 100vw, 618px" ></figure>



<p class="has-black-color has-text-color wp-block-paragraph"><strong>不过尽管ASTC支持非二次幂纹理，但在时机开发中还是建议UI及美术尽量制作二次幂纹理。</strong></p>



<p class="wp-block-paragraph">具体可参考：<a href="https://www.zhihu.com/question/376921536/answer/1063272336" target="_blank" rel="noreferrer noopener">https://www.zhihu.com/question/376921536/answer/1063272336</a></p>
<p><a href="https://vki.cc/greattruth/experience/872/">Unity 3D 纹理压缩格式指南</a>最先出现在<a href="https://vki.cc">初晴神社</a>。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://vki.cc/greattruth/experience/872/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
