API reference

AnchorPrefabSpawnerUtilities Class

A utility class for spawning prefabs at anchor points in the scene.

Static Methods

AlignPrefabPivot ( anchorVolumeBounds , prefabBounds , localScale , alignMode )
Aligns the pivot points of a prefab and of the anchors' volumebased on the specified alignment mode.
This method aligns the pivots of a prefab and of an anchor based on the specified alignment mode. The pivot calculations will impact where the prefab will be instantiated in the scene. If the alignment mode is Automatic or Bottom, it aligns the pivot at the bottom center of the prefab. If the alignment mode is Center, it aligns the pivot at the center of the prefab. If the alignment mode is Custom, it uses the provided custom alignment logic. It then scales the pivot point of the prefab and returns the pivot points of the prefab and the anchor.
Signature
static Vector3 AlignPrefabPivot(Bounds anchorVolumeBounds, Bounds? prefabBounds, Vector3 localScale, AnchorPrefabSpawner.AlignMode alignMode=AnchorPrefabSpawner.AlignMode.Automatic)
Parameters
anchorVolumeBounds: Bounds  The volume bounds of the anchor.
prefabBounds: Bounds?  The bounds of the prefab.
localScale: Vector3  The local scale of the prefab.
alignMode: AnchorPrefabSpawner.AlignMode  The alignment mode to use. See AnchorPrefabSpawner.AlignMode.
Returns
Vector3  The pivot points of the prefab and of the anchor's volume.
AlignPrefabPivot ( planeRect , prefabBounds , localScale , alignMode )
Aligns the pivots of a prefab and of the anchor's plane rect, based on the specified alignment mode.
This method aligns the pivots of a prefab and of an anchor based on the specified alignment mode. The pivot calculations will impact where the prefab will be instantiated in the scene. If the alignment mode is Automatic or Center, it aligns the pivot at the center of the prefab. If the alignment mode is Bottom, it aligns the pivot at the bottom of the prefab. If the alignment mode is Custom, it uses the provided custom alignment logic. It then scales the pivot point of the prefab and returns the pivot points of the prefab and the anchor plane rectangle.
Signature
static Vector3 AlignPrefabPivot(Rect planeRect, Bounds? prefabBounds, Vector2 localScale, AnchorPrefabSpawner.AlignMode alignMode=AnchorPrefabSpawner.AlignMode.Automatic)
Parameters
planeRect: Rect  The plane rectangle of the anchor.
prefabBounds: Bounds?  The bounds of the prefab.
localScale: Vector2  The local scale of the prefab.
alignMode: AnchorPrefabSpawner.AlignMode  The alignment mode to use. See AnchorPrefabSpawner.AlignMode.
Returns
Vector3  The pivot points of the prefab and the anchor plane rectangle.
GetPrefabWithClosestSizeToAnchor ( anchor , prefabList , sizeMatchingPrefab )
Selects a prefab from a list that has the closest size to the volume of an anchor.
This method selects a prefab from a list that has the closest size to the volume of an anchor. It first checks if the anchor has a volume. If not, it throws an exception. It then calculates the volume of the anchor and each prefab in the list. It selects the prefab with the smallest difference in size to the anchor's volume.
Signature
static bool GetPrefabWithClosestSizeToAnchor(MRUKAnchor anchor, List< GameObject > prefabList, out GameObject sizeMatchingPrefab)
Parameters
anchor: MRUKAnchor  The anchor to compare sizes with.
prefabList: List< GameObject >  The list of prefabs to select from.
sizeMatchingPrefab: out GameObject  The selected prefab with the closest size to the anchor's volume.
Returns
bool  True if a matching prefab is found, false otherwise.
GetTransformationMatrixMatchingAnchorPlaneRect ( anchorInfo , prefabBounds , scaling , alignment )
Calculates a transformation matrix that matches the plane rectangle of the anchor.
This method calculates and returns a transformation matrix for a prefab that matches the plane rect of an anchor, by determining the local scale and pose of the prefab based on the rect.
Signature
static Matrix4x4 GetTransformationMatrixMatchingAnchorPlaneRect(MRUKAnchor anchorInfo, Bounds? prefabBounds, AnchorPrefabSpawner.ScalingMode scaling=AnchorPrefabSpawner.ScalingMode.Stretch, AnchorPrefabSpawner.AlignMode alignment=AnchorPrefabSpawner.AlignMode.Automatic)
Parameters
anchorInfo: MRUKAnchor  Information about the anchor.
prefabBounds: Bounds?  The bounds of the prefab.
scaling: AnchorPrefabSpawner.ScalingMode  The scaling mode to use. See AnchorPrefabSpawner.ScalingMode.
alignment: AnchorPrefabSpawner.AlignMode  The alignment mode to use. See AnchorPrefabSpawner.AlignMode.
Returns
Matrix4x4  A transformation matrix that matches the plane rectangle of the anchor.
GetTransformationMatrixMatchingAnchorVolume ( anchorInfo , matchAspectRatio , calculateFacingDirection , prefabBounds , scalingMode , alignMode )
Calculates a transformation matrix that matches the volume of the anchor.
This method calculates the local scale and pose of a prefab based on the anchor's volume, and then combines these to return a transformation matrix.
Signature
static Matrix4x4 GetTransformationMatrixMatchingAnchorVolume(MRUKAnchor anchorInfo, bool matchAspectRatio, bool calculateFacingDirection, Bounds? prefabBounds, AnchorPrefabSpawner.ScalingMode scalingMode=AnchorPrefabSpawner.ScalingMode.Stretch, AnchorPrefabSpawner.AlignMode alignMode=AnchorPrefabSpawner.AlignMode.Automatic)
Parameters
anchorInfo: MRUKAnchor  The anchor of which volume has to be match.
matchAspectRatio: bool  Whether to match the aspect ratio of the anchor.
calculateFacingDirection: bool  Whether to calculate the facing direction of the anchor.
prefabBounds: Bounds?  The bounds of the prefab.
scalingMode: AnchorPrefabSpawner.ScalingMode  The scaling mode to use. See AnchorPrefabSpawner.ScalingMode.
alignMode: AnchorPrefabSpawner.AlignMode  The alignment mode to use. See AnchorPrefabSpawner.AlignMode.
Returns
Matrix4x4  A transformation matrix that matches the volume of the anchor.
ScalePrefab ( localScale , scalingMode )
Scales a prefab based on the specified scaling mode.
This method is used to scale a prefab when instantiating it as an anchor with a volume. If the scaling mode is UniformScaling, it scales the prefab uniformly based on the smallest axis. If the scaling mode is UniformXZScale, it scales the prefab uniformly on the X and Z axes. If the scaling mode is NoScaling, it returns a unit vector. If the scaling mode is Custom, it uses the provided custom scaling logic. If the scaling mode is Stretch, it returns the anchor's original local scale.
Signature
static Vector3 ScalePrefab(Vector3 localScale, AnchorPrefabSpawner.ScalingMode scalingMode=AnchorPrefabSpawner.ScalingMode.Stretch)
Parameters
localScale: Vector3  The local scale of the prefab.
scalingMode: AnchorPrefabSpawner.ScalingMode  The scaling mode to use. See AnchorPrefabSpawner.ScalingMode.
Returns
Vector3  The scaled local scale of the prefab.
ScalePrefab ( localScale , scalingMode )
Scales a prefab based on the specified scaling mode.
This method is used to scale a prefab when instantiating it as an anchor with a PlaneRect. If the scaling mode is Stretch, it returns the original local scale. If the scaling mode is UniformScaling or UniformXZScale, it scales the prefab uniformly. If the scaling mode is NoScaling, it returns a unit vector. If the scaling mode is Custom, it uses the provided custom scaling logic.
Signature
static Vector3 ScalePrefab(Vector2 localScale, AnchorPrefabSpawner.ScalingMode scalingMode=AnchorPrefabSpawner.ScalingMode.Stretch)
Parameters
localScale: Vector2  The local scale of the prefab.
scalingMode: AnchorPrefabSpawner.ScalingMode  The scaling mode to use. See AnchorPrefabSpawner.ScalingMode.
Returns
Vector3  The scaled local scale of the prefab.
SelectPrefab ( anchor , prefabSelectionMode , prefabs , random )
Selects a prefab based on the specified selection mode.
This method selects a prefab based on the specified selection mode. If the selection mode is Random, it selects a random prefab from the list. If the selection mode is ClosestSize, it selects the prefab with the closest size to the anchor. If the selection mode is Custom, it uses the provided custom selection logic.
Signature
static GameObject SelectPrefab(MRUKAnchor anchor, AnchorPrefabSpawner.SelectionMode prefabSelectionMode, List< GameObject > prefabs, System.Random random)
Parameters
anchor: MRUKAnchor  The anchor to use for selection.
prefabSelectionMode: AnchorPrefabSpawner.SelectionMode  The selection mode to use. See AnchorPrefabSpawner.SelectionMode.
prefabs: List< GameObject >  The list of prefabs to select from.
random: System.Random  The random generator used to generate the index of the prefab to be selected
Returns
GameObject  True if a prefab was selected, false otherwise.