Unity3D:立方體貼圖
推薦:將NSDT場景編輯器加入你的3D工具鏈
3D工具集:NSDT簡石數(shù)字孿生立方體貼圖
__立方體貼圖__是六個正方形紋理的集合, 這些紋理代表環(huán)境中的反射。六個正方形組成一個包圍著對象的虛構(gòu)立方體的各面; 每個面代表沿世界軸方向(向上、向下、向左、向右、 向前和向后)的視圖。
立方體貼圖常用于捕獲對象的反射或“周圍環(huán)境”;例如 天空盒和環(huán)境反射通常使用立方體貼圖。
立方體貼圖的天空盒和反射
從紋理創(chuàng)建立方體貼圖創(chuàng)建立方體貼圖的最快方法是從專門布局的紋理導(dǎo)入它們。 在 Project 窗口中選擇紋理,從而在 Inspector 窗口中查看 Import Settings。在 Import Settings 中,將 Texture Type 設(shè)置為 Default、Normal Map 或 Single Channel__,并將 Texture Shape__ 設(shè)置為 Cube。然后,Unity 自動將紋理設(shè)置為立方體貼圖。
立方體貼圖紋理導(dǎo)入類型
系統(tǒng)支持幾種常用的立方體貼圖布局(在大多數(shù)情況下,Unity 會自動檢測到它們)。
支持垂直和水平交叉布局以及立方體貼圖面的列和行:
另一種常見布局是 LatLong(緯度/經(jīng)度,有時稱為圓柱形)。全景圖像 常采用此布局:
還可以找到 SphereMap(球形環(huán)境貼圖)圖像:
默認(rèn)情況下,Unity 會查看導(dǎo)入紋理的寬高比以確定上述布局中最合適的 布局。導(dǎo)入時,會生成一個立方體貼圖,可將其用于天空盒和反射:
Glossy Reflection 選項可用于立方體貼圖紋理,而這些紋理將由 反射探針使用。該模式以特殊方式(鏡面卷積)處理 立方體貼圖 Mip 級別,然后可用于模擬不同平滑度表面的反射:
在變化平滑度表面上用于反射探針的立方體貼圖
舊版立方體貼圖資源Unity 還支持從六個單獨的紋理創(chuàng)建立方體貼圖。 從菜單中選擇 __Assets > Create > Legacy > Cubemap__, 然后將六個紋理拖入檢視面板中的空字段內(nèi)。
舊版立方體貼圖檢視面板
Right..Back 字段 | 相應(yīng)立方體貼圖面的紋理。 |
Face Size | 每個立方體貼圖面的寬度和高度(以像素為單位)。紋理將自動縮放以適應(yīng)此大小。 |
Mipmap | 是否應(yīng)該創(chuàng)建 Mipmap? |
Linear | 立方體貼圖是否應(yīng)該使用線性顏色? |
Readable | 立方體貼圖是否應(yīng)當(dāng)允許腳本訪問像素數(shù)據(jù)? |
請注意,最好使用立方體貼圖紋理導(dǎo)入類型來創(chuàng)建立方體貼圖(見上文), 這樣就可以壓縮立方體貼圖紋理數(shù)據(jù);可進(jìn)行邊緣修正和光澤反射卷積; 并支持 HDR 立方體貼圖。
其他技巧另一種有用的技巧是使用腳本從 Unity 場景的內(nèi)容生成立方體貼圖。 Camera.RenderToCubemap 函數(shù)可從場景中的 任何所需位置記錄六個面圖像;該函數(shù)的腳本參考頁面上的代碼示例 添加了一條菜單命令來簡化此任務(wù)。
*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權(quán)請聯(lián)系工作人員刪除。