【问题标题】:With three.js, how do I extrude a cylinder out of a SphereGeometry?使用three.js,如何从SphereGeometry 中挤出圆柱体?
【发布时间】:2015-10-07 02:01:18
【问题描述】:

我有一个 THREE.SphereGeometry。我想做的是让用户指向它的给定部分,投影一个圆,然后在用户输入时从球体中挤出一个圆柱体,其圆的半径和高度与用户输入的值成正比。我该怎么做?

【问题讨论】:

    标签: three.js


    【解决方案1】:

    如果您不介意有一些多余的三角形和看不见的对象交叉点,为什么不使用THREE.CylinderGeometry 向场景中添加一个新网格,并为它着色以匹配球体(比尝试修改球体几何体容易得多)?您可以将它相对于 Sphere 的原点放置,然后使用 sphere.add(cylinder) 而不是 scene.add(cyclinder),以便新的圆柱体网格始终相对于该球体保持放置。

    要处理“指向球体表面”部分的问题,请查看 THREE.js Raycaster 示例。使用光线投射器确定它们指向的位置,然后从那里开始绘制。

    【讨论】:

    • 问题在于人们想要“打”球而不是挤出;此外,整个东西的纹理可能看起来有点糟糕
    • 那么你还没有把问题定义得很清楚,嗯?在这种情况下,我建议绘制几何图形所需的基元和表示此类几何图形所需的基元并不完全相同。您应该从高层次考虑您需要的操作,然后在运行中进行细分。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-05-30
    • 1970-01-01
    • 2013-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-03
    相关资源
    最近更新 更多