【问题标题】:How do you get the world position of the tail end of the bone without a child bone in threejs如何在threejs中获得没有子骨骼的骨骼尾端的世界位置
【发布时间】:2021-10-10 00:06:25
【问题描述】:

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

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]

为了得到这根骨头的尾部,我可以得到孩子的头部位置。 但是我如何获得没有任何孩子的尾端的世界位置。

【问题讨论】:

    标签: javascript node.js three.js 3d


    【解决方案1】:

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

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

    let eyeGouge = fingerbone.raymarch(eyeMesh);
    

    【讨论】:

      猜你喜欢
      • 2021-08-03
      • 2023-03-23
      • 2017-05-05
      • 2021-09-23
      • 1970-01-01
      • 2019-03-12
      • 2013-11-03
      • 2014-09-23
      • 1970-01-01
      相关资源
      最近更新 更多