游戏资产压缩
游戏资产压缩
Mesh Compress
通过球坐标系的方式将 法线 或者 切线 3个 $float$ 分量,转换为仰角、方位角两个 $float$
这样可以将法线和切线使用一个 $float4$ 保存,运行时在顶点着色器中进行解码,更进一步压缩 $Mesh$
压缩率约为 52%
- \[r = \sqrt{x^2+y^2+z^2}\]
- \[\theta = arccos({z \over r}) = arcsin(\sqrt {x^2+y^2 \over r} ) = arctan( \sqrt {x^2+y^2 \over z})\]
- \[\phi = arccos( {x \over r\ sin\theta}) = arcsin( {y \over r\ sin\theta}) = arctan( {y \over x})\]
- \[x = r\ sin\theta\ cos\phi\]
- \[x = r\ sin\theta\ sin\phi\]
- \[z = r \ cos\theta\]
Animation Compress
- 不同动作,在相同的骨骼点下,所需要的精度是不同的
Texture Compress
纹理复用
- 九宫格
- $ 1 \over 2 $ 、\(1 \over 4\) 对称纹理
压缩格式
- 采用ASTC,分纹理调整压缩格式
- 运行时生成的纹理也可以采用 ASTC 压缩
本文由作者按照 CC BY 4.0 进行授权