14 [CustomEditor(typeof(VolumeInformation))]
21 base.OnInspectorGUI();
23 if (GUILayout.Button(
"Bake"))
27 throw new ArgumentNullException();
30 var texPath = EditorUtility.SaveFilePanel(
"Save volume", Application.dataPath,
"volume",
"asset");
31 texPath = texPath.Replace(Application.dataPath,
"Assets");
33 AssetDatabase.DeleteAsset(texPath);
34 AssetDatabase.SaveAssets();
35 AssetDatabase.Refresh();
38 var bakedSliceData = VolumeImportImages.ConvertFolderToVolume(Application.dataPath + volInfo.ImageSourceFolder,
39 volInfo.InferAlpha, out size);
41 if (volInfo.AutoSizeOnBake)
49 AssetDatabase.CreateAsset(tex3D, texPath);
50 AssetDatabase.SaveAssets();
52 volInfo.BakedTexture = AssetDatabase.LoadAssetAtPath<Texture3D>(texPath);
54 Debug.Log(
"Baked volume to: " + texPath);
56 EditorUtility.SetDirty(volInfo);
static Texture3D BuildTexture(byte[] data, Int3 volumeSize, Int3 volumeSizePow2)
Helper functions for dealing with volume data