createIKChains
Generate multiple inverse kinematics chains in 3D models using customizable parameters such as solver type, stretch limits, and influence strength for precise joint control.
Instructions
Create multiple IKChains
Input Schema
Name | Required | Description | Default |
---|---|---|---|
items | Yes | Array of IKChains to create |
Input Schema (JSON Schema)
{
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"items": {
"description": "Array of IKChains to create",
"items": {
"additionalProperties": false,
"properties": {
"enabled": {
"default": true,
"description": "Whether IK chain is enabled",
"type": "boolean"
},
"endId": {
"description": "End joint/bone ID",
"type": "string"
},
"influence": {
"default": 1,
"description": "Influence strength",
"maximum": 1,
"minimum": 0,
"type": "number"
},
"iterations": {
"default": 10,
"description": "Solver iteration count",
"exclusiveMinimum": 0,
"type": "integer"
},
"maintainRotation": {
"default": false,
"description": "Whether to maintain end effector rotation",
"type": "boolean"
},
"maxStretchRatio": {
"default": 1.5,
"description": "Maximum stretch ratio",
"minimum": 1,
"type": "number"
},
"metadata": {
"additionalProperties": {},
"description": "Additional tool-specific metadata",
"type": "object"
},
"name": {
"description": "Display name",
"type": "string"
},
"poleAngle": {
"default": 0,
"description": "Rotation around pole vector in degrees",
"type": "number"
},
"poleTargetId": {
"description": "Pole vector target ID (for orientating the chain)",
"type": "string"
},
"solverType": {
"default": "ccd",
"description": "IK solver algorithm",
"enum": [
"ccd",
"fabrik",
"analytic",
"spring"
],
"type": "string"
},
"startId": {
"description": "Start joint/bone ID",
"type": "string"
},
"stretchEnabled": {
"default": false,
"description": "Whether the chain can stretch beyond natural limits",
"type": "boolean"
},
"tolerance": {
"default": 0.001,
"description": "Solver distance tolerance",
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"name",
"startId",
"endId"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"items"
],
"type": "object"
}