public static void Multiply(ref RigidTransform a, ref RigidTransform b, out RigidTransform combined)
{
Vector3 intermediate;
Quaternion.Transform(ref a.Position, ref b.Orientation, out intermediate);
combined.Position = intermediate + b.Position;
Quaternion.Concatenate(ref a.Orientation, ref b.Orientation, out combined.Orientation);
}