Ejemplo n.º 1
0
        public static ImporterContext Load(string path)
        {
            var context = new ImporterContext();

            context.Load(path);
            context.ShowMeshes();
            context.EnableUpdateWhenOffscreen();
            return(context);
        }
Ejemplo n.º 2
0
        async void LoadModelAsync(string path)
        {
            if (!File.Exists(path))
            {
                return;
            }

            Debug.LogFormat("{0}", path);
            var ext = Path.GetExtension(path).ToLower();

            switch (ext)
            {
            case ".vrm":
            {
                var file = File.ReadAllBytes(path);

                var parser = new GltfParser();
                parser.ParseGlb(file);

                using (var context = new VRMImporterContext(parser))
                {
                    await m_texts.UpdateMetaAsync(context);

                    await context.LoadAsync();

                    context.EnableUpdateWhenOffscreen();
                    context.ShowMeshes();
                    context.DisposeOnGameObjectDestroyed();
                    SetModel(context.Root);
                }
                break;
            }

            case ".glb":
            {
                var file   = File.ReadAllBytes(path);
                var parser = new GltfParser();
                parser.ParseGlb(file);

                var context = new UniGLTF.ImporterContext(parser);
                context.Load();
                context.EnableUpdateWhenOffscreen();
                context.ShowMeshes();
                context.DisposeOnGameObjectDestroyed();
                SetModel(context.Root);
                break;
            }

            case ".gltf":
            case ".zip":
            {
                var parser = new GltfParser();
                parser.ParsePath(path);

                var context = new UniGLTF.ImporterContext(parser);
                context.Load();
                context.EnableUpdateWhenOffscreen();
                context.ShowMeshes();
                context.DisposeOnGameObjectDestroyed();
                SetModel(context.Root);
                break;
            }

            default:
                Debug.LogWarningFormat("unknown file type: {0}", path);
                break;
            }
        }
Ejemplo n.º 3
0
        void LoadModel(string path)
        {
            if (!File.Exists(path))
            {
                return;
            }

            Debug.LogFormat("{0}", path);
            var ext = Path.GetExtension(path).ToLower();

            switch (ext)
            {
            case ".vrm":
            {
                var parser = new UniGLTF.GltfParser();
                parser.ParsePath(path);

                using (var loader = new RuntimeUnityBuilder(parser))
                {
                    loader.Load();
                    loader.ShowMeshes();
                    loader.EnableUpdateWhenOffscreen();
                    var destroyer = loader.DisposeOnGameObjectDestroyed();
                    SetModel(destroyer.gameObject);
                }
                break;
            }

            case ".glb":
            {
                var file   = File.ReadAllBytes(path);
                var parser = new GltfParser();
                parser.ParseGlb(file);

                using (var loader = new UniGLTF.ImporterContext(parser))
                {
                    loader.Load();
                    loader.ShowMeshes();
                    loader.EnableUpdateWhenOffscreen();
                    loader.ShowMeshes();
                    var destroyer = loader.DisposeOnGameObjectDestroyed();
                    SetModel(destroyer.gameObject);
                }
                break;
            }

            case ".gltf":
            case ".zip":
            {
                var parser = new GltfParser();
                parser.ParsePath(path);

                using (var loader = new UniGLTF.ImporterContext(parser))
                {
                    loader.Load();
                    loader.ShowMeshes();
                    loader.EnableUpdateWhenOffscreen();
                    loader.ShowMeshes();
                    var destroyer = loader.DisposeOnGameObjectDestroyed();
                    SetModel(destroyer.gameObject);
                }
                break;
            }

            default:
                Debug.LogWarningFormat("unknown file type: {0}", path);
                break;
            }
        }
Ejemplo n.º 4
0
 public static void Load(ImporterContext context)
 {
     context.Load();
     context.ShowMeshes();
     context.EnableUpdateWhenOffscreen();
 }
Ejemplo n.º 5
0
        void LoadModel(string path)
        {
            if (!File.Exists(path))
            {
                return;
            }

            Debug.LogFormat("{0}", path);
            var ext = Path.GetExtension(path).ToLower();

            switch (ext)
            {
            case ".vrm":
            {
                // var context = new ImporterContext();
                var file = File.ReadAllBytes(path);
                // context.ParseGlb(file);
                // context.Load();
                // context.ShowMeshes();
                // context.EnableUpdateWhenOffscreen();
                // context.ShowMeshes();

                var model = UniVRM10.VrmLoader.CreateVrmModel(file, new FileInfo(path));

                // UniVRM-0.XXのコンポーネントを構築する
                var assets = UniVRM10.RuntimeUnityBuilder.ToUnityAsset(model, showMesh: false);

                // showRenderer = false のときに後で表示する例
                foreach (var renderer in assets.Renderers)
                {
                    renderer.enabled = true;
                }

                UniVRM10.ComponentBuilder.Build10(model, assets);

                SetModel(assets.Root);
                break;
            }

            case ".glb":
            {
                var file   = File.ReadAllBytes(path);
                var parser = new GltfParser();
                parser.ParseGlb(file);

                var context = new UniGLTF.ImporterContext(parser);
                context.Load();
                context.ShowMeshes();
                context.EnableUpdateWhenOffscreen();
                context.ShowMeshes();
                SetModel(context.Root);
                break;
            }

            case ".gltf":
            case ".zip":
            {
                var parser = new GltfParser();
                parser.ParsePath(path);

                var context = new UniGLTF.ImporterContext(parser);
                context.Load();
                context.ShowMeshes();
                context.EnableUpdateWhenOffscreen();
                context.ShowMeshes();
                SetModel(context.Root);
                break;
            }

            default:
                Debug.LogWarningFormat("unknown file type: {0}", path);
                break;
            }
        }