From 3c48493d8c027fdfb1ef91370c1bbd56b8cd75ab Mon Sep 17 00:00:00 2001 From: Masataka SUMI Date: Tue, 5 Jul 2022 21:49:15 +0900 Subject: [PATCH] Add InitialTransformState at RuntimeGltfInstance --- Assets/UniGLTF/Runtime/UniGLTF/RuntimeGltfInstance.cs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Assets/UniGLTF/Runtime/UniGLTF/RuntimeGltfInstance.cs b/Assets/UniGLTF/Runtime/UniGLTF/RuntimeGltfInstance.cs index 49f7a2143..09e8de3fe 100644 --- a/Assets/UniGLTF/Runtime/UniGLTF/RuntimeGltfInstance.cs +++ b/Assets/UniGLTF/Runtime/UniGLTF/RuntimeGltfInstance.cs @@ -22,6 +22,11 @@ namespace UniGLTF /// public IReadOnlyList Nodes => _nodes; + /// + /// Transform states on load. + /// + public IReadOnlyDictionary InitialTransformStates => _initialTransformStates; + /// /// Runtime resources. /// ex. Material, Texture, AnimationClip, Mesh. @@ -73,6 +78,7 @@ namespace UniGLTF public IList VisibleRenderers => _visibleRenderers; private readonly List _nodes = new List(); + private readonly Dictionary _initialTransformStates = new Dictionary(); private readonly List<(SubAssetKey, UnityEngine.Object)> _resources = new List<(SubAssetKey, UnityEngine.Object)>(); private readonly List _materials = new List(); private readonly List _textures = new List(); @@ -92,6 +98,7 @@ namespace UniGLTF { // Maintain index order. loaded._nodes.Add(node); + loaded._initialTransformStates.Add(node, new TransformState(node)); } context.TransferOwnership((k, o) =>