【问题标题】:Using Skeleton without the skin in three.js在 Three.js 中使用不带皮肤的 Skeleton
【发布时间】:2016-03-04 17:35:50
【问题描述】:

我对 three.js 很陌生,所以如果我的问题已经在其他地方得到回答或者很明显,请原谅我。

我正在尝试执行以下操作:我有来自动作捕捉系统的数据。该数据由帧组成,其中每个帧都具有多个标记的笛卡尔坐标。我想在网络浏览器中使用 three.js 可视化这些数据。

到目前为止一切顺利。我最初的想法是简单地为每个标记使用几何图元并连接一些标记以创建一种 3D“火柴人”。但是,我发现three.js有一个概念叫Skeleton,它由一组Bones组成。这似乎正是我想要的。但是,我没有任何我想使用的“皮肤”(例如 SkinnedMesh)。

因此,我的问题有两个:1) 我是否应该使用 Skeleton 来实现我的意图,或者是前面描述的原始方法,以及 2) 如果我要使用 Skeleton 的东西,如何我是否可以在不使用任何皮肤的情况下将其呈现在场景中?

非常感谢这里的任何帮助!

【问题讨论】:

  • 您能概括一下您的动作捕捉系统生成的数据格式等吗?
  • 抱歉回复晚了。当然,数据本质上是一个二维数组。每个“行”(即第一个索引)对应一个时间范围。每列包含一个标量值,用于描述标记的一个坐标。每个标记有 3 个坐标,因此如果对 50 个标记采样 100 个时间步长,则数组将有 100 行和 50 * 3 = 150 列。

标签: javascript three.js


【解决方案1】:

回答我自己的问题:我发现的最简单的解决方案是简单地使用球体作为标记并将它们用线连接起来。这有一些缺点(例如,线条不随缩放级别缩放),但总的来说效果很好。

如果您有兴趣这样做,我已经整理了一个简单的demo,也可以在Github 上找到。

【讨论】:

    猜你喜欢
    • 2013-05-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多