找回密碼
 注冊帳號

掃一掃,訪問微社區

二維紋理(texture2d)

2015-1-7 04:01| 發布者: 楊炎| 查看: 1710| 評論: 0|原作者: 蠻牛|來自: unity3d腳本manual

摘要: 二維紋理 (texture 2d)紋理 (textures)使您的網格 (meshes)、粒子 (particles)和界面變得生動!它們是您覆蓋或環繞對象的圖像或電影文件。因為它們如此重要,所以具有許多屬性。如果是首次閱讀此內容,請向下跳轉到 ...

二維紋理 (texture 2d)

紋理 (textures)使您的網格 (meshes)粒子 (particles)界面變得生動!它們是您覆蓋或環繞對象圖像或電影文件。因為它們如此重要,所以具有許多屬性。如果是首次閱讀此內容,請向下跳轉到詳細信息,在需要參考時返回實際設置。

用于對象的著色器對所需紋理具有特定要求,但是基本原則是可以將任何圖像文件置于工程中。如果它滿足大小要求(下面指定),則會進行導入并優化以供游戲使用。這可擴展到多層 photoshop 或 tiff 文件 - 這些文件會在導入時進行平展,因此對游戲沒有大小方面的不利影響。請注意,這種平展在 unity 內部進行,是可選的,因此可以繼續在層保持不變的情況下保存和導入 psd 文件。換句話說,psd 文件不進行平展。

屬性

紋理檢視器 (inspector)的外觀與大多數其他檢視器 (inspector) 稍有不同:

該檢視器 (inspector) 拆分為兩個部分,即紋理導入器 (texture importer)和紋理預覽。

紋理導入器 (texture importer)

紋理全部來自“工程”(project) 文件夾中的圖像文件。其導入方式通過紋理導入器 (texture importer)進行指定。可以通過在工程視圖 (project view)中選擇紋理文件并在檢視器 (inspector)中修改紋理導入器 (texture importer),來更改這些內容。

檢視器 (inspector) 中的最頂層項目是紋理類型 (texture type)菜單,使用該菜單可以從源圖像文件中選擇所需創建的紋理類型。

屬性:

功能:

紋理類型 (texture type)

選擇此項可根據紋理用途設置基本參數。

紋理 (texture)

這是通常用于所有紋理的最常見設置。

法線貼圖 (normal map)

選擇此項可將顏色通道轉變為適用于實時法線貼圖 (normal mapping) 的格式。有關更多信息,請參閱法線貼圖 (normal map)。

圖形用戶界面 (gui)

如果紋理將在任何 hud/gui 控件上使用,則使用此項。

反射 (reflection)

也稱為“立方體貼圖”(cube map),用于在紋理上創建反射。有關更多信息,請查看立方體貼圖 (cubemap) 紋理。

投射 (cookie)

這通過用于燈光投射 (cookie) 的基本參數設置紋理。

高級 (advanced)

當希望紋理具有特定參數以及希望完全控制紋理時,選擇此項。

選擇的基本紋理設置

從灰度生成 alpha (alpha from grayscale)

如果啟用,則會通過圖像亮和暗的現有值生成 alpha 透明通道。

循環模式 (wrap mode)

選擇紋理在鋪設時的行為方式:

重復 (repeat)

紋理重復(鋪設)自己

拉伸 (clamp)

紋理邊緣進行拉伸

過濾模式 (filter mode)

選擇紋理經三維變換拉伸時的過濾方式:

點 (point)

紋理在近距離變成塊狀

雙線性 (bilinear)

紋理在近距離變得模糊

三線性 (trilinear)

類似雙線性,但紋理也在不同的紋理層次之間變模糊

各向異性等級 (aniso level)

在一個陡峭的角度觀看紋理時提高紋理的質量。適用于地板和地面紋理,請參閱下文。

紋理導入器”(texture importer) 中的法線貼圖 (normal map) 設置

從灰度創建 (create from greyscale)

如果啟用此項,則會顯示“凹凸”(bumpiness) 和“過濾”(filtering) 選項。

凹凸 (bumpiness)

控制凹凸量。

過濾 (filtering)

確定如何計算凹凸:

平滑 (smooth)

這會生成十分平滑的法線貼圖 (normal map)。

尖銳 (sharp)

也稱為 sobel 過濾器。這會生成比標準更尖銳的法線貼圖 (normal map)。

循環模式 (wrap mode)

選擇紋理在鋪設時的行為方式:

重復 (repeat)

紋理重復(鋪設)自己

拉伸 (clamp)

紋理邊緣進行拉伸

過濾模式 (filter mode)

選擇紋理經三維變換拉伸時的過濾方式:

點 (point)

紋理在近距離變成塊狀

雙線性 (bilinear)

紋理在近距離變得模糊

三線性 (trilinear)

類似雙線性,但紋理也在不同的紋理層次之間變模糊

各向異性等級 (aniso level)

在一個陡峭的角度觀看紋理時提高紋理的質量。適用于地板和地面紋理,請參閱下文。

gu紋理導入器 (texture importer) 中的圖形用戶界面(gui) 設置

過濾模式 (filter mode)

選擇紋理經三維變換拉伸時的過濾方式:

點 (point)

紋理在近距離變成塊狀

雙線性 (bilinear)

紋理在近距離變得模糊

三線性 (trilinear)

類似雙線性,但紋理也在不同的紋理層次之間變模糊

紋理導入器 (texture importer) 中的光標 (cursor) 設置

循環模式 (wrap mode)

選擇紋理在鋪設時的行為方式:

重復 (repeat)

紋理重復(鋪設)自己

拉伸 (clamp)

紋理邊緣進行拉伸

過濾模式 (filter mode)

選擇紋理經三維變換拉伸時的過濾方式:

點 (point)

紋理在近距離變成塊狀

雙線性 (bilinear)

紋理在近距離變得模糊

三線性 (trilinear)

類似雙線性,但紋理也在不同的紋理層次之間變模糊

紋理導入器 (texture importer) 中的反射 (reflection) 設置

貼圖 (mapping)

這確定如何將紋理貼圖到立方體貼圖 (cubemap)。

球體貼圖 (sphere mapped)

將紋理貼圖到“類似于球體”的立方體貼圖 (cubemap)。

圓柱體 (cylindrical)

將紋理貼圖到圓柱體,當要在類似于圓柱體的對象上使用反射時,請使用此項。

簡單球體 (simple sphere)

將紋理貼圖到簡單球體,從而使反射在旋轉時變形。

完美球體 (nice sphere)

將紋理貼圖到簡單球體,從而使其在旋轉時變形,但是您仍可看到紋理的循環

6 幀布局 (6 frames layout)

紋理包含采用標準立方體貼圖 (cubemap) 布局(交叉或順序 (+x -x +y -y +z -z))之一排列的六個圖像,這些圖像可以處于水平或垂直方向。

固定邊緣對接處 (fixup edge seams

消除貼圖圖像連接邊緣處的視覺假象(在使用光澤反射時可見)。

過濾模式 (filter mode)

選擇紋理經三維變換拉伸時的過濾方式:

點 (point)

紋理在近距離變成塊狀

雙線性 (bilinear)

紋理在近距離變得模糊

三線性 (trilinear)

類似雙線性,但紋理也在不同的紋理層次之間變模糊

各向異性等級 (aniso level)

在一個陡峭的角度觀看紋理時提高紋理的質量。適用于地板和地面紋理,請參閱下文。

向場景添加許多視覺細節的一個有趣方法是使用投射 (cookie)- 用于控制游戲中光照精確外觀的灰度紋理。這是創造移動的云彩和提供茂密植物印象的奇妙方法。光 (light)頁面包含有關此內容所有方面的更多信息,但是主要的一點在于,要使紋理可用于投射 (cookie),只需將紋理類型 (texture type)置為“投射”(cookie)。

“紋理導入器”(texture importer) 中的“投射”(cookie) 設置

光類型 (light type)

將對紋理應用的光類型。(這可以為“聚光燈”(spotlight)、“點”(point) 或“定向光”(directional lights))。對于“定向光”(directional lights),此紋理將進行鋪設,因此在紋理檢視器 (inspector) 中,必須將“邊緣模式”(edge mode) 設置為重復 (repeat;對于“聚光燈”(spotlights),應使投射 (cookie) 紋理的邊緣保持為純黑,以便獲得正確效果。在紋理檢視器 (inspector) 中,將“邊緣模式”(edge mode) 設置為拉伸 (clamp)``。

貼圖 (mapping)

(僅限“點”(point) 光)用于將紋理貼圖到點光的球形投射上的選項。

球體貼圖 (sphere mapped)

將紋理貼圖到“類似于球體”的立方體貼圖 (cubemap)。

圓柱體 (cylindrical)

將紋理貼圖到圓柱體,當要在類似于圓柱體的對象上使用反射時,請使用此項。

簡單球體 (simple sphere)

將紋理貼圖到簡單球體,從而使反射在旋轉時變形。

完美球體 (nice sphere)

將紋理貼圖到簡單球體,從而使其在旋轉時變形,但是您仍可看到紋理的循環

6 幀布局 (6 frames layout)

紋理包含采用標準立方體貼圖 (cubemap) 布局(交叉或順序 (+x -x +y -y +z -z))之一排列的六個圖像,這些圖像可以處于水平或垂直方向。

固定邊緣對接處 (fixup edge seams)

(僅限“點”(point) 光)消除貼圖圖像連接邊緣處的視覺假象。

從灰度生成 alpha (alpha from greyscale)

如果啟用,則會通過圖像亮和暗的現有值生成 alpha 透明通道。

“紋理導入器”(texture importer) 中的“光照貼圖”(lightmap) 設置

過濾模式 (filter mode)

選擇紋理經三維變換拉伸時的過濾方式:

點 (point)

紋理在近距離變成塊狀

雙線性 (bilinear)

紋理在近距離變得模糊

三線性 (trilinear)

類似雙線性,但紋理也在不同的紋理層次之間變模糊

各向異性等級 (aniso level)

在一個陡峭的角度觀看紋理時提高紋理的質量。適用于地板和地面紋理,請參閱下文。

“高級紋理導入器設置”(advanced texture importer settings) 對話框

非2 的冪 (non power of 2)

如果紋理的大小不是二的冪,則此項會定義導入時的縮放行為(有關更多信息,請參閱下面的紋理大小 (texture sizes)部分):

無 (none)

紋理大小保持原樣。

最接近 (to nearest)

紋理將在導入時縮放為最接近的二的冪大小。例如 257x511 將變為 256x512。請注意,pvrtc 格式要求紋理為方形(寬度等于高度),因此最終大小將放大為 512x512。

較大 (to larger)

紋理將在導入時放大為下一個較大的二的冪大小。例如 257x511 將變為 512x512。

較小 (to smaller)

紋理將在導入時縮小為下一個較小的二的冪大小。例如 257x511 將變為 256x256。

生成立方體貼圖 (generate cube map)

使用不同生成方法從紋理生成立方體貼圖 (cubemap)。

球體貼圖 (spheremap)

將紋理貼圖到“類似于球體”的立方體貼圖 (cubemap)。

圓柱體 (cylindrical)

將紋理貼圖到圓柱體,當要在類似于圓柱體的對象上使用反射時,請使用此項。

簡單球體貼圖 (simplespheremap)

將紋理貼圖到簡單球體,從而使反射在旋轉時變形。

完美球體貼圖 (nicespheremap)

將紋理貼圖到簡單球體,從而使其在旋轉時變形,但是您仍可看到紋理的循環

垂直面 (facesvertical)

紋理包含的立方體的六個面按 +x -x +y -y +z -z 的順序以垂直條狀排列。

水平面 (faceshorizontal)

紋理包含的立方體的六個面按 +x -x +y -y +z -z 的順序以水平條狀排列。

垂直交叉 (crossvertical)

紋理包含的立方體的六個面按垂直交叉排列。

水平交叉 (crosshorizontal)

紋理包含的立方體的六個面按水平交叉排列。

啟用讀/寫 (read/write enabled)

s選擇此項可啟用從腳本對紋理數據的訪問(getpixels、setpixels 和其他texture2d功能)。不過請注意,將創建紋理數據的副本,從而使紋理資源所需的內存量加倍。僅當絕對需要時才使用。這僅對未壓縮和 dtx 壓縮紋理有效,無法讀取其他類型的壓縮紋理。默認情況下會禁用。

導入類型 (import type)

解釋圖像數據的方式。

默認 (default)

標準紋理。

法線貼圖 (normal map)

將紋理視為法線貼圖 (normal map)(啟用其他選項)

光照貼圖 (lightmap)

將紋理視為光照貼圖 (lightmap)(禁用其他選項)

從灰度生成 alpha (alpha from grayscale)

(僅限默認模式)從圖像中的亮度信息生成 alpha 通道

從灰度創建 (create from grayscale)

(僅限法線貼圖 (normal map) 模式)從圖像中的亮度信息創建貼圖

繞過 srgb 采樣 (bypass srgb sampling)

((僅限默認模式)使用圖像中的精確顏色值而不是補償伽馬(當紋理不是用于gui 或用作非圖像數據的編碼方式時十分有用)

生成 mip map (generate mip maps)

選擇此項可啟用 mip-map 生成。mip map 是當紋理在屏幕上非常小時使用的較小版本紋理。有關更多信息,請參閱下面的mip maps。

線性空間中 (in linear space)

在線性顏色空間中生成 mipmap。

限定 mip map (border mip maps)

選擇此項可避免顏色滲入到較低紋理層次的邊緣。用于燈光投射 (light cookie)(請參閱下文)。

mip map 過濾 (mip map filtering)

提供了兩種 mip map 過濾方式來優化圖像質量:

盒 (box)

淡出 mipmap 的最簡單方式 - 紋理層次隨著大小縮小而變得越來越平滑。

kaiser

在 mip map 大小縮小時,對其運行銳化 kaiser 算法。如果紋理在遠處太模糊,請嘗試此選項。

淡出 mipmap (fade out mipmaps)

啟用此項可使 mipmap 隨著紋理層次推進淡變為灰色。這用于細節貼圖 (detail map)。最左側滾軸是開始淡出的第一個紋理層次。最右側滾軸定義紋理完全變灰時的紋理層次

循環模式 (wrap mode)

選擇紋理在鋪設時的行為方式:

重復 (repeat)

紋理重復(鋪設)自己

拉伸 (clamp)

紋理邊緣進行拉伸

過濾模式 (filter mode)

選擇紋理經三維變換拉伸時的過濾方式:

點 (point)

紋理在近距離變成塊狀

雙線性 (bilinear)

紋理在近距離變得模糊

三線性 (trilinear)

類似雙線性,但紋理也在不同的紋理層次之間變模糊

各向異性等級 (aniso level)

在一個陡峭的角度觀看紋理時提高紋理的質量。適用于地板和地面紋理,請參閱下文。

各平臺覆蓋

針對不同平臺進行編譯時,必須考慮紋理針對目標平臺的分辨率、大小和質量。可以設置默認選項,然后為特定平臺覆蓋默認設置

所有平臺的默認設置。

最大紋理大小 (max texture size)

導入的最大紋理大小。設計師通常喜歡使用巨大的紋理 - 使用此項可將紋理縮小為合適大小。

紋理格式 (texture format)

用于紋理的內部表示方法。這是大小與質量之間的權衡。在下面的示例中,我們展示了一個 256 x 256 像素的游戲中紋理的最終大小:

壓縮 (compressed)

壓縮 rgb 紋理。這是漫反射紋理的最常見格式。每像素 4 位(256x256 紋理 32 kb)。

16 位 (16 bit)

低質量真彩色。具有 16 個級別的紅色、綠色、藍色和 alpha。

真彩色 (truecolor)

真彩色,這是最高質量。對于 256x256 紋理為 256 kb。

如果將紋理類型 (texture type)設置為高級 (advanced),則紋理格式 (texture format) 具有不同值。

桌面!

紋理格式 (texture format)

用于紋理的內部表示方法。這是大小與質量之間的權衡。在下面的示例中,我們展示了一個 256 x 256 像素的游戲中紋理的最終大小:

rgb 壓縮 dxt1 (rgb compressed dxt1)

壓縮 rgb 紋理。這是漫反射紋理的最常見格式。每像素 4 位(256x256 紋理 32 kb)。

rgb 壓縮 dxt5 (rgb compressed dxt5)

壓縮 rgba 紋理。這是用于漫反射和高光控制紋理的主要格式。1 字節/像素(256x256 紋理 64 kb)。

rgb 16 位 (rgb 16 bit)

65000 種顏色,無 alpha。壓縮 dxt 格式使用的內存較少,通常顯示效果較好。256x256 紋理 128 kb。

rgrgb 24 位 (rgb 24 bit)

真彩色,但是無 alpha。256x256 紋理 192 kb。

alpha 8 位 (alpha 8 bit)

高質量 alpha 通道,但是無任何顏色。256x256 紋理 64 kb。

rgba 16 位 (rgba 24 bit)

低質量真彩色。具有 16 個級別的紅色、綠色、藍色和 alpha。壓縮 dxt5 格式使用的內存較少,通常顯示效果較好。256x256 紋理 128 kb。

32 位格式的 rgba 壓縮 (rgba 32 bit)

帶 alpha 的真彩色 - 這是最高質量。對于 256x256 紋理為 256 kb,此成本很高。大多數時候,dxt5可提供足夠質量,但大小卻小得多。此項的主要使用方式是用于法線貼圖 (normal map),因為這種情況下的 dxt 壓縮通常會帶來明顯的質量損失。

ios

紋理格式 (texture format)

用于紋理的內部表示方法。這是大小與質量之間的權衡。在下面的示例中,我們展示了一個 256 x 256 像素的游戲中紋理的最終大小:

pvrtc 4 位格式的 rgb 壓縮 (rgb compressed pvrtc 4 bits)

壓縮 rgb 紋理。這是漫反射紋理的最常見格式。每像素 4 位(256x256 紋理 32 kb)

rgba 壓縮 pvrtc 4 位 (rgba compressed pvrtc 4 bits)

壓縮 rgba 紋理。這是用于漫反射和高光控制紋理或是透明的漫反射紋理的主要格式。每像素 4 位(256x256 紋理 32 kb)

pvrtc 2 位格式的 rgb 壓縮 (rgb compressed pvrtc 2 bits)

壓縮 rgb 紋理。適用于漫反射紋理的低質量格式。每像素 2 位(256x256 紋理 16 kb)

rgba 壓縮 pvrtc 2 位 (rgba compressed pvrtc 2 bits)

壓縮 rgba 紋理。適用于漫反射和高光控制紋理的低質量格式。每像素 2 位(256x256 紋理 16 kb)

rgb 壓縮 dxt1 (rgb compressed dxt1)

壓縮 rgb 紋理。ios 上不支持此格式,但是保留用于與桌面工程向后兼容。

rgb 壓縮 dxt5 (rgb compressed dxt5)

壓縮 rgba 紋理。ios 上不支持此格式,但是保留用于與桌面工程向后兼容。

rgb 16 bit

65000 種顏色,無 alpha。使用的內存多于 pvrtc 格式,但是可能更適用于不帶梯度的 ui 或卷曲紋理。256x256 紋理 128 kb。

rgb 24 位 (rgb 24 bit)

真彩色,但是無 alpha。256x256 紋理 192 kb。

alpha 8 位 (alpha 8 bit)

高質量 alpha 通道,但是無任何顏色。256x256 紋理 64 kb。

16 位格式的 rgba 壓縮 (rgba 16 bit)

低質量真彩色。具有 16 個級別的紅色、綠色、藍色和 alpha。使用的內存多于 pvrtc 格式,但是在需要精確 alpha 通道時可能比較方便。256x256 紋理 128 kb。

32 位格式的 rgba 壓縮 (rgba 32 bit)

帶 alpha 的真彩色 - 這是最高質量。對于 256x256 紋理為 256 kb,此成本很高。大多數時候,pvrtc格式可提供足夠質量,但大小卻小得多。|

壓縮質量 (compression quality)

選擇“快速”(fast) 可實現最快性能,選擇“最佳”(best) 可實現最佳圖像質量,選擇“普通”(normal) 可實現兩者之間的平衡。

android

紋理格式 (texture format)

用于紋理的內部表示方法。這是大小與質量之間的權衡。在下面的示例中,我們展示了一個 256 x 256 像素的游戲中紋理的最終大小:

rgb 壓縮 dxt1 (rgb compressed dxt1)

壓縮 rgb 紋理。受 nvidia tegra 支持。每像素 4 位(256x256 紋理 32 kb)。

rgb 壓縮 dxt5 (rgb compressed dxt5)

壓縮 rgba 紋理。受 nvidia tegra 支持。每像素 6 位(256x256 紋理 64 kb)。

rgb 壓縮 etc 4 位 (rgb compressed etc 4 bits)

壓縮 rgb 紋理。這是安卓 (android) 工程的默認紋理格式。etc1 屬于 opengl es 2.0,受所有 opengl es 2.0 gpu 支持。它不支持 alpha。每像素 4 位(256x256 紋理 32 kb)

pvrtc 2 位格式的 rgb 壓縮 (rgb compressed pvrtc 2 bits)

壓縮 rgb 紋理。受 imagination powervr gpu 支持。每像素 2 位(256x256 紋理 16 kb)

rgba 壓縮 pvrtc 2 位 (rgba compressed pvrtc 2 bits)

壓縮 rgba 紋理。受 imagination powervr gpu 支持。每像素 2 位(256x256 紋理 16 kb)

pvrtc 4 位格式的 rgb 壓縮 (rgb compressed pvrtc 4 bits)

壓縮 rgb 紋理。受 imagination powervr gpu 支持。每像素 4 位(256x256 紋理 32 kb)

rgba 壓縮 pvrtc 4 位 (rgba compressed pvrtc 4 bits)

壓縮 rgba 紋理。受 imagination powervr gpu 支持。每像素 4 位(256x256 紋理 32 kb)

rgb 壓縮 atc 4 位 (rgb compressed atc 4 bits)

壓縮 rgb 紋理。受 qualcomm snapdragon 支持。每像素 4 位(256x256 紋理 32 kb)。

atc 8 位格式的 rgba 壓縮 (rgba compressed atc 8 bits)

壓縮 rgba 紋理。受 qualcomm snapdragon 支持。每像素 6 位(256x256 紋理 64 kb)。

rgb 16 位 (rgb 16 bit)

65000 種顏色,無 alpha。使用的內存多于壓縮格式,但是可能更適用于不帶梯度的 ui 或卷曲紋理。256x256 紋理 128 kb。

rgb 24 位 (rgb 24 bit)

真彩色,但是無 alpha。256x256 紋理 192 kb。

alpha 8 位 (alpha 8 bit)

高質量 alpha 通道,但是無任何顏色。256x256 紋理 64 kb。

16 位格式的 rgba 壓縮 (rgba 16 bit)

低質量真彩色。帶 alpha 通道的紋理的默認壓縮。256x256 紋理 128 kb。

32 位格式的 rgba 壓縮 (rgba 32 bit)

帶 alpha 的真彩色 - 這是帶 alpha 的紋理的最高質量壓縮。256x256 紋理 256 kb。

comp壓縮質量 (compression quality)

選選擇“快速”(fast) 可實現最快性能,選擇“最佳”(best) 可實現最佳圖像質量,選擇“普通”(normal) 可實現兩者之間的平衡。

除非您以特定硬件(如 tegra)為目標,否則建議使用 etc1 壓縮。如果需要,可以存儲外部 alpha 通道,仍可受益于較小的紋理體積。如果絕對需要在紋理中存儲 alpha 通道,則“16 位格式的 rgba 壓縮 (rgba 16 bit)” 是所有硬件供應商都支持的壓縮。

紋理可以從 dds 文件導入,但是當前僅支持 dxt 或未壓縮像素格式。

如果您的應用程序使用不支持的紋理壓縮,則紋理會解壓縮為 rgba 32 并隨壓縮紋理一起存儲在內存中。因此在這種情況下,您會因解壓縮紋理而浪費時間,并因再次存儲它們而浪費內存。這樣還可能對渲染性能產生非常不利的影響。

flash

格式 (format)

圖像格式 (image format)

rgb jpg 壓縮 (rgb jpg compressed)

采用 jpg 格式壓縮的 rgb 圖像數據

rgba jpg 壓縮 (rgba jpg compressed)

采用 jpg 格式壓縮的 rgba 圖像數據(即帶有 alpha)

rgrgb 24 位 (rgb 24-bit)

未壓縮 rgb 圖像數據,每個通道 8 位

rgba 32 位 (rgba 32-bit)

未壓縮 rgba 圖像數據,每個通道 8 位

詳細信息

支持的格式

unity 可以讀取以下文件格式:psd、tiff、jpg、tga、png、gif、bmp、iff、pict。應注意的是,unity 可以很好地導入多層 psd 和 tiff 文件。它們在導入時自動進行平展,但是各層會自己保持在資源中,因此在以本機方式使用這些文件類型時不會丟失任何工作。這十分重要,因為這使您可以只需創建一個紋理副本,可以從 photoshop 中使用該副本,通過 3d 建模應用程序用于 unity。

紋理大小

理想情況下,紋理大小應是二的冪。這些大小如下所示:2、4、8、16、32、64、128、256、512、1024、2048 等像素。紋理不必為方形,即寬度可以與高度不同。請注意,每個平臺可能具有最大紋理大小。

可以將其他(非二的冪 -“npot”)紋理大小用于 unity。非二的冪紋理大小通常占用的內存稍多一點,由 gpu 進行讀取的速度可能較慢,因此考慮到性能,最好盡可能使用二的冪大小。如果平臺或 gpu 不支持 npot 紋理大小,則 unity 會縮放紋理并將其填補為下一個二的冪大小,這甚至會使用更多內存并使加載更慢(實際上,這種情況總是發生在 flash 和一些較舊安卓 (android) 設備上)。一般而言,您只需將非二的冪大小用于圖形用戶界面。

可以使用導入設置的高級紋理類型中的非二的冪 (non power of 2)選項在導入時縮放非二的冪紋理資源。

uv 貼圖 (uv mapping)

將二維紋理貼圖到三維模型上時,會進行某種循環。這稱為uv 貼圖 (uv mapping),在三維建模應用程序中進行。在 unity 中,可以使用材質 (material)縮放并移動紋理。縮放法線貼圖 (normal map)和細節貼圖 (detail map) 尤其有用。

mip maps

mip map 是逐漸變小的圖像版本的列表,用于對實時三維引擎優化性能。遠離相機的對象使用較小的紋理版本。使用 mip map 時占用的內存會增加 33%,但是不使用它們可能會導致巨大的性能損失。對于游戲中紋理應始終使用 mipmap;唯一的例外情況是從不會變小的紋理(例如,圖形用戶界面紋理)。

法線貼圖 (normal map)

法線貼圖 (normal map) 由法線貼圖著色器 (normal map shader) 用于使低多邊形模型看似包含更多細節。unity 使用編碼為 rgb 圖像的法線貼圖 (normal map)。還可以選擇從灰度高度貼圖圖像生成法線貼圖 (normal map)。

細節貼圖 (detail map)

如果要創建地形,通常會使用主紋理顯示存在草地、巖石、沙等區域的位置。如果地形具有較大大小,則最后會非常模糊。[[howto-usedetailtexture|細節紋理 (detail texture)] 可通過在主紋理接近時淡入小細節來掩飾此情況。

繪制細節紋理時,中性灰色會不可見,白色使主紋理的亮度變為兩倍,而黑色使主紋理完全變黑。

反射(立方體貼圖 (cube map))

如果要將紋理用于反射貼圖(例如,使用反射 (reflective) 內置著色器),則需要使用立方體貼圖 (cubemap) 紋理。

各向異性過濾 (anisotropic filtering)

各向異性過濾 (anisotropic filtering) 可在從掠射角查看時提高紋理質量,不過需要產生一定渲染成本(該成本完全由顯卡承擔)。提高各向異性等級通常適用于地板和地面紋理。在質量設置 (quality settings)中,可以強制對所有紋理使用各向異性過濾 (anisotropic filtering),或是完全禁用。

地面紋理上未使用各向異性(左)/使用最大各向異性(右)

上一篇:拖尾渲染器下一篇:變換

相關閱讀

文章點評
相關文章
女校游泳队彩金