Bone Info

class lwsdk.LWBoneInfo(*args)

Bases: object

Proxy of C++ PCore::LWBoneInfo class

 displacementMap(LWItemID bone) → (self, parent)

Returns self and parent with the bone displacement textures, if any.

 falloff(LWItemID bone) → int

Returns the falloff as an index into an options list. In general, the falloff function is the distance raised to the power -2type. A type of 0 is inverse distance, 1 is inverse distance squared, 2 is inverse distance to the fourth power, and so on.

 flags(LWItemID bone) → unsigned int

Returns a set of flag bits combined using bitwise-or. The flags are:

  lwsdk.LWBONEF_ACTIVE
    The bone is active.
  lwsdk.LWBONEF_LIMITED_RANGE
    The bone has a limited range.
  lwsdk.LWBONEF_SCALE_STRENGTH
    The strength of the bone is scaled by the rest length.
  lwsdk.LWBONEF_WEIGHT_MAP_ONLY
    Deformation will be based solely on the weight map.
  lwsdk.LWBONEF_WEIGHT_NORM
    The weight normalization option is turned on. The relative strength of each weight map value is scaled so that the total for all values is 1.0.
  lwsdk.LWBONEF_JOINT_COMP
  lwsdk.LWBONEF_JOINT_COMP_PAR
    Joint compensation is enabled for the bone. This can also account for the rotation of the bone's parent.
  lwsdk.LWBONEF_MUSCLE_FLEX
  lwsdk.LWBONEF_MUSCLE_FLEX_PAR
  Muscle flexing is enabled for the bone. Like joint compensation, this is a volume preserving adjustment to the deformation caused by the bone and can include the effect of the bone's parent.

 jointComp(LWItemID bone) → (self, parent)

Returns the joint compensation amount in self and parent.

 limits(LWItemID bone) → (inner, outer)

For limited range bones, this gets the inner and outer limit radii for the bone.

 muscleBulge(LWItemID bone) → (self, parent)

Returns self and parent muscle bulge amounts.

 muscleBulgeMap(LWItemID bone) → (self, parent)

Returns self and parent muscle bulge textures, if any.

 muscleFlex(LWItemID bone) → (self, parent)

Returns self and parent muscle flexing amounts.

 restLength(LWItemID bone) → double

Returns the rest length of bone.

 restParam(LWItemID bone, LWItemParam type) → value[3]

Gets vector parameters for the rest position of bone. Parameters of the animated bone can be read from the normal Item Info methods. See Item Info for the values that can be passed in the type argument.

 strength(LWItemID bone) → double

Returns the bone strength setting.

 transform(LWItemID bone, int transform, int relativeto) → (result, matrix[9], pos[3], end[3])

Obtains the transform or coordinate system of bone. These transforms are used to determine how the bone deforms the mesh. A transform consists of a matrix defining the coordinate system of the bone, the starting position of a bone, and the position where the bone terminates. The bone coordinate system can be different from the bone's item coordinate system. There are several coordinate systems that can be obtained:

  lwsdk.LWBONETRANS_REST
    The bone's rest coordinate system.
  lwsdk.LWBONETRANS_FINAL
    The bone's final coordinate system.

It is the change between rest and final that defines the deformation that a bone applies to a mesh. The coordinate system can be obtained relative to one of:

  lwsdk.LWBONETRANS_OBJECT
    Relative to the mesh object the bone is in.
  lwsdk.LWBONETRANS_PARENT
    Relative to the parent of the bone.
  lwsdk.LWBONETRANS_WORLD
    Relative to the world.

result will be 1 if the transform could be obtained, 0 otherwise.

 twist(LWItemID bone) → double

Returns the twist value for bone.

 type(LWItemID arg1) → int

Returns the type of bone. The type is one of:

lwsdk.LWBONETYPE_ZAXIS
lwsdk.LWBONETYPE_JOINT

 weightMap(LWItemID bone) → char

Returns the name of the weight map for bone. The weight map is a vertex map of type lwsdk.LWVMAP_WGHT. The Object Info and Scene Objects globals provide functions for reading the values in a vmap.

Previous topic

Object Info

Next topic

Light Info

This Page