Рубрики
Fragments "Unity-C#" Class "Texture3D"

Texture3D «Создание»

static public void Создать(){
//создание текстуры 3d с определёнными характеристиками
TEXTURE = new Texture3D(R * MAX, R * MAX, R * MAX, TextureFormat.RGB24, false);
TEXTURE.filterMode = FilterMode.Point;

//создание цветового массива для текстуры 3d
Color[] colors = new Color[MAX * R * MAX * R * MAX * R];

//наполнение путём прохода по ячейкам
for (byte z = 0; z < R; z++){
  int zOffset = z * MAX * R * MAX * R;
    for (byte y = 0; y < R; y++){
      int yOffset = y * MAX * R;
        for (byte x = 0; x < R; x++)
         colors[x + yOffset + zOffset] = Color.green;
}
}

//запись в текстуру
TEXTURE.SetPixels(colors);
TEXTURE.Apply();
Сохранить();
//return tex;
}
//сохранить текстуру в файл asset
static public void Сохранить()
{
var res = "Assets/Resources/";
var f = res + PATH + ".asset";
if (System.IO.File.Exists(f))
 AssetDatabase.SaveAssets();
else
 AssetDatabase.CreateAsset(TEXTURE, f);
}