Transforms the points using Linear Blend Skinning.
tfg.geometry.transformation.linear_blend_skinning.blend(
points: type_alias.TensorLike,
skinning_weights: type_alias.TensorLike,
bone_rotations: type_alias.TensorLike,
bone_translations: type_alias.TensorLike,
name: str = 'linear_blend_skinning_blend'
) -> tf.Tensor
Note |
In the following, A1 to An are optional batch dimensions, which must be
broadcast compatible and allow transforming full 3D shapes at once.
In the following, B1 to Bm are optional batch dimensions, which allow
transforming multiple poses at once.
|
Args |
points
|
A tensor of shape [A1, ..., An, 3] , where the last dimension
represents a 3d point.
|
skinning_weights
|
A tensor of shape [A1, ..., An, W] , where the last
dimension represents the skinning weights of each bone.
|
bone_rotations
|
A tensor of shape [B1, ..., Bm, W, 3, 3] , which represents
the 3d rotations applied to each bone.
|
bone_translations
|
A tensor of shape [B1, ..., Bm, W, 3] , which represents
the 3d translation vectors applied to each bone.
|
name
|
A name for this op that defaults to "linear_blend_skinning_blend".
|
Returns |
A tensor of shape [B1, ..., Bm, A1, ..., An, 3] , where the last dimension
represents a 3d point.
|
Raises |
ValueError
|
If the shape of the input tensors are not supported.
|