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