博客專欄

EEPW首頁 > 博客 > Unity3D:立方體貼圖

Unity3D:立方體貼圖

發(fā)布人:xyni2023 時間:2023-05-04 來源:工程師 發(fā)布文章

9a1da49922605a9dfd6c8254e4770854_5-2.png

推薦:將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è)置為 DefaultNormal Map 或 Single Channel__,并將 Texture Shape__ 設(shè)置為 Cube。然后,Unity 自動將紋理設(shè)置為立方體貼圖。

立方體貼圖紋理導(dǎo)入類型立方體貼圖紋理導(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)系工作人員刪除。



關(guān)鍵詞: 編輯器 數(shù)字孿生 3D

相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉