Skip to content

ContourRepeat3DSpec

StructTextStudio.ThreeDTextStudio.3D
public struct ContourRepeat3DSpec

Discrete geometry repeated at stable physical intervals around selected cap contours.

[Tooltip("Generate discrete repeated geometry around the selected cap contour.")]
public bool enabled

Returns

System.Boolean

[Tooltip("Built-in repeat geometry, or the first readable mesh found on a prefab or its children.")]
public ContourRepeat3DProvider provider

Returns

TextStudio.ThreeD.ContourRepeat3DProvider

[Tooltip("Cap surface or surfaces that receive the repeated geometry.")]
public ContourTube3DSurface surface

Returns

TextStudio.ThreeD.ContourTube3DSurface

[Tooltip("Primary direction used by each repeated attachment.")]
public TextStudio3DAttachmentOrientation orientation

Returns

TextStudio.ThreeD.TextStudio3DAttachmentOrientation

[Tooltip("Local Euler orientation relative to the face-normal frame when Orientation is Custom.")]
public Vector3 customEulerRotation

Returns

UnityEngine.Vector3

[Tooltip("Whether repeat quantity is resolved from physical spacing, an exact per-contour count, or instances per local unit.")]
public ContourRepeat3DDistribution distribution

Returns

TextStudio.ThreeD.ContourRepeat3DDistribution

[Tooltip("Physical target distance between repeat centers when Distribution is Spacing.")]
[Min(0)]
public float spacing

Returns

System.Single

[Tooltip("Requested instances on each contour when Distribution is Count. Max Per Contour remains the hard cap.")]
[Min(1)]
public int instanceCount

Returns

System.Int32

[Tooltip("Requested instances per local contour unit when Distribution is Density.")]
[Min(0)]
public float density

Returns

System.Single

[Tooltip("Offset within one resolved repeat interval. Zero starts at the contour seam; one wraps to the same placement.")]
[Range(0, 1)]
public float phase

Returns

System.Single

[Tooltip("Uniform preserves the resolved pattern, Avoid Sharp Corners removes instances near hard turns, and Sharp Corners Only places one instance on each hard turn.")]
public ContourRepeat3DCornerPolicy cornerPolicy

Returns

TextStudio.ThreeD.ContourRepeat3DCornerPolicy

[Tooltip("Physical clearance kept around sharp contour points when Corner Policy is Avoid Sharp Corners.")]
[Min(0)]
public float cornerClearance

Returns

System.Single

[Tooltip("Local repeat size along the resolved right, up, and forward axes.")]
public Vector3 size

Returns

UnityEngine.Vector3

[Tooltip("Hard per-contour cap on generated repeats, bounding geometry cost.")]
[Range(1, 256)]
public int maxInstancesPerLoop

Returns

System.Int32

[Tooltip("Also repeat around glyph counters such as the centers of O, A, and B.")]
public bool includeHoles

Returns

System.Boolean

[Tooltip("Signed clearance from the cap surface before the repeat height is applied.")]
public float surfaceOffset

Returns

System.Single

[Tooltip("Reduce or skip instances whose conservative contour footprint would overlap a neighbour.")]
public bool avoidOverlap

Returns

System.Boolean

[Tooltip("Additional physical clearance added to overlap avoidance.")]
[Min(0)]
public float avoidancePadding

Returns

System.Single

[Tooltip("Stable seed used by position, scale, and rotation variation. It has no effect while every variation amount is zero.")]
public int randomSeed

Returns

System.Int32

[Tooltip("Maximum signed fraction of one repeat interval used to jitter each position. Values stay below one half so instance order remains stable.")]
[Range(0, 0.49)]
public float positionVariation

Returns

System.Single

[Tooltip("Maximum signed proportional scale variation on the local right, up, and forward axes.")]
public Vector3 scaleVariation

Returns

UnityEngine.Vector3

[Tooltip("Maximum signed local Euler variation in degrees after the resolved attachment orientation.")]
public Vector3 rotationVariation

Returns

UnityEngine.Vector3

[Tooltip("Prefab whose first readable MeshFilter or Skinned Mesh Renderer supplies repeat geometry. Child objects are supported.")]
public GameObject prefab

Returns

UnityEngine.GameObject

public static ContourRepeat3DSpec Default { get; }

Returns

TextStudio.ThreeD.ContourRepeat3DSpec