位置: 编程技术 - 正文
推荐整理分享关于U3D贴图格式压缩(u3d怎么导入贴图),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:u3d怎么导入贴图,u3d给材质球贴图,udim贴图,unity3d模型贴图,u3d给材质球贴图,u3d贴图怎么做,u3d地形编辑贴图,3d导入unity得贴图丢了怎么找,内容如对您有帮助,希望把文章链接给更多的朋友!
各种纹理式,大家参照下U3D MANUAL里面的具体描述介绍,这是官方的东西。但我觉得有一部内容是错的,例如占用内存大小。
Tegra提供的,ETC是安卓原生支持的,OPNEGL2.0都支持。ETC2只有OPENGL3.0支持,PVRTC是Imagination PowerVR提供的,ATC是Qualcomm Snapdragon提供的。一般来说,IOS只支持PVRTC的压缩式。一旦相应的贴图式不兼容的时候,U3D会自动将其转换成RGB(A)式。最好的兼容是针对GPU进行打包,例如针对小米的都用ATC式,但一般开发做不到太细化的选择。所有设备对RGB BITS/ARGB BITS/RGB ABITS/RGB BITS/ARGB BITS等支持都很好,只是这些式算是非压缩式,对内存消耗和渲染消耗非常不友好。
关于压缩后的在储存上的大小,假设高清(ARGB)大小为1,那么大概数据如下:
RGB PVRTC 4BITS:0.
ARGB PVRTC 4BITS:0.
RGB PVRTC 2BITS:0.
ARGB PVRTC 2BITS:0.
RGBA ETC2 4BITS:0.
RGBA ETC2 8BITS:0.
RGB 1-bit ALPHA ETC2 8BITS:0.2
DXT1 :0.3
DXT5 : 0.6
ARGB BITS:0.
RGB BITS:0.5
RGB BITS:0.
ARGB BITS:1
当然每个都是根据图片不一样而不一样的,以上只是大致数据并非准确数据。
测试方法:单独为改为这样贴图式的文件打成ASSETBUNDLE看大小。
对此抱有比较大疑问的是ARGB 和RGB ,感觉可能这里U3D的BUNDLE有BUG。
内存中的大小,假设高清(ARGB)大小为1,那么大概数据如下:
RGB PVRTC 2BITS:0.
ARGB PVRTC 2BITS:0.
RGB PVRTC 4BITS:0.
ARGB PVRTC 4BITS:0.
RGBA ETC2 4BITS:0.
RGBA ETC2 8BITS:0.
RGB 1-bit ALPHA ETC2 8BITS:0.
DXT1 :0.
DXT5 : 0.
ARGB BITS:0.5
RGB BITS:0.5
RGB BITS:0.8
ARGB BITS:1
建议如下:
一般来说3D游戏我们压缩贴图的时候会把贴图分为UI贴图和场景模型贴图来考虑,主要是因为有多重采样的缘故。3D游戏一般来说都是受摄像机远近大小改变而采取不同的采样大小,假设不设置多重纹理采样的话,在远处会有非常多的白色噪点。
2D游戏的话,所有都不需要勾选多重采样,具有3D性质的贴图,我们都需要勾选上GENERATE MIP MAPS,这样会使贴图大小增加%这样。
正方贴图与非正方贴图也要区分。非正方贴图只有位的压缩(相当于真彩色减半),所以最好游戏中都是正方的贴图。以下是个人选择贴图压缩式遵循的一些规则,大家可以参考下,若有问题可以一起交流一下。
正方贴图:
IOS下:
a.普通不透明:RGB PVRTC 4BITS
b.普通透明:RGBA PVRTC 4BITS
Android下:
a.普通不透明:RGB ETC 4BITS
b.普通透明:
因为没有通用最兼容的式,所以一般情况是用RGBA BIT或有针对性的选择DXT5/ATC8 BITS/ETC2 8BITS。如果有技术支持,可以采用RGB ETC 4BITS加一张ALPHA 8的贴图来实现透明效果。
非正方贴图:
一般采用位压缩,位会带来颜色损失,但如果本来美术就是按BITS画的话,就不会损失,日本好些手游都是按BITS来画的。这样的游戏一般少渐变艳度高比较容易看出来。
a.不透明贴图: RGB BITS
d.透明贴图:RGBA BITS
高清不压缩贴图:
RGBA BIT
另外:
对于不重要的贴图,模糊度低的贴图,建议不仅要采取像素压缩,还要直接压缩其大小。如光照贴图压到或。如背景原本的图直接压到。玩家不注意到就可以了。
将Texure Type设置为Advanced时纹理的式列表
式
详解
Automatic Compressed
压缩RGB纹理,默认选项,常用的漫反射纹理式。4位/像素(KB, x)
RGB Compressed DXT1
压缩的RGB纹理。常用的漫反射纹理式。4位/像素(KB, x)
RGBA Compressed DXT5
压缩的RGBA纹理。是漫反射和高光控制纹理的主要式。1字节/像素(KB, x)
RGB Compressed ETC 4bits
压缩的RGB纹理,是Android工程默认的纹理式,不支持alpha通道。(KB, x)
RGB Compressed PVRTC 2bits
压缩的RGB纹理,支持Imagination PowerVR GPU2位/像素 (KB, x)
RGBA Compressed PVRTC 2bits
压缩的RGBA纹理,支持Imagination PowerVR GPU2位/像素 (KB, x)
RGB Compressed PVRTC 4bits
压缩的RGB纹理,支持Imagination PowerVR GPU4位/像素 (KB, x)
RGBA Compressed PVRTC 4bits
压缩的RGBA纹理,支持Imagination PowerVR GPU
4位/像素 (KB, x)
RGB Compressed ATC 4bits
压缩的RGB纹理,支持Qualcomm Snapdragon,4位/像素 (KB, x)
RGBA Compressed ATC 8bits
压缩的RGB纹理,支持Qualcomm Snapdragon,8位/像素 (KB, x)
Automatic bits
RGB彩色,位彩色图最多可以有2的次方种颜色(低质量真彩色)
RGB bits
万色不带alpha,比压缩的式使用更多的内存,适用UI纹理(KB,x)
ARGB bits
低质量真彩色,具有级的红绿蓝和alpha通道(KB, x)
RGBA bits
Automatic Turecolor
最高质量的真彩色,也就是位的色彩(x的纹理大小为KB)
RGB bits
真彩色不带alpha通道(KB, x)
Alpha 8bits
高质量alpha通道,不带颜色(KB, x)
ARGB bits
真彩色带alpha通道(KB, x)
RGBA bits
Unity使用 UnityVS+VS 调试脚本(转) UnityVS版本:UnityVS_1.8.2VS版本:VS旗舰版Unity3D版本:4.3.4安装步骤:1.如果之前安装过其它版本的UnityVS,请先卸载2.运行UnityVS.msi3.找到你安装visualstu
Unity CG 写一个超酷的 ray-marching(shader纯代码写3D) UnityCG写一个超酷的ray-marching(shader纯代码写3D)1.其实自从看了
左手linux+gdb,右手unity+vs,一个bit一个bit地去调试是种什么体验 做协议传输的时候,服务器发到客户端的数据协议解析的时候有部分内容丢失了,只好一个bit一个bit地去调试,想试试这是种什么苦的体验么~~·蛋疼,
标签: u3d怎么导入贴图
本文链接地址:https://www.jiuchutong.com/biancheng/369247.html 转载请保留说明!上一篇:Unity调用Android原生的震动(简单)(unity调用android方法)
友情链接: 武汉网站建设