【问题标题】:Smoothly interpolate two meshes in WebGL / three.js在 WebGL/three.js 中平滑地插入两个网格
【发布时间】:2016-09-15 00:18:58
【问题描述】:

是否可以在 Three.js 中像这样插入两个网格?在它们相交的区域应该有一个很好的平滑过渡。

我想我在哪里见过它,但我找不到它。

编辑

元球/立方体概念更接近我想要实现的目标: https://www.youtube.com/watch?v=f42zr__yW_Q http://threejs.org/examples/webgl_marchingcubes.html

【问题讨论】:

  • 我从未在three.js 中看到过圆角连接或补丁和缝合。在 extrudgeometry 类(参见 setBevelVec)和细分曲面示例中会发生某种圆角类型的工作:threejs.org/examples/webgl_modifier_subdivision.html 但这些都是边缘平滑。这可能是一个起点,但没有什么比圆角和通常需要人工干预的后续补丁更接近了。
  • 我正在寻找执行此操作的一般方法:threejs.org/examples/webgl_marchingcubes.html 可能比我想象的要复杂得多 :)
  • @pailhead 如何帮助我实现目标?
  • 不确定这是否可以实现。如果你想写像 Catia、Pro-engineer 之类的东西,那将是很多工作。
  • 链接的示例是着色器解决方案,而不是基于网格的。圆角是不同的。 Nurbs是要走的路。 Three.js 有 nurbs 和加权曲线折线。然而问题是圆角通常涉及修补。上面的例子很简单。如何将起始向量点投影到每个形状上?角度是多少,圆角有多少步?变形前的公差是多少?这些通常由用户在 3d 程序(例如 Rhino)中使用多步骤过程来解决。目前尚不清楚这里真正的问题空间是什么。赏金可能会有所帮助,但我对此表示怀疑。

标签: three.js webgl vertex-shader


【解决方案1】:

我找到了方法。它被称为光线行进距离场。

这是一个例子: https://www.shadertoy.com/view/4dsGRl

还有一个演示文稿: http://www.iquilezles.org/www/material/nvscene2008/rwwtt.pdf

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-09-25
    • 1970-01-01
    • 1970-01-01
    • 2014-04-02
    • 1970-01-01
    • 1970-01-01
    • 2012-07-21
    • 1970-01-01
    相关资源
    最近更新 更多