2017-05-30 70 views
0

我目前正在爲Unity製作360度全景照片瀏覽器。所有Equirectangular圖片都加載到資源文件夾中。TextureImporter類是否在運行時工作?

我想知道是否可以使用TextureImporter類在運行時將2d紋理轉換爲Cubemap。

目前,我將2d紋理轉換爲Cubemaps。爲每個創建材料。並在主攝像機中添加的skybox組件下加載此材質。使用這種方法的缺點是apk大小超過250 MB。

如果我可以立即製作立方體貼圖,我可以節省一些空間。

請幫忙!

+0

你可以使用'資產bundles'避免大型應用程序 – Hristo

+0

我想打一個應用程序,它不會需要連接到互聯網。 但仍然感謝您的幫助,也許別人會覺得它有用:) –

回答

2

我想知道TextureImporter類是否可用於在運行時將2d 紋理轉換爲Cubemap。

不,它不能。

請參閱文檔TextureImporter。它是UnityEditor命名空間中的一個類。該名稱空間中的任何類或API都不能在構建中使用它僅供編輯器使用。 enter image description here


您可能能夠使用Cubemap類來創建一個立方體貼圖。您可以使用Texture2D.GetPixels();獲取紋理的像素,並使用Cubemap.SetPixels()將像素設置爲立方體貼圖。

例如:

public Cubemap c; 
private Color[] CubeMapColors; 
public Texture2D t; 
void Start() 
{ 
    CubeMapColors = t.GetPixels(); 
    c.SetPixels(CubeMapColors, CubemapFace.PositiveX); 
    c.Apply(); 
} 
+0

感謝您的幫助隊友:) 我現在就試試這個。 –