threejs中没有child骨骼的情况下如何获取骨骼尾端的世界位置

How do you get the world position of the tail end of the bone without a child bone in threejs

如果我想得到骨骼头端的世界位置,那就是:

let worldpos_head_x = skinnedMesh.skeleton.bones[111].matrixWorld.elements[12]
let worldpos_head_y = skinnedMesh.skeleton.bones[111].matrixWorld.elements[13]
let worldpos_head_z = skinnedMesh.skeleton.bones[111].matrixWorld.elements[14]

为了得到这个骨骼的尾端,我可以只得到 child 的头部位置。 但是我如何获得没有任何 children.

的尾端的世界位置

骨骼位置由其与任何父级的空间关系定义。在考虑了旋转或 IK 的约束后,骨骼的位置仍然是一个坐标。如果骨骼与父骨骼分离,它仍然是一个坐标。遍历children数组直到长度为0即结束

对于您的观点,在 JavaScript 中您可以公开遍历和扩展对象原型...例如,使用 BVH 光线追踪来投影骨骼矢量。然后你可以看到:

let eyeGouge = fingerbone.raymarch(eyeMesh);