Ejemplo n.º 1
0
        protected override IEnumerator OnLoadModel()
        {
            Root.name = "VRM";

            using (MeasureTime("VRM LoadMeta"))
            {
                LoadMeta();
            }
            yield return(null);

            using (MeasureTime("VRM LoadHumanoid"))
            {
                LoadHumanoid();
            }
            yield return(null);

            using (MeasureTime("VRM LoadBlendShapeMaster"))
            {
                LoadBlendShapeMaster();
            }
            yield return(null);

            using (MeasureTime("VRM LoadSecondary"))
            {
                VRMSpringUtility.LoadSecondary(Root.transform, Nodes,
                                               GLTF.extensions.VRM.secondaryAnimation);
            }
            yield return(null);

            using (MeasureTime("VRM LoadFirstPerson"))
            {
                LoadFirstPerson();
            }
        }
Ejemplo n.º 2
0
        protected override async Task OnLoadHierarchy(IAwaitCaller awaitCaller, Func <string, IDisposable> MeasureTime)
        {
            Root.name = "VRM";

            using (MeasureTime("VRM LoadMeta"))
            {
                await LoadMetaAsync();
            }
            await awaitCaller.NextFrame();

            using (MeasureTime("VRM LoadHumanoid"))
            {
                LoadHumanoid();
            }
            await awaitCaller.NextFrame();

            using (MeasureTime("VRM LoadBlendShapeMaster"))
            {
                LoadBlendShapeMaster();
            }
            await awaitCaller.NextFrame();

            using (MeasureTime("VRM LoadSecondary"))
            {
                VRMSpringUtility.LoadSecondary(Root.transform, Nodes,
                                               VRM.secondaryAnimation);
            }
            await awaitCaller.NextFrame();

            using (MeasureTime("VRM LoadFirstPerson"))
            {
                LoadFirstPerson();
            }
        }
Ejemplo n.º 3
0
        public static Unit OnLoadModel(VRMImporterContext context)
        {
            using (context.MeasureTime("VRM LoadMeta"))
            {
                LoadMeta(context);
            }

            using (context.MeasureTime("VRM LoadHumanoid"))
            {
                LoadHumanoid(context);
            }

            using (context.MeasureTime("VRM LoadBlendShapeMaster"))
            {
                LoadBlendShapeMaster(context);
            }
            using (context.MeasureTime("VRM LoadSecondary"))
            {
                VRMSpringUtility.LoadSecondary(context.Root.transform, context.Nodes,
                                               context.GLTF.extensions.VRM.secondaryAnimation);
            }
            using (context.MeasureTime("VRM LoadFirstPerson"))
            {
                LoadFirstPerson(context);
            }

            return(Unit.Default);
        }
Ejemplo n.º 4
0
        void OnLoadModel()
        {
            using (MeasureTime("VRM LoadMeta"))
            {
                LoadMeta();
            }

            using (MeasureTime("VRM LoadHumanoid"))
            {
                LoadHumanoid();
            }

            using (MeasureTime("VRM LoadBlendShapeMaster"))
            {
                LoadBlendShapeMaster();
            }
            using (MeasureTime("VRM LoadSecondary"))
            {
                VRMSpringUtility.LoadSecondary(Root.transform, Nodes,
                                               GLTF.extensions.VRM.secondaryAnimation);
            }
            using (MeasureTime("VRM LoadFirstPerson"))
            {
                LoadFirstPerson();
            }
        }
Ejemplo n.º 5
0
        public static void LoadSpringBoneFromJson()
        {
            var path = EditorUtility.OpenFilePanel(
                "Load spring from json",
                null,
                "json");

            if (string.IsNullOrEmpty(path))
            {
                return;
            }

            var json   = File.ReadAllText(path, Encoding.UTF8);
            var spring = JsonUtility.FromJson <glTF_VRM_SecondaryAnimation>(json);

            var go    = Selection.activeObject as GameObject;
            var root  = go.transform;
            var nodes = root.Traverse().Skip(1).ToList();

            VRMSpringUtility.LoadSecondary(root, nodes, spring);
        }
Ejemplo n.º 6
0
        public static Unit OnLoadModel(VRMImporterContext context)
        {
            LoadMeta(context);

            try
            {
                LoadHumanoidObsolete(context);
                Debug.LogWarning("LoadHumanoidObsolete");
            }
            catch (Exception)
            {
                LoadHumanoid(context);
            }

            LoadBlendShapeMaster(context);
            VRMSpringUtility.LoadSecondary(context.Root.transform, context.Nodes,
                                           context.VRM.extensions.VRM.secondaryAnimation);
            LoadFirstPerson(context);

            return(Unit.Default);
        }