FilterDescendantsInstances: an array of objects that are filtered by the raycast via FilterType
FilterType: a RaycastFilterType Enum which is either Include or Exclude.
Include means only parts which are descendants of objects in the filter list will be considered in the raycast.
Exclude means every part in the raycast will be considered except those that are descendants of objects in the filter list.
Think of it as a blacklist or whitelist.
CollisionGroup: the name of the CollisionGroup that the raycast will use.
RespectCanCollide: If this is true, it will use a parts CanCollide value instead of its CanQuery value to determine which parts to include in the raycast.