Struct JointData | Unity Physics | 0.4.1-preview
docs.unity3d.com
    Show / Hide Table of Contents

    Struct JointData

    Namespace: Unity.Physics
    Syntax
    [Obsolete("JointData is no longer used. Body frame, version, and constraint data are now all part of Joint. (RemovedAfter 2020-08-15)")]
    public struct JointData

    Fields

    Constraints

    Declaration
    public JointData.ConstraintsBlob Constraints
    Field Value
    Type Description
    JointData.ConstraintsBlob

    Properties

    AFromJoint

    Declaration
    public Math.MTransform AFromJoint { get; set; }
    Property Value
    Type Description
    Math.MTransform

    BFromJoint

    Declaration
    public Math.MTransform BFromJoint { get; set; }
    Property Value
    Type Description
    Math.MTransform

    Version

    Declaration
    public byte Version { get; }
    Property Value
    Type Description
    Byte

    Methods

    Create(BodyFrame, BodyFrame, NativeArray<Constraint>)

    Declaration
    public static BlobAssetReference<JointData> Create(BodyFrame bodyAFromJoint, BodyFrame bodyBFromJoint, NativeArray<Constraint> constraints)
    Parameters
    Type Name Description
    BodyFrame bodyAFromJoint
    BodyFrame bodyBFromJoint
    NativeArray<Constraint> constraints
    Returns
    Type Description
    BlobAssetReference<JointData>

    CreateBallAndSocket(float3, float3)

    Creates a joint constraining the point on body A to the point on body B, about which the bodies can freely rotate.

    Declaration
    public static BlobAssetReference<JointData> CreateBallAndSocket(float3 anchorA, float3 anchorB)
    Parameters
    Type Name Description
    Unity.Mathematics.float3 anchorA

    Specifies the anchor point in the space of body A.

    Unity.Mathematics.float3 anchorB

    Specifies the target point in the space of body B.

    Returns
    Type Description
    BlobAssetReference<JointData>

    CreateFixed(BodyFrame, BodyFrame)

    Creates a joint constraining the position and orientation on body A to the target position and orientation on body B.

    Declaration
    public static BlobAssetReference<JointData> CreateFixed(BodyFrame bodyAFromJoint, BodyFrame bodyBFromJoint)
    Parameters
    Type Name Description
    BodyFrame bodyAFromJoint

    Specifies a reference point and orientation in the space of body A.

    BodyFrame bodyBFromJoint

    Specifies a target point and orientation in the space of body B.

    Returns
    Type Description
    BlobAssetReference<JointData>

    CreateHinge(BodyFrame, BodyFrame)

    Creates a joint constraining an anchor point on body A to a target point on body B, where each body can rotate freely about the vector where their axes align. The perpendicular axes of each joint frame have no effect.

    Declaration
    public static BlobAssetReference<JointData> CreateHinge(BodyFrame bodyAFromJoint, BodyFrame bodyBFromJoint)
    Parameters
    Type Name Description
    BodyFrame bodyAFromJoint

    Specifies the anchor point and axis of rotation in the space of body A.

    BodyFrame bodyBFromJoint

    Specifies the target point and axis of alignment in the space of body B.

    Returns
    Type Description
    BlobAssetReference<JointData>

    CreateLimitedDistance(float3, float3, Math.FloatRange)

    Creates a joint constraining the point on body A to the point on body B within the specified permissible linear distance range.

    Declaration
    public static BlobAssetReference<JointData> CreateLimitedDistance(float3 anchorA, float3 anchorB, Math.FloatRange distanceRange)
    Parameters
    Type Name Description
    Unity.Mathematics.float3 anchorA

    Specifies the anchor point in the space of body A.

    Unity.Mathematics.float3 anchorB

    Specifies the target point in the space of body B.

    Math.FloatRange distanceRange

    The minimum required distance and maximum possible distance between the two anchor points.

    Returns
    Type Description
    BlobAssetReference<JointData>

    CreateLimitedHinge(BodyFrame, BodyFrame, Math.FloatRange)

    Creates a joint constraining an anchor point on body A to the target point on body B, where each body can rotate within a limited range about the vector where their axes align. The perpendicular axes of each joint frame are used as a reference point for the range of motion.

    Declaration
    public static BlobAssetReference<JointData> CreateLimitedHinge(BodyFrame bodyAFromJoint, BodyFrame bodyBFromJoint, Math.FloatRange angularRange)
    Parameters
    Type Name Description
    BodyFrame bodyAFromJoint

    Specifies the anchor point, axis of rotation, and rest orientation in the space of body A.

    BodyFrame bodyBFromJoint

    Specifies the target point, axis of alignment, and reference orientation in the space of body B.

    Math.FloatRange angularRange

    The minimum required and maximum possible angle of rotation about the aligned axes.

    Returns
    Type Description
    BlobAssetReference<JointData>

    CreatePrismatic(BodyFrame, BodyFrame, Math.FloatRange, Math.FloatRange)

    Creates a joint constraining an anchor on body A to a target point on body B, where the bodies can translate within a tube-shaped volume. The tube is oriented down the length of the vector where their axes align.

    Declaration
    public static BlobAssetReference<JointData> CreatePrismatic(BodyFrame bodyAFromJoint, BodyFrame bodyBFromJoint, Math.FloatRange distanceOnAxis, Math.FloatRange distanceFromAxis)
    Parameters
    Type Name Description
    BodyFrame bodyAFromJoint

    Specifies the anchor point and axis of rotation in the space of body A.

    BodyFrame bodyBFromJoint

    Specifies the target point and axis of alignment in the space of body B.

    Math.FloatRange distanceOnAxis

    The minimum required and maximum possible distance between the two anchor points along their aligned axes.

    Math.FloatRange distanceFromAxis

    The minimum required and maximum possible distance between the two anchor points along a radius of the cylinder within which they can move.

    Returns
    Type Description
    BlobAssetReference<JointData>

    CreateRagdoll(BodyFrame, BodyFrame, Single, Math.FloatRange, Math.FloatRange, out BlobAssetReference<JointData>, out BlobAssetReference<JointData>)

    Creates a pair of joints constraining an anchor point on body A to a target point on body B, with a complex angular range of motion suitable for multi-axial joints on characters. The primary axis of the joined bodies can rotate within a range of motion defined by the maximum cone angle, minus the intersection with a pair of cones along the perpendicular axis. The bodies may also twist about the primary axis within this range.

    Declaration
    public static void CreateRagdoll(BodyFrame bodyAFromJoint, BodyFrame bodyBFromJoint, float maxConeAngle, Math.FloatRange angularPlaneRange, Math.FloatRange angularTwistRange, out BlobAssetReference<JointData> jointData0, out BlobAssetReference<JointData> jointData1)
    Parameters
    Type Name Description
    BodyFrame bodyAFromJoint

    Specifies the anchor point, axis of rotation, and rest orientation in the space of body A.

    BodyFrame bodyBFromJoint

    Specifies the target point, axis of alignment, and reference orientation in the space of body B.

    Single maxConeAngle

    Half angle of the primary cone, which defines the maximum possible range of motion in which the primary axis is restricted.

    Math.FloatRange angularPlaneRange

    The range of angular motion defining the cones perpendicular to the primary cone, between which the primary axis may swing. This range may be asymmetrical.

    Math.FloatRange angularTwistRange

    The range of angular motion for twisting around the primary axis within the region defined by the primary and perpendicular cones. This range is usually symmetrical.

    BlobAssetReference<JointData> jointData0

    The first joint in the system.

    BlobAssetReference<JointData> jointData1

    The second joint in the system.

    Back to top
    Copyright © 2023 Unity Technologies — Terms of use
    • Legal
    • Privacy Policy
    • Cookies
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)
    "Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
    Generated by DocFX on 18 October 2023