void GenerateModelAsset() { ColorBasedModelDefinition baseModel = BinaryToColorBasedModelDefinition(); if (baseModel.colors == null) { return; } ModelDefinition newModel = VoxelPlayFormatTools.GetModelDefinition(null, baseModel, importIgnoreOffset); if (!string.IsNullOrEmpty(baseModel.name)) { newModel.name = baseModel.name; } newModel.name = Path.GetFileNameWithoutExtension(importFilename); // Create a suitable file path string path = GetPathForNewModel(); string modelName = GetFilenameForNewModel(newModel.name); AssetDatabase.CreateAsset(newModel, path + "/" + modelName + ".asset"); if (shouldMakeColorToVoxMap) { var map = CreateColorToVoxDefMap(newModel); AssetDatabase.CreateAsset(map, path + "/" + modelName + ".CTVMAP.asset"); } AssetDatabase.SaveAssets(); EditorUtility.FocusProjectWindow(); Selection.activeObject = newModel; }
public static ColorBasedModelDefinition ImportBinary(Stream stream, Encoding encoding) { var br = new BinaryReader(stream, encoding); Vector3Int size; var data = FromMagica(br, out size); ColorBasedModelDefinition result = new ColorBasedModelDefinition(); result.sizeX = size.x; result.sizeY = size.y; result.sizeZ = size.z; Debug.Log("size: " + size.ToString() + " data len: " + data.Length); result.colors = data; VoxelPlayFormatTools.DBUGCheckNonAlphaZeroColors(result.colors); return(result); }