Example #1
0
                protected override void UpdateProperties()
                {
                    //Update transforms and animation data
                    int index = 0;

                    foreach (RenderData renderData in _renderedObjects)
                    {
                        IGPUAnimatorInstance animator = _instanceData[renderData._index]._animator;
                        _currentAnimationFrames[index]  = animator.GetCurrentAnimationFrame();
                        _currentAnimationWeights[index] = animator.GetCurrentAnimationWeight();
                        _previousAnimationFrames[index] = animator.GetPreviousAnimationFrame();

                        index++;
                    }

                    _propertyBlock.SetFloatArray("_currentAnimationFrame", _currentAnimationFrames);
                    _propertyBlock.SetFloatArray("_currentAnimationWeight", _currentAnimationWeights);
                    _propertyBlock.SetFloatArray("_previousAnimationFrame", _previousAnimationFrames);
                }
 public GPUAnimatorInstance(GameObject instance)
 {
     _gameObject = instance;
     _animator   = GameObjectUtils.GetComponent <IGPUAnimatorInstance>(instance, true);
 }