赞
踩
选择要创建的纹理类型。
使用“纹理类型”属性选择要从源图像文件创建的纹理类型。“纹理导入”设置窗口中的其他属性会根据您设置的值而变化。
以下是可用于在Inspector(检测器)窗口 Unity 中配置各种纹理类型的属性。
Default(默认类型)是用于所有纹理的最常见纹理类型。它提供对纹理导入的大多数属性的访问。使用此纹理类型,还可以更改“纹理形状”属性以定义Texture Shape(纹理形状)。
使用Texture Shape(纹理形状)属性可以选择和定义纹理的形状和结构。有四种形状类型
2D 是所有纹理的最常见设置;它将图像文件定义为 2D 纹理。这些用于将纹理映射到 3D 网格和 GUI 元素,以及其他项目元素。
Cube 立方体将纹理定义为a cubemap.立方体贴图。您可以将其用于Skybox或反射探头
例如。此类型仅适用于默认、法线贴图和单通道纹理类型。
支持几种常用的立方体贴图布局(在大多数情况下,Unity 会自动检测它们)。
2D 数组将纹理定义为 2D 数组纹理。这通常用作某些渲染技术的优化,其中使用许多相同大小和格式的纹理.
Shader "Example/Sample2DArrayTexture"
{
Properties
{
_MyArr ("Tex", 2DArray) = "" {}
_SliceRange ("Slices", Range(0,16)) = 6
_UVScale ("UVScale", Float) = 1.0
}
SubShader
{
Pass
{
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
// texture arrays are not available everywhere,
// only compile shader on platforms where they are
#pragma require 2darray
#include "UnityCG.cginc"
struct v2f
{
float3 uv : TEXCOORD0;
float4 vertex : SV_POSITION;
};
float _SliceRange;
float _UVScale;
v2f vert (float4 vertex : POSITION)
{
v2f o;
o.vertex = mul(UNITY_MATRIX_MVP, vertex);
o.uv.xy = (vertex.xy + 0.5) * _UVScale;
o.uv.z = (vertex.z + 0.5) * _SliceRange;
return o;
}
UNITY_DECLARE_TEX2DARRAY(_MyArr);
half4 frag (v2f i) : SV_Target
{
return UNITY_SAMPLE_TEX2DARRAY(_MyArr, i.uv);
}
ENDCG
}
}
}
3D 将纹理定义为 3D 纹理。某些渲染技术使用 3D 纹理来表示体积数据。
3D 纹理是一种位图图像,它包含三维信息,而不是标准的二维信息。3D 纹理通常用于模拟体积效果(如雾或烟雾),以近似体积 3D网孔
,或存储动画纹理并在它们之间平滑混合。
using UnityEditor;
using UnityEngine;
public class ExampleEditorScript : MonoBehaviour
{
[MenuItem("CreateExamples/3DTexture")]
static void CreateTexture3D()
{
// Configure the texture
int size = 32;
TextureFormat format = TextureFormat.RGBA32;
TextureWrapMode wrapMode = TextureWrapMode.Clamp;
// Create the texture and apply the configuration
Texture3D texture = new Texture3D(size, size, size, format, false);
texture.wrapMode = wrapMode;
// Create a 3-dimensional array to store color data
Color[] colors = new Color[size * size * size];
// Populate the array so that the x, y, and z values of the texture will map to red, blue, and green colors
float inverseResolution = 1.0f / (size - 1.0f);
for (int z = 0; z < size; z++)
{
int zOffset = z * size * size;
for (int y = 0; y < size; y++)
{
int yOffset = y * size;
for (int x = 0; x < size; x++)
{
colors[x + yOffset + zOffset] = new Color(x * inverseResolution,
y * inverseResolution, z * inverseResolution, 1.0f);
}
}
}
// Copy the color values to the texture
texture.SetPixels(colors);
// Apply the changes to the texture and upload the updated texture to the GPU
texture.Apply();
// Save the texture to your Unity Project
AssetDatabase.CreateAsset(texture, "Assets/Example3DTexture.asset");
}
}
选择法线贴图将颜色通道转换为适合实时法线贴图的格式。使用此纹理类型,还可以更改Texture Shape(纹理形状)属性以定义纹理形状。
如果您在任何 HUD 或 GUI 控件上使用纹理,请选择编辑器 GUI 和旧版 GUI。对于此纹理类型,Texture Shape(纹理形状)属性始终设置为 2D。
选择精灵(2D 和 UI),如果您在 2D 游戏中将纹理用作精灵
.对于此纹理类型,Texture Shape(纹理形状)属性始终设置为 2D。
选择“光标”以将纹理用作自定义光标。对于此纹理类型,“纹理形状”属性始终设置为 2D。
选择“Cookie”以使用内置中用于 Cookie 的基本参数设置纹理渲染管线
.使用此纹理类型,Unity 会根据所选光源类型自动更新纹理形状属性.
Directional(平行光)和 Spotlight(聚光灯)的 Cookie 始终是 2D 纹理(2D 形状类型)。
Point Light(点光源)的Cookie 必须是cubemaps(立方体贴图)
(立方体形状类型)。
选择光照贴图
如果您将纹理用作光照贴图。此选项允许编码为特定格式(RGBM 或 dLDR,具体取决于平台)和后处理
踏上纹理数据(推拉膨胀通道)。对于此纹理类型,“纹理形状”属性始终设置为 2D。
如果纹理中只需要一个通道,请选择单通道。
参考1.1.1
指定纹理将数据存储在 sRGB(也称为灰度系数)色彩空间中。仅当项目使用线性色彩空间时,此设置才相关。如果启用,它将指示 GPU 在着色器中对纹理进行采样时将数据从 sRGB 颜色空间转换为线性颜色空间。
为存储常规颜色数据的非 HDR 纹理启用此选项。对包含非颜色数据(如平滑度或金属度)的纹理禁用此功能。
对于 HDR 纹理,Unity 默认禁用此值并隐藏复选框。对于非 HDR 纹理,Unity 默认启用此功能。
指定如何生成纹理的 Alpha 通道。默认情况下,此选项设置为“无”。
导入的纹理没有 Alpha 通道,无论输入纹理是否有 Alpha 通道。
如果提供了纹理,这将使用输入纹理中的 alpha。
这将根据输入纹理 RGB 值的平均值(平均值)生成 alpha。
启用此属性可扩展颜色并避免过滤边缘上的伪影(如果指定的 Alpha 通道为“透明度”。
为使用透明度(将彩色像素与白色混合)的 Photoshop 文件启用特殊处理。
注意:这仅适用于 PSD 文件
启用此属性可忽略 PNG 文件中的 Gamma 属性。此属性不会影响其他文件格式
如果纹理具有非二次幂 (NPOT) 维度大小,这将定义导入时的缩放行为。有关两种大小的非幂的更多信息,请参阅有关导入纹理的文档。默认情况下,此选项设置为“无”。
纹理尺寸保持不变。
在导入时将纹理缩放到最接近的二次幂尺寸。例如,257x511 像素的纹理缩放为 256x512 像素。请注意,PVRTC 格式要求纹理为正方形(即宽度等于高度),因此最终尺寸大小将放大为 512x512 像素。
将纹理缩放到导入时最大尺寸值的二维尺寸的二次方。例如,257x511像素的纹理缩放为 512x512 像素。
将纹理缩放到导入时最小尺寸值的二维尺寸的二次方。例如,257x511像素的纹理缩放为 256x256 像素。
启用此属性以使用 Texture2D.SetPixels、Texture2D.GetPixel 和其他 Texture2D 方法从脚本访问纹理数据。在内部,Unity 使用纹理数据的副本进行脚本访问,这使纹理所需的内存量翻倍。因此,默认情况下禁用此属性,仅当需要脚本访问权限时,才应启用此属性。有关详细信息,请参阅纹理 2D。
启用此属性以仅将纹理与虚拟纹理的纹理堆栈结合使用。启用后,不保证纹理在播放机中可用作 Texture2D(即无法从脚本访问)。禁用后,播放机会将纹理作为 Texture2D(可从脚本访问)和作为纹理堆栈中的可流式纹理包含在内。
启用此属性可在此纹理上使用 Mip 贴图流处理。此设置对 Unity 使用网格渲染器显示的 3D 环境中的任何纹理都有效。漫反射纹理、法线贴图和光照贴图都对 Mip 贴图流送有效。
使用它来设置 mipmap 的优先级。Unity 使用它来确定在分配资源时要优先考虑哪些 mipmap。值越高表示优先级越高(例如,3 表示优先级高于 1)。此设置仅在启用流式 Mip 映射时可用。
Mip 贴图优先级编号也是内存预算的 mipmap 偏移量(在启用纹理流处理时在质量设置中设置)。例如,优先级为 2 时,Mip 贴图流处理系统尝试使用优先级为 0 的纹理高两个 mip 级别的 mipmap。每个轴高一个 mip 级别是 2 倍,每个轴高出两个级别是 4 倍,因此高两个 mip 级别会导致纹理大 16 倍。如果无法执行此操作,则使用较低的 mip 级别来适应内存预算。负值也是有效的。
有关更多详细信息,请参阅 Mip Map 流式处理 API。
启用此属性可启用 mip 映射生成。Mip 贴图是纹理的较小版本,当纹理在屏幕上非常小时使用。有关 mip 贴图的更多信息,请参阅有关导入纹理的文档。
警告: 每次选择新的纹理类型时,此属性将恢复为新纹理类型的默认值(如果已定义)。请参阅纹理类型以查找每种类型的此属性默认值。
启用此属性可避免颜色渗出到较低 MIP 级别的边缘。用于light cookies。默认情况下,此属性处于禁用状态。
仅在启用“生成 Mip 映射”时可用。
有两种 mipmap 过滤方法可用于优化图像质量。默认选项为 Box。
仅在启用“生成 Mip 映射”时可用。
这是淡出 mipmap 的最简单方法。MIP 级别随着尺寸大小的减小而变得更加平滑。
锐化算法在 mipmap 尺寸减小时运行。如果您的纹理在远处太模糊,请尝试此选项。(该算法属于 Kaiser 窗口类型;有关更多信息,请参阅维基百科)
如果您希望生成的 mipmap 的 alpha 通道在 alpha 测试期间保留覆盖范围,请启用此属性。
设置用于在 alpha 测试期间控制 Mip 地图覆盖范围的参考值。
启用此属性可使 mipmap 随着 MIP 级别的进行而淡入灰色。这用于详细地图。最左边的卷轴是第一个开始淡出的 MIP 级别。最右侧的滚动定义了纹理完全灰显的 MIP 级别。
仅在启用“生成 Mip 映射”时可用。
###13 Wrap Mode (环绕模式)
选择纹理在平铺时的行为方式。默认选项为Repeat (重复)。
在拼贴中重复纹理。
拉伸纹理的边缘。
在每个整数边界处镜像纹理以创建重复图案。
镜像纹理一次,然后将其固定到边缘像素。
注意:某些移动设备不支持“镜像一次”模式。在这种情况下,Unity 会改用Mirror(镜像)模式。
选择此选项可单独控制 Unity 如何在 U 轴和 V 轴上包装纹理。
选择在纹理被 3D 变换拉伸时如何过滤纹理。默认选项为 Bilinear (双线性)。
纹理在近距离显示块状。
纹理在近距离显示模糊。
与双线性一样,但纹理在不同的MIP级别之间也模糊不清。
以陡峭角度查看纹理时提高纹理质量。各向异性过滤适用于地板和地面纹理,但性能成本很高。
设置导入的最大纹理尺寸像素
.艺术家通常更喜欢使用巨大的尺寸纹理,但您可以将纹理缩小到合适的尺寸。
选择一种算法,以便在纹理尺寸大于指定的最大大小时缩小纹理。
绕过自动系统以指定要用于纹理的内部表示。可用格式的列表取决于平台和纹理类型。
注意:即使您不覆盖平台,此选项也会显示自动系统选择的格式。此属性仅在覆盖特定平台时可用,而不是作为默认设置。
选择纹理的压缩类型。这有助于 Unity 为纹理选择正确的压缩格式。根据平台和压缩格式的可用性,不同的设置最终可能会使用相同的内部格式。例如,低质量压缩会影响移动平台,但不会影响桌面平台
如果适用,请使用紧缩压缩。Crunch 是 DXT 或 ETC 之上的一种有损压缩格式纹理压缩
.Unity 将纹理解压缩到 CPU 上的 DXT 或 ETC,然后在运行时将它们上传到 GPU。紧缩压缩有助于纹理使用尽可能少的磁盘空间量和下载空间。压缩压缩纹理可能需要很长时间,但运行时解压缩非常快。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。