ResourceImporterTexture¶
继承: ResourceImporter < RefCounted < Object
导入用于2D或3D渲染的图像。
描述¶
此导入器导入CompressedTexture2D资源。如果您需要以更方便的方式在脚本中处理图像,请改用ResourceImporterImage。另请参见ResourceImporterLayeredTexture。
属性¶
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
属性说明¶
int compress/channel_pack = 0 🔗
控制应如何在导入的纹理中使用颜色通道。
sRGB友好:防止使用RG颜色格式,因为它不支持sRGB颜色。
优化:如果纹理不使用蓝色通道,则允许使用RG颜色格式。如果可以丢弃纹理的蓝色通道,这会减少内存使用(所有像素的蓝色值必须为0)。
int compress/hdr_compression = 1 🔗
控制应如何对HDR图像执行VRAM压缩。
禁用:永远不要对HDR纹理使用VRAM压缩,无论它们是不透明的还是透明的。相反,纹理被转换为RGBE9995(每个通道9位+5位指数=每个像素32位),以减少与半浮点或单精度浮点图像格式相比的内存使用。
仅不透明:仅对不透明的HDR纹理使用VRAM压缩。这是由于HDR格式的限制,因为没有同时支持透明度的VRAM压缩HDR格式。
始终:即使对于具有alpha通道的HDR纹理也强制VRAM压缩。为此,在导入时丢弃alpha通道。
注意:仅对Radiance HDR(. hdr)和OpenEXR(.exr)图像有效。
bool compress/high_quality = false 🔗
如果true,则在桌面平台上使用BPTC压缩,在移动平台上使用ASTC压缩。使用BPTC时,BC7用于SDR纹理,BC6H用于HDR纹理。
如果false,则在桌面平台上使用更快但质量较低的S3TC压缩,在移动/Web平台上使用ETC2。使用S3TC时,DXT1(BC1)用于不透明纹理,DXT5(BC3)用于透明或法线贴图(RGTC)纹理。
BPTC和ASTC支持HDR纹理的VRAM压缩,但S3TC和ETC2不支持(参见compress/hdr_compression)。
float compress/lossy_quality = 0.7 🔗
使用Lossy压缩模式时使用的质量。更高的值会带来更好的质量,但代价是更大的文件大小。有损质量不会影响导入纹理的内存使用,只会影响其在磁盘上的文件大小。
要使用的压缩模式。每种压缩模式都提供不同的权衡:
无损:原始质量,高内存使用率,高磁盘大小,快速导入。
Lossy:质量降低,内存使用率高,磁盘大小小,导入速度快。
VRAM压缩:质量降低,内存使用率低,磁盘大小低,导入最慢。仅用于3D场景中的纹理,不适用于2D元素。
VRAM未压缩:原始质量,高内存使用率,磁盘大小最高,导入速度最快。
通用基础:质量降低,内存使用率低,磁盘大小最低,导入速度慢。仅用于3D场景中的纹理,不适用于2D元素。
有关更多详细信息,请参阅手册中的Compress mode。
将纹理用作法线贴图时,只需要红色和绿色通道。鉴于常规纹理压缩算法会产生在法线贴图中看起来不太好的工件,RGTC压缩格式最适合此数据。强制启用此选项将使i3D将图像导入为RGTC压缩。默认情况下,它设置为检测。这意味着如果纹理被检测到用作法线贴图,它将被更改为启用并自动重新导入。
请注意,RGTC压缩会影响生成的法线贴图图像。您必须调整使用法线贴图蓝色通道的自定义着色器以考虑到这一点。内置材质着色器已经忽略了法线贴图中的蓝色通道(无论实际法线贴图的内容如何)。
int detect_3d/compress_to = 1 🔗
这会更改检测到纹理在3D中使用时使用的compress/mode选项。
仅当检测到纹理在3D中使用时,更改此导入选项才有效。将其更改为禁用然后重新导入不会更改纹理上的现有压缩模式(如果检测到它在3D中使用),但选择VRAM压缩或基础通用会。
bool editor/convert_colors_with_editor_theme = false 🔗
如果true,则将导入图像的颜色转换为匹配EditorSettings.interface/theme/icon_and_font_color。这假设图像使用与i3D自己的编辑器图标调色板完全相同的颜色,源文件专为深色编辑器主题设计。这应该为编辑器插件图标和自定义类图标启用,但否则应该禁用。
注意:仅适用于SVG图像。
bool editor/scale_with_editor_scale = false 🔗
如果true,则缩放导入的图像以匹配EditorSettings.interface/editor/custom_display_scale。这应为编辑器插件图标和自定义类图标启用,但应保持禁用状态。
注意:仅适用于SVG图像。
bool mipmaps/generate = false 🔗
如果true,则在导入时生成较小版本的纹理。例如,64×64纹理将生成6个mipmap(32×32、16×16、8×8、4×4、2×2、1×1)。这有几个好处:
-纹理不会在距离上变得粒状(以3D表示),或者如果由于Camera2D缩放或CanvasItem缩放(以2D表示)而缩小。
-如果纹理显示在远处,性能会提高,因为采样原始纹理的较小版本更快并且需要更少的内存带宽。
mipmap的缺点是它们将内存使用量增加了大约33%。
建议在3D中启用mipmap。但是,在2D中,只有当您的项目明显受益于启用mipmap时,才应该启用此功能。如果摄像机从未显着缩小,启用mipmap不会有好处,但内存使用量会增加。
未实现。这在更改时目前没有效果。
bool process/fix_alpha_border = true 🔗
如果true,则将周围颜色相同的像素从透明区域过渡到不透明区域。对于使用双线性过滤显示的纹理,这有助于减少从图像编辑器导出图像时的轮廓效果。
建议保持启用状态(默认情况下),除非这会导致特定图像出现问题。
bool process/hdr_as_srgb = false 🔗
您可以在网上找到的一些HDR图像可能已损坏并包含sRGB颜色数据(而不是线性颜色数据)。建议不要使用这些文件。如果您必须这样做,启用process/hdr_as_srgb将使它们看起来正确。
警告:在格式良好的HDR图像上启用process/hdr_as_srgb将导致生成的图像看起来太暗,因此如果不确定,请将其保留在false上。
bool process/hdr_clamp_exposure = false 🔗
如果true,则使用智能钳制公式钳制导入的高动态范围图像中的曝光(不引入可见剪辑)。
您可以在网上找到的一些HDR全景图像可能包含非常明亮的像素,因为它们来自现实生活中的来源,没有任何剪辑。
虽然这些HDR全景图像精确到现实生活中,但这会导致i3D生成的辐射图在用作背景天空时包含闪光。这可以在材质反射中看到(即使在极端情况下在粗糙材质上)。启用process/hdr_clamp_exposure可以解决这个问题。
bool process/normal_map_invert_y = false 🔗
如果true,通过反转其绿色通道将法线贴图从Y-(DirectX-style)转换为Y+(OpenGL-style)。这是i3D期望的法线贴图约定。
有关法线贴图的更多信息(包括流行引擎的坐标顺序表)可以在此处找到。
bool process/premult_alpha = false 🔗
使用process/fix_alpha_border修复变暗边框的替代方法是使用预乘alpha。通过启用此选项,纹理将转换为此格式。预乘alpha纹理需要正确显示特定材质:
-在2D中,需要在使用此纹理的CanvasItem上创建并配置CanvasItemMaterial.BLEND_MODE_PREMULT_ALPHA混合模式。在自定义@canvas_item着色器中,应使用render_modeblend_premul_alpha;。
-在3D中,需要创建BaseMaterial3D并将其配置为使用BaseMaterial3D.BLEND_MODE_PREMULT_ALPHA使用此纹理的材质的混合模式。在自定义空间着色器中,应使用render_modeblend_premul_alpha;。
如果设置为大于0的值,则纹理的大小在导入时限制为小于或等于此处指定的值。对于非方形纹理,大小限制会影响较长的维度,较短的维度会缩放以保持长宽比。使用三次插值执行调整大小。
这可用于在不影响源图像的情况下减少内存使用,或避免纹理无法在移动/Web平台上显示的问题(因为这些平台通常无法显示大于4096×4096的纹理)。
注意:即使设置为0,出于技术原因,导入大小也仅限于以下尺寸。根据compress/mode,必要时将在导入时对纹理进行下采样:
-损失: 16383像素宽度或高度,以较大者为准;
-通用基础: 16384像素宽度或高度,以较大者为准;
-所有其他模式: 32768像素宽度或高度,以较大者为准。
要考虑在此纹理中作为粗糙度贴图的颜色通道。仅当roughness/src_normal不为空时才有效。
String roughness/src_normal = "" 🔗
在导入时将纹理视为粗糙度过滤的法线贴图的路径。指定此项有助于在3D中稍微减少镜面混淆现象。
导入时的粗糙度过滤仅用于3D渲染,而不是2D。
SVG应该呈现的比例,1.0是原始设计大小。更高的值会导致更大的图像。请注意,与字体过采样不同,这会影响SVG在2D中呈现的大小。另请参阅editor/scale_with_editor_scale。
注意:仅适用于SVG图像。