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;
        }
Пример #2
0
        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);
        }