我想采取任何three.js几何,并将其现有的面分成更小的面。这基本上给了几何更高的“分辨率”。在three.js的例子中有一个细分修饰器工具,它对我所要做的事很好,但它最终会改变和变形几何体的原始形状。我想保留原来的形状。目前细分改性剂的行为方式应用three.js细分修改器而不更改外几何?
View the Subdivision Modifier Example
实施例:
的我喜欢它粗糙示例的行为:
细分修改器应用于这样的:
let originalGeometry = new THREE.BoxGeometry(1, 1, 1);
let subdivisionModifier = new THREE.SubdivisionModifier(3);
let subdividedGeometry = originalGeometry.clone();
subdivisionModifier.modify(subdividedGeometry);
我试图将source of the subdivision modifier周围挖,但我不知道如何修改它以获得期望的结果。
注意:细分应该可以应用于任何几何。我希望得到的结果的例子可能会使三维平面几何体具有增加的片段效果,但我需要将其应用于各种几何体。
在SubdivisionModifier代码中,它使用顶点和边权重定位新的细分顶点。我没有时间深入了解正在发生的事情,但如果您可以修改/替换定位逻辑以沿着原始边缘放置新顶点,那么您的几何图形应该保持其形状,同时仍然细分为更多面。 – TheJim01
@ TheJim01谢谢,我一直在修改这些值,我想我接近一个解决方案。如果我找到一个可靠的解决方案,会发布一个答案 – jackrugile