public sealed class ConstraintTagRecordOne constraint a clip carries, as a file holds it.
Remarks
⚠ One flat record with a kind discriminator, and the union of every kind's fields. A hierarchy would read better here and would make the inspector worse: the panel has to show only the fields the selected kind has, and it derives that from GoalKindSchema rather than from the shape of the type. One record means one binder path, one diff, one template merge and one place a new field is added.
Priority is a name, not the integer. A raw integer has no meaning across a project — two authors pick 70 and 700 for the same intent and the arbitration between their clips is an accident — so what is stored is a name from a declared PriorityLadder, and the integer is looked up at bake.
Fields and properties (31)
public string NameWhat an author calls it. Shown on the bar; means nothing to a solve.
public GoalKind KindWhat it asks for.
public GoalMode ModeWhether it says where to be, or how far to move.
public string EffectorThe joint it is about, by name.
public string ChainThe joint at the top of the chain it may move, by name.
public float BeginWhere in the clip it starts, in [0, 1].
public float EndWhere in the clip it ends, in [0, 1].
public float EaseInHow much of the clip it takes to fade in, as a fraction.
public float EaseOutHow much of the clip it takes to fade out, as a fraction.
public float MaxWeightThe most of it that ever applies.
public string PriorityWhich rung of the project's declared ladder, by name.
public string LabelWhat other systems know it as, for querying and suppression.
public byte LodMinThe nearest detail level it applies at.
public byte LodMaxThe furthest detail level it applies at.
public ConstraintFrameRecord GoalWhere the goal is.
public ConstraintFrameRecord? ReferenceWhat an additive offset was measured against, or .
public Vector3 OffsetWhere in the goal's frame the point is, for a position goal.
public Vector3 EffectorOffsetWhere on the effector the point being placed is.
public Vector3 RegionHalf-extents of the volume it may be anywhere inside.
public Vector3 PoleWhere the middle joint bends towards. Zero keeps the current bend.
public Quaternion RotationWhich rotation, for an orientation goal.
public float ToleranceHow far off it may be and still count, in radians.
public Vector3 AxisWhich way the joint faces in its own space, for an aim goal.
public Vector3 OriginWhere on the joint the aim starts.
public Quaternion DeviationHow far off the origin-to-frame vector the aim was authored.
public float AuthoredDistanceHow far away the thing being aimed at was when it was authored, in metres.
public string OtherThe other joint, for a distance goal.
public float MinThe closest they may be, in metres.
public float MaxThe furthest they may be, in metres.
public string TemplateThe template this tag came from, or empty if somebody placed it by hand.
public int TemplateVersionWhich version of that template, so a re-apply knows what it is upgrading from.
Methods (2)
public ConstraintTag? Bake(Skeleton skeleton, PriorityLadder? ladder = null)Resolves the tag into what a stack solves.
public static ConstraintTrack? Bake(IReadOnlyList<ConstraintTagRecord> records, Skeleton skeleton, PriorityLadder? ladder = null, ICollection<string>? unresolved = null)Resolves a whole track, skipping what this rig cannot carry.
Used by (22)
- AnimationClipContentVixen.Animation
- AuthoringTestsVixen.Animation.Tests
- ConstraintProposalVixen.Animation
- ConstraintProposalsVixen.Animation
- ConstraintTemplateContentVixen.Animation
- HarnessTestsVixen.Animation.Tests
- JointLimitTestsVixen.Animation.Tests
- TypeRegistrationVixen.Animation
- VariationHarnessVixen.Animation
- Vixen_Animation_AnimationClipContentSerializerVixen.Animation
- Vixen_Animation_Constraints_ConstraintTagRecordSerializerVixen.Animation
- Vixen_Animation_Constraints_ConstraintTemplateContentSerializerVixen.Animation
- AnimationClipAssetVixen.Editor.Assets
- AnimationClipDocumentVixen.Editor.AssetEditors
- AnimationClipImporterVixen.Editor.Assets
- AnimationClipViewVixen.Editor.AssetEditors
- AuthoringTestsVixen.Editor.AssetEditors.Tests
- ConstraintAuthoringImporterTestsVixen.Editor.Assets.Tests
- ConstraintFieldAccessVixen.Editor.AssetEditors
- ConstraintFieldAccessorVixen.Editor.AssetEditors
- ConstraintTemplateImporterVixen.Editor.Assets
- HarnessViewTestsVixen.Editor.AssetEditors.Tests