VRTK_CustomRaycast
Overview
A Custom Raycast allows to specify custom options for a Physics.Raycast.
A number of other scripts can utilise a Custom Raycast to further customise the raycasts that the scripts use internally.
For example, the VRTK_BodyPhysics script can be set to ignore trigger colliders when casting to see if it should teleport up or down to the nearest floor.
Inspector Parameters
- Layers To Ignore: The layers to ignore when raycasting.
- Trigger Interaction: Determines whether the ray will interact with trigger colliders.
Class Methods
Raycast/6
public static bool Raycast(VRTK_CustomRaycast customCast, Ray ray, out RaycastHit hitData, LayerMask ignoreLayers, float length = Mathf.Infinity, QueryTriggerInteraction affectTriggers = QueryTriggerInteraction.UseGlobal)
- Parameters
VRTK_CustomRaycast customCast
- The optional object with customised cast parameters.Ray ray
- The Ray to cast with.out RaycastHit hitData
- The raycast hit data.LayerMask ignoreLayers
- A layermask of layers to ignore from the raycast.float length
- The maximum length of the raycast.QueryTriggerInteraction affectTriggers
- Determines the trigger interaction level of the cast.- Returns
bool
- Returns true if the raycast successfully collides with a valid object.
The Raycast method is used to generate a raycast either from the given CustomRaycast object or a default Physics.Raycast.
Linecast/6
public static bool Linecast(VRTK_CustomRaycast customCast, Vector3 startPosition, Vector3 endPosition, out RaycastHit hitData, LayerMask ignoreLayers, QueryTriggerInteraction affectTriggers = QueryTriggerInteraction.UseGlobal)
- Parameters
VRTK_CustomRaycast customCast
- The optional object with customised cast parameters.Vector3 startPosition
- The world position to start the linecast from.Vector3 endPosition
- The world position to end the linecast at.out RaycastHit hitData
- The linecast hit data.LayerMask ignoreLayers
- A layermask of layers to ignore from the linecast.QueryTriggerInteraction affectTriggers
- Determines the trigger interaction level of the cast.- Returns
bool
- Returns true if the linecast successfully collides with a valid object.
The Linecast method is used to generate a linecast either from the given CustomRaycast object or a default Physics.Linecast.
CapsuleCast/9
public static bool CapsuleCast(VRTK_CustomRaycast customCast, Vector3 point1, Vector3 point2, float radius, Vector3 direction, float maxDistance, out RaycastHit hitData, LayerMask ignoreLayers, QueryTriggerInteraction affectTriggers = QueryTriggerInteraction.UseGlobal)
- Parameters
VRTK_CustomRaycast customCast
- The optional object with customised cast parameters.Vector3 point1
- The center of the sphere at the start of the capsule.Vector3 point2
- The center of the sphere at the end of the capsule.float radius
- The radius of the capsule.Vector3 direction
- The direction into which to sweep the capsule.float maxDistance
- The max length of the sweep.out RaycastHit hitData
- The linecast hit data.LayerMask ignoreLayers
- A layermask of layers to ignore from the linecast.QueryTriggerInteraction affectTriggers
- Determines the trigger interaction level of the cast.- Returns
bool
- Returns true if the linecast successfully collides with a valid object.
The CapsuleCast method is used to generate a linecast either from the given CustomRaycast object or a default Physics.Linecast.
CustomRaycast/3
public virtual bool CustomRaycast(Ray ray, out RaycastHit hitData, float length = Mathf.Infinity)
- Parameters
Ray ray
- The Ray to cast with.out RaycastHit hitData
- The raycast hit data.float length
- The maximum length of the raycast.- Returns
bool
- Returns true if the raycast successfully collides with a valid object.
The CustomRaycast method is used to generate a raycast based on the options defined in the CustomRaycast object.
CustomLinecast/3
public virtual bool CustomLinecast(Vector3 startPosition, Vector3 endPosition, out RaycastHit hitData)
- Parameters
Vector3 startPosition
- The world position to start the linecast from.Vector3 endPosition
- The world position to end the linecast at.out RaycastHit hitData
- The linecast hit data.- Returns
bool
- Returns true if the line successfully collides with a valid object.
The CustomLinecast method is used to generate a linecast based on the options defined in the CustomRaycast object.
CustomCapsuleCast/6
public virtual bool CustomCapsuleCast(Vector3 point1, Vector3 point2, float radius, Vector3 direction, float maxDistance, out RaycastHit hitData)
- Parameters
Vector3 point1
- The center of the sphere at the start of the capsule.Vector3 point2
- The center of the sphere at the end of the capsule.float radius
- The radius of the capsule.Vector3 direction
- The direction into which to sweep the capsule.float maxDistance
- The max length of the sweep.out RaycastHit hitData
- The capsulecast hit data.- Returns
bool
- Returns true if the capsule successfully collides with a valid object.
The CustomCapsuleCast method is used to generate a capsulecast based on the options defined in the CustomRaycast object.
Updated less than a minute ago