Table of Contents

Class LimbProfile

Namespace
S1MAPI.ProceduralMesh.Generators.Organic
Assembly
S1MAPI_Mono.dll

Defines the shape profile for an articulated limb (leg, arm, tail, etc.). Reference implementation for organic shapes with joints.

public class LimbProfile
Inheritance
LimbProfile
Inherited Members

Remarks

This is a reference implementation provided as an example. For custom organic shapes, inherit from OrganicShapeGenerator and implement your own generation logic.

Constructors

LimbProfile(Vector3[], float[], float[]?, int)

Create a custom limb profile

public LimbProfile(Vector3[] jointPositions, float[] jointRadii, float[]? forwardPush = null, int segments = 12)

Parameters

jointPositions Vector3[]
jointRadii float[]
forwardPush float[]
segments int

Properties

ForwardPush

Forward push amount at each joint (for knee/elbow bending)

public float[] ForwardPush { get; set; }

Property Value

float[]

JointPositions

Joint positions along the limb (from top to bottom)

public Vector3[] JointPositions { get; set; }

Property Value

Vector3[]

JointRadii

Radius at each joint

public float[] JointRadii { get; set; }

Property Value

float[]

Segments

Number of radial segments per ring (default 12)

public int Segments { get; set; }

Property Value

int

Methods

DefaultDogLeg(float, float)

Default dog leg profile with knee and ankle articulation

public static LimbProfile DefaultDogLeg(float height, float topRadius)

Parameters

height float
topRadius float

Returns

LimbProfile

SimpleCylinder(float, float)

Simple cylindrical limb (no articulation)

public static LimbProfile SimpleCylinder(float height, float radius)

Parameters

height float
radius float

Returns

LimbProfile

Tapered(float, float, float)

Tapered limb (wider at top, narrower at bottom)

public static LimbProfile Tapered(float height, float topRadius, float bottomRadius)

Parameters

height float
topRadius float
bottomRadius float

Returns

LimbProfile