2017-05-30 6 views
0

私は現在、Unity for Unityで360度の画像ビューアを作っています。すべての等角投影画像は、resourcesフォルダーにロードされます。TextureImporterクラスは実行時に機能しますか?

実行時にTextureImporterクラスを使用して2DテクスチャをCubemapに変換できるかどうかを知りたいと思います。

現在、2次元テクスチャをCubemapsに変換しています。その上にそれぞれの材料を作りました。メインカメラに追加されたskyboxコンポーネントの下にこの素材を読み込みます。このアプローチを使用することの欠点は、apkのサイズが250 MBを超えることです。

オンザフライでキューブマップを作成できれば、十分なスペースを節約できます。

助けてください!

+0

あなたは大規模なアプリケーション私は、インターネット接続を必要としないアプリを作りたい – Hristo

+0

を避けるために、 '資産bundles'を使用することができます。 まだ助けてくれてありがとう、おそらく他の人が役に立つと思うかもしれません:) –

答えて

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

友人を助けてくれてありがとう:) 私は今これを試します。 –

関連する問題