แพลตฟอร์มสร้างแบบจำลอง 3D บนเบราว์เซอร์ใหม่ที่เรียกว่า Geotoy กำลังได้รับความสนใจในชุมชนนักพัฒนาด้วยแนวทางที่เป็นเอกลักษณ์ในการสร้างแบบจำลอง 3D ที่ซับซ้อนผ่านโค้ด สร้างโดย Casey Primozic เครื่องมือฟรีและโอเพ่นซอร์สนี้ใช้ภาษาสคริปต์ที่กำหนดเองเรียกว่า Geoscript เพื่อสร้างวัตถุ 3D ที่ซับซ้อนแบบขั้นตอน
คุณสมบัติทางเทคนิค
- ภาษา: Geoscript (DSL แบบกำหนดเองที่มีไวยากรณ์คล้าย Rust)
- แพลตฟอร์ม: ใช้งานผ่านเบราว์เซอร์ พร้อมการเรนเดอร์แบบเรียลไทม์
- วัสดุ: การแมป Triplanar (ไม่จำเป็นต้องใช้พิกัด UV)
- ลิขสิทธิ์: ฟรีและโอเพนซอร์ส 100%
- ผู้สร้าง: Casey Primozic
แนวทางปฏิวัติในการสร้างแบบจำลอง 3D
Geotoy ใช้แนวทางที่แตกต่างโดยพื้นฐานเมื่อเปรียบเทียบกับซอฟต์แวร์สร้างแบบจำลอง 3D แบบดั้งเดิมหรือแม้แต่เครื่องมือที่ใช้ shader เช่น Shadertoy แทนที่จะจัดการ vertices ด้วยตนเองหรือคำนวณสีพิกเซล ผู้ใช้เขียนฟังก์ชันที่อธิบายรูปร่างและโครงสร้างโดยรวมของวัตถุ 3D วิธีการนี้พิสูจน์ให้เห็นว่ามีประสิทธิภาพมากขึ้นอย่างมีนัยสำคัญสำหรับงานสร้างแบบจำลองบางประเภท
ความแตกต่างด้านประสิทธิภาพนั้นโดดเด่นเมื่อเปรียบเทียบกับแนวทางการเรนเดอร์แบบพิกเซล ในขณะที่ Shadertoy ต้องการเรียกฟังก์ชันหลายแสนครั้งเพื่อเรนเดอร์ลูกบาศก์ง่ายๆ บนหน้าจอมาตรฐาน Geotoy สามารถทำผลลัพธ์เดียวกันได้ด้วยการเรียกฟังก์ชันเพียงหลายสิบครั้ง ประสิทธิภาพนี้เกิดจากการอธิบายรูปร่างแทนที่จะเป็นพิกเซลหรืออะตอมของภาพแต่ละตัว
การเปรียบเทียบประสิทธิภาพ: Geotoy เทียบกับ Shadertoy
- Geotoy (การอธิบายรูปร่าง): ใช้การเรียกใช้ฟังก์ชันประมาณ 36 ครั้งในการเรนเดอร์รูปทรงลูกบาศก์
- Shadertoy (แบบพิกเซล): ใช้การเรียกใช้ฟังก์ชันประมาณ 921,000 ครั้งสำหรับหน้าจอขนาด 1280x720
- การเพิ่มประสิทธิภาพ: ลดการเรียกใช้ฟังก์ชันลงกว่า 25,000 เท่าสำหรับเรขาคณิตพื้นฐาน
นวัตกรรมทางเทคนิคและการตอบสนองของชุมชน
แพลตฟอร์มแสดงความหลากหลายที่น่าประทับใจผ่านแกลเลอรี่ของผลงาน ตั้งแต่โครงสร้างทางคณิตศาสตร์เช่น Hilbert curves 3D และ torus knots ไปจนถึงรูปแบบอินทรีย์เช่นดอกแดนดิไลออนและรากไม้ ตัวอย่างขั้นสูงรวมถึงการสร้างภูมิประเทศแบบขั้นตอนโดยใช้ fractional Brownian motion (FBM) และโครงสร้างสถาปัตยกรรมที่ซับซ้อน
สมาชิกชุมชนกำลังเปรียบเทียบกับเครื่องมือที่มีอยู่แล้วในขณะที่สังเกตตำแหน่งที่เป็นเอกลักษณ์ของ Geotoy นักพัฒนาบางคนเห็นความคล้ายคลึงกับ Structure Synth ซึ่งเป็นเครื่องมือสร้างแบบจำลองแบบขั้นตอนในยุคก่อน แต่ชื่นชมความสามารถแบบเรียลไทม์และการเข้าถึงผ่านเบราว์เซอร์ของ Geotoy ไวยากรณ์มีความคล้ายคลึงกับภาษาโปรแกรมมิ่ง Rust ทำให้เข้าถึงได้สำหรับนักพัฒนาที่คุ้นเคยกับภาษาโปรแกรมมิ่งสมัยใหม่
ตัวอย่างใน Geotoy Gallery
- คณิตศาสตร์: เส้นโค้ง Hilbert 3 มิติ, ปมบนทอรัส, โดมิโนรูปซูเปอร์เอลลิปส์
- รูปแบบธรรมชาติ: ดอกแดนดิไลออน, ราก, สปริง, ต้นไม้ dark souls
- สถาปัตยกรรม: วิหาร, เตตระพอดคอนกรีต, เกาะลอยน้ำแบบขั้นบันได
- การสร้างแบบขั้นตอน: ภูมิประเทศ FBM, เขาวงกตสนิม, ทรงกลมผิวขรุขระ
- นามธรรม: นาฬิกาทรายนามธรรม, อุปกรณ์เชดเดอร์หรูหรา, ลวดลายถักทอ
การประยุกต์ใช้งานจริงและศักยภาพในอนาคต
เครื่องมือนี้ตอบสนองความสนใจที่เพิ่มขึ้นในการสร้างเนื้อหา 3D แบบขั้นตอน นักพัฒนาหลายคนในชุมชนกำลังทำงานในโครงการที่คล้ายคลึงกน โดยเฉพาะการมุ่งเน้นไปที่เทคนิค Signed Distance Field (SDF) meshing สำหรับการสร้างแบบจำลอง 3D ที่ใช้ JavaScript สิ่งนี้บ่งชี้ถึงแนวโน้มที่กว้างขึ้นไปสู่เครื่องมือสร้าง 3D ที่ใช้โค้ดซึ่งสามารถทำงานได้อย่างสมบูรณ์ในเว็บเบราว์เซอร์
การกำหนดวัสดุใน Geotoy ใช้ triplanar mapping ซึ่งขจัดความจำเป็นในการใช้เวิร์กโฟลว์ UV mapping แบบดั้งเดิม สิ่งนี้ทำให้กระบวนการสร้างเท็กซ์เจอร์ง่ายขึ้นในขณะที่ยังคงรักษาคุณภาพทางภาพในเรขาคณิตแบบขั้นตอนที่ซับซ้อน
แนวทางของแพลตฟอร์มในการสร้างแบบจำลอง 3D สะท้อนรูปแบบที่กว้างขึ้นที่พบในธรรมชาติ ซึ่งโครงสร้างที่ซับซ้อนเช่นหลอดเลือดและกิ่งไม้เกิดขึ้นจากกฎทางคณิตศาสตร์ที่ค่อนข้างง่าย การเชื่อมโยงระหว่างโค้ดและรูปแบบธรรมชาติเปิดความเป็นไปได้ในการสร้างเนื้อหา 3D ที่เป็นอินทรีย์และสมจริงมากขึ้นผ่านแนวทางอัลกอริทึม
Geotoy แสดงถึงก้าวสำคัญไปข้างหน้าในการทำให้การสร้างแบบจำลอง 3D ที่ซับซ้อนเข้าถึงได้ผ่านเว็บเบราว์เซอร์ โดยรวมพลังของการสร้างแบบขั้นตอนเข้ากับความสะดวกของเทคโนโลยีเว็บสมัยใหม่
อ้างอิง: geotoy