SkeletonHelper constructor
SkeletonHelper(
- Object3D object
object
-- Usually an instance of SkinnedMesh
. However, any instance
of Object3D
can be used if it represents a hierarchy of Bone
s (via Object3D.children
).
Implementation
factory SkeletonHelper(Object3D object) {
final bones = getBoneList(object);
final geometry = BufferGeometry();
List<double> vertices = [];
List<double> colors = [];
final color1 = Color(0, 0, 1);
final color2 = Color(0, 1, 0);
for (int i = 0; i < bones.length; i++) {
final bone = bones[i];
if (bone.parent is Bone) {
vertices.addAll([0, 0, 0]);
vertices.addAll([0, 0, 0]);
colors.addAll([color1.red, color1.green, color1.blue]);
colors.addAll([color2.red, color2.green, color2.blue]);
}
}
geometry.setAttributeFromString('position',Float32BufferAttribute.fromList(vertices, 3, false));
geometry.setAttributeFromString('color',Float32BufferAttribute.fromList(colors, 3, false));
final material = LineBasicMaterial.fromMap({
"vertexColors": true,
"depthTest": false,
"depthWrite": false,
"toneMapped": false,
"transparent": true
});
final keletonHelper = SkeletonHelper.create(geometry, material);
keletonHelper.root = object;
keletonHelper.bones = bones;
keletonHelper.matrix = object.matrixWorld;
return keletonHelper;
}