OOGL.Animation.Bone.GetAnimationMatrix C# (CSharp) Method

GetAnimationMatrix() public method

public GetAnimationMatrix ( float time ) : Matrix4
time float
return Matrix4
		public Matrix4 GetAnimationMatrix(float time)
		{
			Matrix4 matrix = this.localTransformationMatrix;
			for (int i = 1; i < keyFrames.Length; i++)
			{
				if (keyFrames[i - 1].time < time && keyFrames[i].time >= time)
				{
					matrix = KeyFrame.Interpolate(this, ref keyFrames[i - 1], ref keyFrames[i], time);
					break;
				}
			}
			
			if (parent == null)
			{
				return matrix;
			}
			else
			{
				return matrix * parent.GetAnimationMatrix(time);
			}
		}