Example #1
0
        private static void ImportVci(UnityPath path)
        {
            if (!path.IsUnderAssetsFolder)
            {
                throw new Exception();
            }
            var importer = new VCIImporter();

            importer.ParseGlb(File.ReadAllBytes(path.FullPath));

            var prefabPath = path.Parent.Child(path.FileNameWithoutExtension + ".prefab");

            // save texture assets !
            importer.ExtranctImages(prefabPath);
            importer.ExtractAudio(prefabPath);
            importer.ExtractEffekseer(prefabPath);

            EditorApplication.delayCall += () =>
            {
                //
                // after textures imported
                //
                importer.Load();
                importer.SetupCorutine().CoroutinetoEnd();
                importer.SetupPhysics();
                importer.SetupAttachable();
                importer.SetupEffekseer();
                importer.SetupText();
                importer.SetupSpringBone();
                importer.SaveAsAsset(prefabPath);
                importer.EditorDestroyRoot();
            };
        }
        private static Material ExportThenImport(Material src)
        {
            //
            // export
            //
            var gltf     = new glTF();
            var exporter = new VCIExporter(gltf);

            exporter.Materials = new System.Collections.Generic.List <Material> {
                src
            };
            exporter.Export();
            var bytes = gltf.ToGlbBytes();

            //
            // importer
            //
            var importer = new VCIImporter();

            importer.ParseGlb(bytes);
            importer.Load();
            var dst = importer.GetMaterial(0);

            return(dst);
        }
Example #3
0
        private static Material ExportThenImport(Material src)
        {
            //
            // export
            //
            GameObject cube     = GameObject.CreatePrimitive(PrimitiveType.Cube);
            var        renderer = cube.GetComponent <Renderer>();

            renderer.sharedMaterial = src;
            var gltf     = new glTF();
            var exporter = new VCIExporter(gltf);

            exporter.Prepare(cube);
            exporter.Export();
            var bytes = gltf.ToGlbBytes();

            //
            // importer
            //
            var importer = new VCIImporter();

            importer.ParseGlb(bytes);
            importer.Load();
            var dst = importer.GetMaterial(0);

            return(dst);
        }
Example #4
0
        public static VCIImporter CreateForTest()
        {
            var root      = new GameObject("root");
            var vciObject = root.AddComponent <VCIObject>();
            var item      = new GameObject("item");

            item.AddComponent <VCISubItem>();
            item.transform.SetParent(root.transform);

            var importer = new VCIImporter()
            {
                Root      = root,
                VCIObject = vciObject,
            };

            return(importer);
        }
Example #5
0
        private IEnumerator Load(string path)
        {
            Debug.LogFormat("load: {0}", path);

            if (m_loaded != null)
            {
                m_loaded.Dispose();
            }

            var loader = new VCIImporter();

            loader.Parse(path);
            yield return(loader.LoadCoroutine());

            yield return(loader.SetupCoroutine());

            loader.ShowMeshes();

            m_loaded = loader;
        }