Esempio n. 1
0
        void LateUpdate()
        {
#if ENABLE_ENTITIES
            if (entitiesEnabled)
            {
                return;
            }
#endif
            if (m_CurrentDeformSprite != sprite)
            {
                DeactivateSkinning();
                m_CurrentDeformSprite = sprite;
            }
            if (isValid)
            {
                var inputVertices = deformedVertices;
                var transformHash = SpriteSkinUtility.CalculateTransformHash(this);
                if (inputVertices.Length > 0 && m_TransformsHash != transformHash)
                {
                    SpriteSkinUtility.Deform(sprite, gameObject.transform.worldToLocalMatrix, boneTransforms, ref inputVertices);
                    SpriteSkinUtility.UpdateBounds(this);
                    InternalEngineBridge.SetDeformableBuffer(spriteRenderer, inputVertices);
                    m_TransformsHash      = transformHash;
                    m_CurrentDeformSprite = sprite;
                }
            }
        }
Esempio n. 2
0
 internal bool GetSpriteSkinBatchData(ref SpriteSkinBatchData data)
 {
     if (m_CurrentDeformSprite != sprite)
     {
         DeactivateSkinning();
         m_CurrentDeformSprite = sprite;
     }
     if (isValid)
     {
         Profiler.BeginSample("SpriteSkin.UpdateBounds");
         SpriteSkinUtility.UpdateBounds(this);
         Profiler.EndSample();
         data.sprite        = sprite;
         data.boneTransform = boneTransforms;
         Profiler.BeginSample("SpriteSkin.worldToLocalMatrix");
         data.worldToLocalMatrix = gameObject.transform.worldToLocalMatrix;
         Profiler.EndSample();
         return(true);
     }
     return(false);
 }