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); }