ฉันกำลังพยายามใช้เรขาคณิตของ three.js และแบ่งย่อยใบหน้าที่มีอยู่ออกเป็นใบหน้าที่เล็กลง สิ่งนี้จะทำให้เรขาคณิตมี "ความละเอียด" ที่สูงขึ้น มีเครื่องมือแก้ไขการแบ่งย่อยในตัวอย่างของ three.js ซึ่งใช้งานได้ดีกับสิ่งที่ฉันพยายามทำ แต่สุดท้ายกลับกลายเป็นการเปลี่ยนแปลงและปรับเปลี่ยนรูปร่างดั้งเดิมของเรขาคณิต ฉันอยากจะคงรูปทรงเดิมไว้
ตัวอย่างลักษณะการทำงานของตัวแก้ไขการแบ่งย่อยปัจจุบัน:
ตัวอย่างคร่าวๆ ว่าฉันต้องการให้มันทำงานอย่างไร:
ตัวแก้ไขการแบ่งย่อยถูกใช้ดังนี้:
let originalGeometry = new THREE.BoxGeometry(1, 1, 1);
let subdivisionModifier = new THREE.SubdivisionModifier(3);
let subdividedGeometry = originalGeometry.clone();
subdivisionModifier.modify(subdividedGeometry);
ฉันพยายามค้นหา แหล่งที่มาของตัวแก้ไขการแบ่งย่อย แต่ฉันไม่แน่ใจว่าจะแก้ไขอย่างไรเพื่อให้ได้ผลลัพธ์ที่ต้องการ
หมายเหตุ: ส่วนย่อยควรนำไปใช้กับเรขาคณิตใดๆ ได้ ตัวอย่างผลลัพธ์ที่ต้องการของฉันอาจทำให้ดูเหมือนว่า Three.js PlaneGeometry ที่มีส่วนที่เพิ่มขึ้นจะใช้งานได้ แต่ฉันต้องการให้นำไปใช้กับรูปทรงเรขาคณิตต่างๆ