public static bool SetCharacterTransforms( uint characterID, Matrix[] boneTransforms ) { var message = MessagePool.Get<MyRenderMessageSetCharacterTransforms>(MyRenderMessageEnum.SetCharacterTransforms); message.CharacterID = characterID; if (message.RelativeBoneTransforms == null || message.RelativeBoneTransforms.Length < boneTransforms.Length) { message.RelativeBoneTransforms = (Matrix[])boneTransforms.Clone(); } else { for (int i = 0; i < boneTransforms.Length; i++) { message.RelativeBoneTransforms[i] = boneTransforms[i]; } } EnqueueMessage(message); return false; }